inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

작업형2 모의문제3

roc_auc_score 질문: 작업형2 모의문제3 09분 48초

해결된 질문

29

HOJUN CHOI

작성한 질문수 5

0

python 머신러닝 빅데이터 pandas 빅데이터분석기사

답변 2

0

퇴근후딴짓

predict_proba()는 클래스를 오름차순(0, 1)으로 정렬해서 컬럼을 배치합니다.

- [:,0] → 클래스 0에 속할 확률 (심장마비 없음)

- [:,1] → 클래스 1에 속할 확률 (심장마비 있음)


타겟 변수가 0 = 정상, 1 = 심장마비로 인코딩되어 있다면, 클래스 1(심장마비 있음)에 해당하는 확률이 항상 [:,1]에 위치하게 됩니다.


roc_auc_score는 양성 클래스(1)에 속할 확률값을 기준으로 계산하기 때문에 [:,1]로 슬라이싱합니다. (확인하고 싶다면 model.classes_를 출력해보면 [0, 1] 순서로 배열된 것을 직접 확인할 수 있습니다.)


또한 실제 시험 제출 시에도 [:,1]로 슬라이싱한 1개 컬럼만 제출해야 합니다. 2개 컬럼을 그대로 제출하면 감점 또는 0점 처리될 수 있으니 반드시 주의하세요.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. HOJUN CHOI님.

질문하신 predict_proba 함수에서 pred_proba[:,1]를 통해 슬라이싱하는 이유에 대해 설명드리겠습니다. predict_proba 함수는 각 데이터 포인트에 대한 각 클래스의 확률을 반환하며, 출력된 결과물은 보통 (n_samples, n_classes)의 형태입니다. 여기서 n_classes는 이진 분류 문제라면 2가 됩니다.

  1. 양성 클래스의 확률을 선택: 이진 분류 문제에서, 흔히 두 번째 열에 있는 [:,1]이 양성 클래스에 대한 확률을 나타냅니다. 즉, 모델이 ‘1’(심장마비 확률 높음)로 예측할 확률이 담겨 있습니다. 따라서, roc_auc_score 같은 지표를 계산할 때는 우리가 관심 있는 양성 클래스의 확률 값을 사용합니다.

  2. 클래스의 순서 파악: predict_proba 함수로 얻은 결과의 첫 번째 열 [:,0]은 음성 클래스(‘0’ : 심장마비 확률 낮음), 두 번째 열 [:,1]는 양성 클래스의 값을 보통 의미합니다. 다만, 클래스의 순서는 sklearn의 학습된 모델 model.classes_ 속성을 통해 확인할 수 있습니다. 이를 통해 정확히 어떤 클래스가 어떤 확률과 매칭되는지 파악할 수 있습니다.

  3. 예시:

    model = DecisionTreeClassifier(random_state=2023)
    model.fit(X_tr, y_tr)
    pred_proba = model.predict_proba(X_val)
    roc_auc = roc_auc_score(y_val, pred_proba[:, 1])  # 양성 클래스에 대한 확률 사용
    
  4. 관련 유사 질문:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

캐글 제출 점수

0

8

1

기출 마무리 방법

0

24

1

빅이시 작업형2 기초 - 케이스 1~3 관련 문의

0

13

1

데이터프레임 슬라이싱 인덱싱 질문2

0

17

2

단일표본검정, 샤피로검정, 윌콕슨검정

0

26

2

강의자료 다운로드 여부

0

29

2

문제에 첨부된 예시와 실제 출력된 샘플 비교

0

23

2

원핫 인코딩 관련

0

32

2

타겟 분리

0

28

2

Id 삭제

0

32

2

원핫인코딩 코드 질문

0

28

2

map 함수 사용 필수적인가요

0

37

2

수강 기한 연장 문의드립니다.

0

43

2

34강 평가지표

0

35

2

103강 작업2형 전처리(레이블인코딩 부분) 오류

0

26

3

작업형1_section14 문의

0

23

2

작업형1_연습문제 7번 관련입니다.

0

27

2

데이터 프레임 슬라이싱 혹은 데이터 선택하기가 어렵습니다.

0

24

2

크로스 밸리데이션 질문

0

32

2

로지스틱 회귀분석 질문

0

30

2

수치형 데이터만 선택하여 푸는 경우에 오답확률이 높아질까요?

0

32

2

2유형 object 컬럼 인코딩 관련 질문

0

47

2

하이퍼파라미터 변수

0

38

2

52강 이원분산분석

0

33

2