강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

Baek Kyun Shin님의 프로필 이미지
Baek Kyun Shin

작성한 질문수

[개정판] 파이썬 머신러닝 완벽 가이드

predict_proba 질문

작성

·

321

0

안녕하십니까. 주말을 맞아 동영상 강의와 책을 쭉쭉 공부하고 있어 질문이 많네요 ㅠ ㅠ 바쁘실텐데 죄송합니다

책 156쪽 아랫쪽에 다음과 같이 설명되어있습니다

predict()는 predict_proba() 호출결과로 반환된 배열에서 분류 결정 임계값보다 큰 값이 들어 있는 칼럼의 위치를 받아서 최종적으로 예측 클래스를 결정하는 API입니다

예측확률이 0.55, 0.45이고 결정임계값이 0.4라면 두 확률 모두 결정임계값보다 큽니다. 책의 설명대로라면 두 확률 모두 선택이 되어야 해서요. 

쉽게 이해하려면, 결정임계값에 상관없이 predict_proba()로 도출된 두 확률중 가장 큰 확률을 선택한다고 보면 되나요? 

감사합니다

답변 1

0

권 철민님의 프로필 이미지
권 철민
지식공유자

안녕하십니까,

predict_proba() 를 이용하여 결정 임계값 기반의 결정 클래스를 예측할 때에는 이진 분류에서 결정값 1의 확률만 가지고 결정을 합니다. 즉 predict_proba()[:, 1] 을 호출하면 결정값 1의 확률만 별도로 추출하므로 이렇게 추출된 결정값 확률이 결정 임계값 보다 크면 1로 예측하는 것입니다. 

Default 결정 임계값이 0.5 이기 때문에 별도의 결정 임계값을 설정하지 않으면 결정 클래스는 predict_proba()로 도출된 두 확률중 가장 큰 확률을 선택하는 것과 마찬가지 입니다.

결정 임계값을 설정하게 되면 158 페이지에 나와 있는 소스코드와 같이 predict_proba()[:, 1]이 결정 임계값 보다 크면 1로 예측합니다.

만일 predict_proba() 이고 예측확률이 0.55, 0.45이고 결정임계값이 0.4이면 0.45 > 0.4 이므로 결정값 0의 확률이 결정값 1의 확률보다 크지만 결정값 1로 예측을 합니다.

늘 질문 주셔서 감사드립니다.

Baek Kyun Shin님의 프로필 이미지
Baek Kyun Shin

작성한 질문수

질문하기