해결된 질문
작성
·
110
0
해당 오류가 뜨는 이유는 무엇일까요,,?
from sklearn.ensemble import RandomForestClassifier
rf = RandomForestClassifier(random_state=0)
rf.fit(X_tr,y_tr)
pred = rf.predict_proba(X_val)
from sklearn.metrics import roc_auc_score
print(pred)
print(roc_auc_score(y_val, pred[:,1]))
[array([[0. , 0. , 0. , ..., 0. , 0. , 0. ],
[0. , 0. , 0.01, ..., 0. , 0. , 0. ],
[0. , 0. , 0. , ..., 0. , 0. , 0. ],
...,
[0. , 0.01, 0. , ..., 0. , 0. , 0. ],
[0. , 0. , 0. , ..., 0.01, 0. , 0. ],
[0. , 0. , 0. , ..., 0. , 0. , 0. ]]), array([[0. , 1. ],
[0.5 , 0.5 ],
[0.71, 0.29],
...,
[0.03, 0.97],
[0.71, 0.29],
[0.19, 0.81]])]
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-41-e325cda04cf0> in <cell line: 3>()
1 from sklearn.metrics import roc_auc_score
2 print(pred)
----> 3 print(roc_auc_score(y_val, pred[:,1]))
TypeError: list indices must be integers or slices, not tuple
답변 1
0
어떤 데이터인가요? pred[:,1] 했는데도 2개씩 나온 것 봐서는 이진분류가 아닌 다중분류일 가능성이 있을 것 같네요
다중분류는 roc-auc로 나오진 않을거에요! 예측 컬럼이 1개라고 응시가이드에 출제되어 있습니다.