pred[:,1]
작업형 2에서 pred를 그냥 쓰는게 아니라 pred[:,1]를 쓸때 이해가 안가서 그냥 이대로 암기했었습니다.
이걸 쓰는 이유를 정확히 알고 싶은데
roc_auc는 양수의 확률 값을 예측한걸 평가하는 것이고,
나머지 분류지표는 0또는 1을 예측한걸 평가하는 지표이기 때문에
roc_auc경우에만 양수인 컬럼을 따로 지정하기위해 pred[:,1]를 사용하는 것이 맞을까요?
그렇다면 roc_auc일때만 pred[:,1]이렇게 따로 지정해주면 될까요?
답변 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 를 이용한 확률 예측에 대한 슬라이싱 이유와 방법을 다루고 있으니 추가적으로 이해하시는 데 도움이 되실 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
최빈값
0
7
1
수강 가이드라인
0
10
1
수강 연장 가능 여부 문의
0
30
2
강의 구매했는데 교재 필수일까요
0
23
2
수강기간 연장 가부 문의드립니다.
0
21
2
수강기간 연장이 가능한지 양해를 구하며 문의를 드립니다.
0
27
2
작업형2 모의문제2에서 drop이랑 인코딩
0
34
2
인코딩을 다 꼭 해봐야하는지
0
43
2
안녕하세요? 강사님 질문있습니다.(인코딩관련)
0
58
2
이진분류에서 양성 클래스가 0일 때 평가 방법
0
46
2
원핫인코딩 전 train과 test 병합여부
0
50
2
수강기간 연장
0
69
2
29강 작업2형의 이상치 처리
0
66
2
수강기간 연장 문의드립니다!
0
65
2
9월에 실기출제기준 개정내역에 신설된부분
0
56
1
작업형2 모의문제2 결과값 관련 문의드립니다.
0
67
2
12회차 시험 실패 후 13회 도전 예정입니다.
0
57
1
random_state 값
0
73
2
강의 연장 문의 드립니다.
0
68
2
강의 연장 문의
0
61
2
오징어게임
0
71
1
object 컬럼이 여러 개인 경우 인코딩 전처리 방법
1
50
2
데이터 전처리 순서 관련
0
65
2
작업형2 모의문제 데이터 불러오기
0
65
2





