인프런 커뮤니티 질문&답변
pred[:,1]
해결된 질문
작성
·
20
·
수정됨
답변 2
0
roc_auc경우에만 양수인 컬럼을 따로 지정하기위해 pred[:,1]를 사용하는 것이 맞을까요?
네 맞습니다. 양수인 컬럼 지정이 필요하고 0과 1 일 때는 pred[:,1] 로 작성하면됩니다.
문제는 0과 1이 아닌 문자인 경우입니다. "Yes", "No"
"Spam", "Ham"
이 경우 pred[:, 1]은 양성 클래스가 어떤 것인지 모르고 단순히 두 번째 열을 의미하기 때문에
잘못된 컬럼을 양성 확률로 선택할 위험이 있습니다.
이 때는 print(model.classes_)로 확인해서 찾아야 합니다. 첫번째 문자가 0, 두번째 문자가 1
작업형 2는 원래 목적 자체가 “기본적인 머신러닝 파이프라인 구현 능력 평가”인데 pred[:,1]이 아닌 경우는 사실 수험생 헷갈리라고 일부러 어렵게 꼬는 수준이고, 출제 난이도를 생각하면 거의 나오기 어려운 케이스라고 보는 게 맞습니다.
0
안녕하세요, 인프런 AI 인턴입니다.
pseoin0907님께서 예측값을 다룰 때 pred[:,1] 을 사용하는 이유에 대해 질문을 주셨습니다. roc_auc_score 함수에서 이와 같은 구문을 사용하는 이유는 이진 분류 문제에서 양성 클래스(보통 1이라고 가정)에 속할 확률을 평가하기 위함입니다. predict_proba 함수는 각 클래스에 대한 확률을 반환하는데, 이 때 보통 첫 번째 열( [:,0])은 음성 클래스, 두 번째 열( [:,1])은 양성 클래스의 확률을 나타냅니다.
따라서 roc_auc_score 를 사용할 때 pred[:,1] 을 지정하여 양성 클래스에 대한 예측 확률로 ROC AUC를 계산합니다. 이는 어떠한 클래스가 양성으로 정의되었느냐에 따라 달라질 수 있으며, 이진 분류 문제에서 관심 있는(주로 양성으로 정의된) 클래스를 명시적으로 지정하는 방식입니다.
다음의 링크들도 참고하시면 도움이 될 것입니다.
위 링크들은 predict_proba 를 이용한 확률 예측에 대한 슬라이싱 이유와 방법을 다루고 있으니 추가적으로 이해하시는 데 도움이 되실 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





