머신러닝 학습중에 결과값이 다르게 나옴+ROC_AUC스코어 오류
0
안녕하세요! 머신러닝 학습 중에 DT,RF,XGBOOST 모두 선생님이 하신 것과 동일하게 코드 작성하고 실행했는데 모두 결과값이 다르게 나와서요. 제가 무언가를 잘못 한 걸까요??
이게 DT랑 RF는 결과값이 똑같이 나왔습니다.
from sklearn.ensemble import RandomForestClassifier
rf = RandomForestClassifier()
rf.fit(X_tr[cols], y_tr)
pred = rf.predict_proba(X_val[cols])
pred[:10]array([[1.],
[1.],
[1.],
[1.],
[1.],
[1.],
[1.],
[1.],
[1.],
[1.]])이게 XGB입니다.
from xgboost import XGBClassifier
xgb = XGBClassifier()
xgb.fit(X_tr[cols], y_tr)
pred = xgb.predict_proba(X_val[cols])
pred[:10]array([[9.999634e-01, 3.657642e-05],
[9.999634e-01, 3.657642e-05],
[9.999634e-01, 3.657642e-05],
[9.999634e-01, 3.657642e-05],
[9.999634e-01, 3.657642e-05],
[9.999634e-01, 3.657642e-05],
[9.999634e-01, 3.657642e-05],
[9.999634e-01, 3.657642e-05],
[9.999634e-01, 3.657642e-05],
[9.999634e-01, 3.657642e-05]], dtype=float32)그리고 이 예측데이터로 roc_auc 스코어를 뽑아내려고 하니 이런 오류가 뜨면서 안된다고 해서요. 무엇이 문제인지 궁금합니다ㅠㅠ
from sklearn.metrics import roc_auc_score
roc_auc_score(y_val,pred[:,1])/usr/local/lib/python3.10/dist-packages/sklearn/metrics/_ranking.py in _binary_roc_auc_score(y_true, y_score, sample_weight, max_fpr)
337 """Binary roc auc score."""
338 if len(np.unique(y_true)) != 2:
--> 339 raise ValueError(
340 "Only one class present in y_true. ROC AUC score "
341 "is not defined in that case."
ValueError: Only one class present in y_true. ROC AUC score is not defined in that case.
답변 1
0
안녕하세요:) 코드 전처리에서 어떻게 전처리 하고 데이터를 나누었는지 보여주실래요?
아마도 전처리가 잘못된 것 같아요
아래 에러는 클래스가 1개 밖에 없어서 나는 에러로 보입니다.
작업형 1 유형 부분
0
11
1
작업형 1 (삭제예정, 구 버전)
0
31
2
수강기간 연장 문의드립니다.
0
21
1
2유형 레이블 인코딩 VS 원핫 인코딩
0
24
3
수강기간 연장 문의드립니다.
0
26
1
인덱스 슬라이싱
0
27
2
질문 드립니다.
0
45
2
강의 내용 관련 질문드립니다~
0
43
2
수강 연장 문의
0
54
2
강의자료 일괄 다운로드
0
50
2
수강기간 연장 문의드립니다
0
40
2
list 문제 질문드립니다~
0
35
2
빅분기 실기 12회 재도전
0
53
2
강의 기간 연장 가능여부 검토 요청건
0
39
2
수강기간 연장 문의 드립니다
0
43
2
수강기간 연장 문의드립니다
0
50
2
질문이요
0
56
2
수강기간 연장 문의드립니다.
0
58
2
문제 3-2 질문드립니다
0
47
2
수강기간 연장 문의 드립니다.
0
61
2
변수, 칼럼 , df 구분
0
51
2
수강기간 연장 문의드립니다.
0
50
2
수강기간 연장 문의
0
49
2
수강기간 연장 문의드립니다.
0
42
2





