분석시각화 대회 코드 공유 게시물은
내용 확인 후
좋아요(투표) 가능합니다.
간단한 모델 7개를 통해 Feature engineering 효과 확인해보기
가벼운 머신러닝 모델 7개 (LGBM, Castboost, XGBoost 등) 를 통해 feature engineering의 효과를 추정해보는 코드입니다.
주최측의 NRMSE 값을 그대로 Valid값의 추정치를 획득하게 구현하였고
(주최측 평가식의 특징은 Y_01 ~ Y_08의 가중치가 1.2라는 점이며 이는 Y_01~Y_08이 추정치를 정확히 하는 것이 다른 값들 추정치에 비해 다소 유리함을 의미합니다)
총 7개 모델을 가볍게 구성하여 남은 시간이 짧은 만큼 여러번의 비교가 가능하게 구성하였습니다.
모델은 모두 scikitlearn의 MultiOutputRegressor를 사용하여 feature 변화에 따른 전체 Y value 변화 총합을 비교하게 제작하였습니다
가벼운 모델인만큼 총 7개를 구성하여, 많은 모델에서 공통적으로 결과 향상이 있다면 좋은 feature engineering일 '가능성이 있다' 라고 판단하였습니다.
해당 코드내에 new_train_xx값 내의 x feature들을 원하시는 방향으로 바꾸실 수 있습니다.
ex) X_08의 값을 없앤다 -> new_train_xx = new_train_xx.drop(columns='X_08')
X_09값과 X_10값의 평균을 추가로 만들어 '파생변수'로 넣고 싶다 -> new_train_xx["avg_910"] = (new_train_xx["X_09"] + new_train_xx['X_10']) / 2
해당 변경에 따라 new_valid_xx값만 똑같이 변경해 주시면 됩니다.
각 셀마다 모델을 배치했고 training시간 비교가 가능하게 구성하여 시간이 너무 오래 걸린다면 모델을 빼서 사용하는 것도 좋은 방법입니다.
마지막에 각 모델별 error값에 1000을 곱한것은 비교에 용이하기 떄문입니다.
모두 좋은 결과 있으시기 바랍니다 :)
데이콘(주) | 대표 김국진 | 699-81-01021
통신판매업 신고번호: 제 2021-서울영등포-1704호
서울특별시 영등포구 은행로 3 익스콘벤처타워 901호
이메일 dacon@dacon.io | 전화번호: 070-4102-0545
Copyright ⓒ DACON Inc. All rights reserved
좋은 내용 공유 감사합니다.