분석시각화 대회 코드 공유 게시물은
내용 확인 후
좋아요(투표) 가능합니다.
비록 실패한 코드지만 제출 시 RMSE 점수가 엉망입니닷,. 아이디어 공유 부탁드립니닷.,
XGBoost 와 optuna 를 이용해서 하이퍼파라미터를 튜닝한 후 validation set 에선 RMSE 가 꽤 괜찮게 나왔습니다 (2~5점 사이)
물론 마지막 코드에서 오류가 발생해서 베스트 파라미터를 프린트 하지 못했지만 텍스트 로그를 찾아가 하이퍼 파라미터를 찾아서 모델에 피팅 시켜줬고요
혹시 validaion set을 만들 때 사용한 train set 이 잘못되었나 하고 반복문을 이용해서 split 도 계속 랜덤하게 해주었고요 ..
그런식으로 최종적으로 찾은 하이퍼 파라미터를 가지고 split 한 test set 을 예측하니 2.5 정도 나오는데
제출만 하면 RMSE 가 엉망입니다 ㅠ_ㅠ_ㅠ_ㅠ_ㅠ_ㅠ_ㅠ_ㅠ_ㅠ_ㅠ 거의 9 이상 나오네요
어디서부터 잘못되었을까요?
다들 어떤 아이디어로 일반화 성능을 높히고 test.csv 파일에 대한 예측력을 높히셨나요?
그렇군요 유념하겠습니다
데이콘은 익숙치 않아 어색한지라 여쭙는데 훈련 세트에 원 핫 인코딩을 시행 할 때 테스트 셋을 사용한게 아니라 훈련세트만으로 원 핫 인코딩을 시행하고, 테스트 셋만으로 원 핫 인코딩을 사용하는 것도 데이터 유출로 보나요? 그렇담 어떤 식으로 test set의 범주형 변수를 처리하나요??
답변 감사합니다 🥹
규정을 살펴보니 train set 에 fit한 인코더를 가지고 트랜스폼을 시켜야 하는군요.. 유념하고 다시 해봐야겠습니다
저 딱 원핫인코딩만 적용하고 lgbm 돌렸을 때 2점 나왔었어요! 그리고 저는 새로운 변수를 만들어서 돌렸더니 val rmse는 0.7 나오고 제출했더니 8로 껑충 뛰더라구요...
피트랑 인치를 합쳐서 파생변수를 만들었던게 오버피팅의 원인이 되었나봅니다.. 하면 할 수록 어렵군요 감사합니다 내일 다시 시도해봐야겠어요 ㅎㅎ
DACON Co.,Ltd | CEO Kookjin Kim | 699-81-01021
Mail-order-sales Registration Number: 2021-서울영등포-1704
Business Providing Employment Information Number: J1204020250004
#901, Eunhaeng-ro 3, Yeongdeungpo-gu, Seoul 07237
E-mail dacon@dacon.io |
Tel. 070-4102-0545
Copyright ⓒ DACON Inc. All rights reserved
코드를 살펴봤는데 test에서 RMSE가 증가한 이유는 잘 모르겠네요ㅠㅠ
(+ 대회 안내 - 규칙 - 5.유의사항 을 보시면 test 데이터 셋에 pd.get_dummies() 함수 적용은 Data Leakage라고 되어 있어 주의해야 할 것 같아요!)