학습 플랫폼 구독자 예측 AI 해커톤

Gridsearch 질문있습니다 제발 부탁드릴게요 ㅠㅠ

2023.11.29 19:20 733 조회


scoring 도 f1-macro로 했는데

교차검증 mean_test_score에서 왜 0.7 이런식으로 표시가 될까요?? ㅠㅠ

0.5 주변으로 나와야 정상인데... 이유 아시는분은 답장해주시면 정말 감사하겠습니다!

로그인이 필요합니다
0 / 1000
EISLab_이희원
2023.11.30 13:17

아마도 클래스 불균형으로 인한 과적합 같습니다.

SSangJ
2023.11.30 15:19

안녕하세요 답변 정말 감사합니다!
오버샘플링을 이미 진행한 것이라 클래스는 동일하긴 합니다 ㅠㅠ

# 최적의 모델에 대한 평가
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값이 산출되는게 뭔가 이상한거 같습니다ㅠㅠ 뭐가 잘못된걸까요..?

dawn97
2023.11.30 14:09

데이터셋이 비중이 달라서 과적합 없는 최적값보다 한쪽으로 찍는 경우가 높게 나와서 해당 하이퍼파라미터를 최적으로 제시하는 것 같습니다.
학습 데이터셋의 불균형을 해소해주시면 될 것 같습니다.

SSangJ
2023.11.30 15:19

안녕하세요 답변 정말 감사합니다!
오버샘플링을 이미 진행한 것이라 클래스는 동일하긴 합니다 ㅠㅠ

# 최적의 모델에 대한 평가
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값이 산출되는게 뭔가 이상한거 같습니다ㅠㅠ 뭐가 잘못된걸까요..?

dawn97
2023.11.30 16:10

grid_search.best_estimator_가 rank_test_score가 1일 때의 하이퍼파라미터랑 다르다면 그리드서치과정에 문제가 있는 것 같긴 한데 잘모르겠네요

SSangJ
2023.11.30 16:39

한번 다시 확인해보겠습니다 ㅎㅎ 답변 감사해요!

이전 글
이전 글이 존재하지 않습니다.
현재 글
Gridsearch 질문있습니다 제발 부탁드릴게요 ㅠㅠ
대회 - 학습 플랫폼 구독자 예측 AI 해커톤
좋아요 7
조회 733
댓글 6
일 년 전
다음 글
다음 글이 존재하지 않습니다.