분석시각화 대회 코드 공유 게시물은
내용 확인 후
좋아요(투표) 가능합니다.
학습 플랫폼 구독자 예측 AI 해커톤
Gridsearch 질문있습니다 제발 부탁드릴게요 ㅠㅠ
scoring 도 f1-macro로 했는데
교차검증 mean_test_score에서 왜 0.7 이런식으로 표시가 될까요?? ㅠㅠ
0.5 주변으로 나와야 정상인데... 이유 아시는분은 답장해주시면 정말 감사하겠습니다!
안녕하세요 답변 정말 감사합니다!
오버샘플링을 이미 진행한 것이라 클래스는 동일하긴 합니다 ㅠㅠ
# 최적의 모델에 대한 평가
best_model_xgb = grid_search.best_estimator_
y_pred_train_xgb = best_model_xgb.predict(X_test)
macro_f1_train_xgb = f1_score(y_test, y_pred_train_xgb, average='macro')
print(f'학습 세트 매크로 F1-score: {macro_f1_train_xgb:.4f}')
이 코드로 best_estimator를 받아서 F1_macro를 출력하면 0.5 부근으로 잘 나오지만 그리드 서치 한 경우의 수중 최적 파라미터는 아니였습니다..
gridsearch를 썻을때 mean_test_score(캡처 내용)는 0.7 정도로 나오는것으로 보아 score값이 산출되는게 뭔가 이상한거 같습니다ㅠㅠ 뭐가 잘못된걸까요..?
데이터셋이 비중이 달라서 과적합 없는 최적값보다 한쪽으로 찍는 경우가 높게 나와서 해당 하이퍼파라미터를 최적으로 제시하는 것 같습니다.
학습 데이터셋의 불균형을 해소해주시면 될 것 같습니다.
안녕하세요 답변 정말 감사합니다!
오버샘플링을 이미 진행한 것이라 클래스는 동일하긴 합니다 ㅠㅠ
# 최적의 모델에 대한 평가
best_model_xgb = grid_search.best_estimator_
y_pred_train_xgb = best_model_xgb.predict(X_test)
macro_f1_train_xgb = f1_score(y_test, y_pred_train_xgb, average='macro')
print(f'학습 세트 매크로 F1-score: {macro_f1_train_xgb:.4f}')
이 코드로 best_estimator를 받아서 F1_macro를 출력하면 0.5 부근으로 잘 나오지만 그리드 서치 하였을때 최적 파라미터는 아니였습니다
gridsearch를 썻을때 mean_test_score(캡처 내용)는 0.7 정도로 나오는것으로 보아 score값이 산출되는게 뭔가 이상한거 같습니다ㅠㅠ 뭐가 잘못된걸까요..?
grid_search.best_estimator_가 rank_test_score가 1일 때의 하이퍼파라미터랑 다르다면 그리드서치과정에 문제가 있는 것 같긴 한데 잘모르겠네요
한번 다시 확인해보겠습니다 ㅎㅎ 답변 감사해요!
데이콘(주) | 대표 김국진 | 699-81-01021
통신판매업 신고번호: 제 2021-서울영등포-1704호
직업정보제공사업 신고번호: J1204020250004
서울특별시 영등포구 은행로 3 익스콘벤처타워 901호
이메일 dacon@dacon.io |
전화번호: 070-4102-0545
Copyright ⓒ DACON Inc. All rights reserved
아마도 클래스 불균형으로 인한 과적합 같습니다.