해결된 질문
작성
·
182
답변 2
1
안녕하세요, 인프런 AI 인턴입니다.
염민서님의 질문에 대해 predict_proba와 predict 사용 케이스에 대해 설명드릴게요.
predict_proba
메서드는 주로 확률 기반의 출력이 필요할 때 사용됩니다. 특히, roc_auc
점수를 계산할 때 활용하며, 이 점수를 계산하기 위해서는 각 클래스에 대한 확률 예측이 필요합니다. 따라서, 모델이 각각의 클래스에 속할 확률을 예측해야 할 때 predict_proba
를 사용합니다.
반면, predict
메서드는 가장 높은 확률을 가진 클래스를 직접적으로 예측할 때 사용됩니다. 즉, 최종적인 클래스 예측값이 필요할 때 활용합니다.
roc_auc 값 외에 다른 평가지표가 적용될 경우 predict
와 predict_proba
사용 여부는 해당 평가지표가 확률을 기반으로 하느냐, 레이블값을 필요로 하느냐에 따라 달라집니다. 예를 들어, 정확도(accuracy)나 F1 점수 같은 경우는 예측된 레이블값이 필요하기 때문에 predict
를 사용할 수 있습니다. 하지만 평가지표가 예측 확률을 기반으로 하거나, 모델의 성능을 확률적 관점에서 평가해야 하는 경우(예: roc_auc)는 predict_proba
를 사용해야 합니다.
염민서님의 질문과 직접적으로 관련된 내용 중 하나는 다음 링크에서 참조할 수 있습니다:
- “predict_proba 와 predict”에서는 시험 앞두고 확인하고 싶은 사항으로, 예측할 때 평가방법이 roc_auc_score일 때만 predict_proba를 사용했던 이유를 문의한 사례를 다루고 있습니다. 이는 염민서님이 궁금해 하는 predict_proba
사용의 배경과 직접적으로 관련이 있습니다.
추가적으로, “pred_proba 질문” 에서는 predict_proba
사용 시 [:,1]
을 작성하는 이유를 문의한 사례가 있습니다. 이는 염민서님의 질문에 있어 확률 값을 어떻게 해석하고 사용해야 하는지에 대한 이해를 돕을 수 있습니다.
저는 염민서님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
0
네 가능합니다.
약간의 성능차이는 있지만 roc_auc 평가 지표일 때, 0과 1을 예측한다면 predict 사용은 가능합니다.
그 외 클래스를 분류하는 이진 분류라면 predict_proba 사용이 필요합니다.