해결된 질문
작성
·
144
0
from sklearn.metrics import roc_auc_score, accuracy_score , f1_score
model = RandomForestClassifier(random_state=2022,max_depth =5,max_samples =0.01 )
model.fit(X_tr,y_tr)
pred = model.predict(X_val)
pred_proba = model.predict_proba(X_val)
print('roc:',roc_auc_score(y_val,pred_proba[:,1]),'\n' ,
'accuracy:',accuracy_score(y_val,pred),'\n',
'f1:',f1_score(y_val,pred),'\n')
>>>roc: 0.9712121212121212 accuracy: 0.8648648648648649 f1: 0.8717948717948718답변 2
0
<결론> 제가 보기엔 큰 문제 없어 보입니다. 작은 데이터로 인해 발생한 것 같습니다. 이렇게까지 파라미터 튜닝을 시험에서 하실 필요는 없습니다 🙂
우선 데이터에 따라서 1에 가까운 점수가 나타날 수도 있습니다. 모델도 업데이트가 되다보니 영상과도 다를 수도 있고요~!! test size = 0.5이상 으로 했을때도 여전히 1이면 문제로 의심됩니다. 테스트가 50% 이상인데 1이면 타겟값이 포함되었을 수도 있거든요
추가로 기출6회 작업형2에 점수가 너무 잘 나왔을 때 검증하는 방법(크로스 밸리데이션)을 알려드리고 있습니다.
0
max_samples = 0.05
>> roc :1
max_samples = 0.015
>> roc: 0.99
max_samples = 0.005
>> roc: 0.5
accuracy: 0.40540540540540543
f1: 0.0
0.005와 0.01사이에서 급하게 점수가 바껴버리니 어렵네요,,,