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 를 이용한 확률 예측에 대한 슬라이싱 이유와 방법을 다루고 있으니 추가적으로 이해하시는 데 도움이 되실 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
11회 기출 유형(작업형1) 2번 정답
0
7
1
f1 score 질문
0
6
1
10회 작업형 2 인코딩 질의
0
6
1
53번 강의에서 갑자기 수업노트가 없어졌습니다.
0
10
2
28:19 roc_auc이유
0
15
2
수강연장문의
0
15
2
전체적인 머신러닝 순서
0
10
1
빅분기 실기 유형2질문
0
15
1
ID 전처리 이유
0
28
2
데이터제공
0
23
2
예시문제 작업형3 꼬리질문2번
0
15
1
데이터 개수를 구할 때, len과 value_counts 차이
0
19
2
작업형 2 제출방
0
19
2
인코딩 스케일링 순서
0
20
2
실제 시험에서도 공식을 문제에서 주는지
0
20
2
수강 연장 문의
0
17
2
작업형2 정리한 내용 확인 부탁드립니다 ㅜㅜ
0
21
1
14강 "" 사용 관련 질문
0
22
2
캐글 제출 점수
0
26
2
기출 마무리 방법
0
50
2
빅이시 작업형2 기초 - 케이스 1~3 관련 문의
0
33
6
데이터프레임 슬라이싱 인덱싱 질문2
0
29
2
단일표본검정, 샤피로검정, 윌콕슨검정
0
38
2
강의자료 다운로드 여부
0
39
2





