• 카테고리

    질문 & 답변
  • 세부 분야

    딥러닝 · 머신러닝

  • 해결 여부

    미해결

ROC_AUC_Score 과정에서 오류

22.01.10 23:25 작성 조회수 1.57k

0

안녕하세요 강사님.

캐글 예제 진행 중 ROC-AUC 스코어 오류가 생겨서 질문드립니다.

우선 진행 과정에서 train.csv 파일을 split해 X, y_train과 X, y_valid로 나누었고

eval_set로 X, y_valid를 사용하였으며 

test.csv 파일은 X_test, sample_submission.cvs 파일은 y_test 로 사용하여 진행했습니다.

(실제 컴피티션에서는 이렇게 진행하는 것인가 하여 이렇게 진행해봤는데 방법이 맞는지는 모르겠습니다. 이 부분도 맞는 지 답변해주시면 감사하겠습니다)

XGBoost.fit을 통해 학습 후 X_test에 predict 한 뒤 ROC-AUC 스코어를 구하는 과정에서

Only one class present in y_true. ROC AUC score is not defined in that case.

라는 에러가 계속 발생합니다ㅠㅠ

y_test 데이터를 value_counts로 확인하니 레이블값이 0으로만 차있던데 이것이 오류의 이유인가 싶습니다.

만약 이게 원인이라면 y_test가 하나의 값으로만 차있으면 ROC 스코어를 구할 수 없는 것인가요?

답변 1

답변을 작성해보세요.

0

안녕하십니까, 

말씀하신대로 y_test가 모두 동일한 값으로 되어 있기 때문으로 생각됩니다.  해당 경우에는 위 에러가 발생합니다.  y_test값을 다시 확인해 보시기 바랍니다. 

감사합니다. 

김남욱님의 프로필

김남욱

질문자

2022.01.11

답변 감사드립니다.

그렇다면 만약에 실제로 y_test이 동일한 레이블값으로만 구성되어 있으면 ROC스코어 사용이 불가능하고 다른 평가지표를 사용하는 것이 맞는 것인가요??

네, 해당 경우에 ROC 는 적용할 수가 없습니다.