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

juhyun991002님의 프로필 이미지
juhyun991002

작성한 질문수

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

pred_proba[:,1] 오류

해결된 질문

작성

·

32

·

수정됨

0

from sklearn.ensemble import RandomForestClassifier

model = RandomForestClassifier(random_state = 0, max_depth = 3, n_estimators = 200)
model.fit(X_tr, y_tr)
pred_proba = model.predict_proba(X_val)

from sklearn.metrics import roc_auc_score

print(pred_proba)

print(roc_auc_score(y_val, pred_proba[:, 1]))

안녕하세요,

모델학습 후 검증하려고 하니 print(roc_auc_score(y_val, pred_proba[:, 1]))에서 아래와 같은 오류가 발생합니다.

list indices must be integers or slices, not tuple

 

혹시 pred_proba의 형태에 문제가 있어서 그러나 출력해봤더니 아래처럼 array가 2개가 뜨는데 원래 출력되던 값이랑 다른 것 같기도 한데 어떤 부분이 잘못된걸까요..?

[array([[6.17771951e-04, 3.90720727e-04, 5.61044129e-04, ..., 1.88014875e-05, 2.71602426e-05, 9.26113606e-05], [4.72241735e-04, 7.55194719e-04, 3.70085375e-04, ..., 7.58005053e-06, 2.24283166e-05, 3.95537961e-05], [2.06135825e-05, 1.04454196e-05, 1.96540881e-06, ..., 2.93436306e-05, 1.84382330e-05, 6.98070487e-05], ..., [2.26718012e-05, 2.39307053e-05, 1.96540881e-06, ..., 3.02043842e-05, 1.54553261e-05, 6.62548451e-05], [1.51536674e-05, 2.15648698e-05, 2.06815630e-06, ..., 4.15875993e-05, 3.06270026e-05, 3.26545900e-05], [2.84102759e-05, 1.47138847e-05, 6.29396294e-06, ..., 3.17093190e-05, 1.71020727e-05, 4.92247989e-05]]), array([[0.05156594, 0.94843406], [0.0402204 , 0.9597796 ], [0.54197093, 0.45802907], ..., [0.53420482, 0.46579518], [0.5344612 , 0.4655388 ], [0.53436829, 0.46563171]])]

 

 

@ 위 문제를 기존에는 y_train의 'ID' 값을 drop하지 않았다가, y_train의 'ID' 값을 drop하니

해결되었는데 그것과 관련이 있는 것일까요?

그리고, 'ID'값을 제거하려고 할 때에는 X_train, y_train, X_test 세 데이터 프레임 모두의 'ID'값을 반드시 제거해야 하는 것인가요?

답변 1

0

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

어떤 데이터일까요?

결론부터 말씀드리면 예측결과가 0과 1 확률이 아니라

여러 개의 확률로 보여집니다. 이진 분류가 아닌 다중 분류로 보여지는데 맞을까요?

다중분류라면 roc_auc_score 평가 지표가 출제될 가능성이 매우 낮습니다. (난이도가 올라갑니다.)

 

강의 영상 제목(번호) 또는 어떤 데이터 셋을 사용했는지 알려주시면 파악이 쉬울 것 같습니다.

juhyun991002님의 프로필 이미지
juhyun991002
질문자

안녕하세요~

 

섹션12의 작업형 2에 대한 코드이며, https://www.kaggle.com/prachi13/customer-analytics 데이터를 사용하였습니다!

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

데이터는 이진 분류네요!
y_tr.shape이 어떤가요?

의심되는 부분은

y_train에서 데이터를 나눌 때 y_train['타겟'] 으로 선택해야 하는데 아마 선택하지 않고 ID를 함께 포함한 것 같습니다.

 

X_train과 X_test 에서는 ID를 함께 제거하거나 함께 제거하지 않아도 됩니다. (숫자일 경우만)

y_train에서는 ID는 필요 없습니다 타겟 값만 필요합니다.

 

juhyun991002님의 프로필 이미지
juhyun991002

작성한 질문수

질문하기