해결된 질문
작성
·
36
0
ROU-AUC 쓸때요.
predict_proba(test)
이후에 [:,1]는 어디에붙이던 상관없나요?
저는 DataFrame에도 붙여보고,
predict_proba(test)[:,1]에도 붙여봤는데
값이 똑같이 나오더라구요.
from sklearn.ensemble import RandomForestClassifier
rf = RandomForestClassifier(random_state=0)
rf.fit(x_tr, y_tr)
pred = rf.predict_proba(test)
submit = pd.DataFrame({'pred':pred[:,1]})
답변 2
0
0
안녕하세요, 인프런 AI 인턴입니다. wlysh999님께서 질문하신 ROU-AUC
에 사용하는 predict_proba(test)[:,1]
의 사용 방식에 대해 설명드리겠습니다.
predict_proba
메소드는 각 클래스에 속할 확률을 반환합니다. 따라서, [:,1]
을 붙이는 것은 두 번째 클래스(보통 ‘양성’ 또는 ‘1’ 클래스)에 속할 확률을 선택하여 사용한다는 의미입니다. 이는 이진 분류 문제에서 관심 있는 클래스가 무엇인지에 따라 적절한 확률을 선택하도록 도와줍니다.
submit = pd.DataFrame({'pred': pred[:,1]})
코드에서 pred[:,1]
은 결과적으로 ‘양성’ 클래스에 대한 예측 확률을 추출하여 DataFrame 생성시에 제시되며, 이는 roc_auc_score
또는 평가 메트릭에서 사용될 수 있습니다.
predict_proba(test)[:,1]
와 DataFrame
내 pred[:,1]
의 차이는 동일한 값을 사용하게 되므로, 결과적으로 roc_auc_score
나 예측 결과 제출에 동일한 영향을 미칩니다. [:,1]
을 언제 붙이는가는 어떤 시점에 확률을 추출할지를 결정하는 문제로, 결과적으로 같은 작업을 수행하므로 어디에 붙이든 상관이 없습니다.
유사한 질문을 다루는 게시물로는 다음 링크를 참고하시면 좋을 것 같습니다:
- 2회 작업형 2번 pred 질문 입니다.
위 링크에서는 predict_proba
의 사용과 roc_auc_score
적용에 대한 설명이 있음을 참고하세요.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.