인프런 커뮤니티 질문&답변

최지훈님의 프로필 이미지

작성한 질문수

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

작업형2 모의문제3

섹션 5 - 작업형2 모의문제 3 질문

해결된 질문

24.06.15 07:06 작성

·

86

·

수정됨

0

안녕하세요, 학습 중 질문이 있어 글 작성합니다.

코드를 정확하게 이해하고자 자세하게 여쭤보겠습니다.

1. 강의 9:20 경 코드

from sklearn.model_selection import train_test_split 

X_tr, X_val, y_tr, y_val = train_test_split(train.drop('output', axis=1), train['output'], test_size=0.15, random_state=2022)   
# 랜덤 포레스트
from sklearn.ensemble import RandomForestClassifier
rf = RandomForestClassifier()
rf.fit(X_tr, y_tr)
pred = rf.predict(X_val)

rf.fit에는 당연히 X, y의 train 데이터가 들어가야 하겠는데.

pred에 X_val이 들어가야 하는 이유는 무엇인가요?

 

2. 강의 22:10 경 코드

pred_proba = xgb.predict_proba(test)
pd.DataFrame({
    'id' : test_id,
    'output' : pred_proba[:, 1]}).to_csv('0000.csv', index=False)

roc_auc_score에서 pred가 아닌 pred_proba를 사용함은 이해를 했으며(output이 확률이니까),

pred_proba[:, 1] 에서 :1의 의미를 알고싶습니다.

답변주심에 미리감사드립니다!

 

답변 1

0

퇴근후딴짓님의 프로필 이미지
퇴근후딴짓
지식공유자

2024. 06. 15. 12:41

pred에 X_val이 들어가야 하는 이유는 무엇인가요?

  • train데이터를 학습용으로 온전히 모두 사용한 것이 아니라 검증데이터(val)를 분리했어요

  • 만든 모델을 X_val로 예측해보고자 함입니다. (y_val과 비교해서 예측 성능 파악)

     

pred_proba[:, 1] 에서 :1의 의미를 알고싶습니다.

print(pred_proba) 해보면

0 확률과 1확률로 나옵니다. 여기서 1확률을 선택했어요

  • 0확률: pred_proba[:, 0]

  • 1확률: pred_proba[:, 1]