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

배고프님의 프로필 이미지

작성한 질문수

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

작업형2 모의문제3

[질문] 모델 학습 후 평가 시 오류

해결된 질문

24.06.05 20:43 작성

·

123

0

  • 위와 같은 오류가 나오는데 roc_auc는 평가가 되는데 accuracy는 평가 중에 오류가 나옵니다... 혹시 다음과 같은 오류는 문제점이 무엇인지 잘 모르겠습니다

답변 2

0

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

2024. 06. 05. 20:51

평가지표 강의를 다시 한번 살펴봐주세요 💪💪💪

분류에서는

roc_auc 만 predict_proba()로 예측

-> 예측값 2개임 0확률과, 1확률 임.

여기서 1확률을 선택한다면 pred[:,1]

나머지 평가지표는 predict로 예측

-> 예측값 1개임 pred 변수 그대로 사용

 

따라서 accuracy를 평가한다면

pred = model.predict(X_val)로 예측하고

accuracy_score(y_val, pred)로 평가 합니다.

0

인프런 AI 인턴님의 프로필 이미지

2024. 06. 05. 20:46

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

배고프님의 문제는 모델 평가 과정에서 accuracy_score 함수에 예측 확률 값을 전달했기 때문에 생긴 것으로 보입니다. 오류 메시지인 “Classification metrics can’t handle a mix of binary and continuous targets”는 평가 메트릭이 이진 타겟과 연속 타겟의 혼합을 처리할 수 없다는 것을 의미합니다. accuracy_score는 예측된 클래스 레이블을 요구하는데, 아마도 predict_proba 메서드로부터 반환된 확률 값을 사용한 것 같습니다.

정확도 평가를 위해서는 모델의 predict 메서드를 사용하여 예측된 클래스 레이블을 얻어야 합니다. predict_proba 메서드는 각 클래스에 대한 예측 확률을 반환하므로, 이를 직접 accuracy_score 같은 분류 메트릭에 사용할 경우 오류가 발생합니다.

지식공유자께서 제공한 유사한 상황이 포함된 질문에 대한 답변에서, 정확도를 계산할 때는 predict 함수의 결과를 사용해야 한다고 설명하고 있습니다. 예를 들어, 정확도 계산 시 predict_proba 대신 predict 메서드로부터 얻은 예측값을 사용해야 합니다. ROC_AUC 점수를 계산할 때만 predict_proba의 결과를 사용합니다.

비슷한 문제에 대한 공유자의 답변은 다음과 같습니다:
- 섹션 6 작업형 2 정확도 오류 원인 질문드립니다! Classification metrics can’t handle a mix of binary and continuous targets

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