웹 로그 기반 조회수 예측 해커톤

알고리즘 | 정형 | 회귀 | 웹 로그 | RMSE

  • moneyIcon 상금 : 인증서
  • 639명 마감

 

Private 3위, LGBM + XGB + Catboost Stacking Lin Regressor모델

2024.03.05 13:18 488 조회 language

Tabular Data를 다루는 경험은 그리 많지 않아서 내용이 부족하거나 더 보완해야할 부분이 많습니다. 감안해주시면 감사합니다.

# 전처리
실제 데이터를 보면 값이 제대로 들어가지 않은 경우나, Cardinality가 높은 경우가 많습니다. tree-based 모델에서 좋은 값을 주지 않을 것이라고 판단해 이를 처리한 모델을 구현했습니다.
특히 cardinality를 줄이기 위해 major한 cateogry만 남기기 위한 scikit-learn Transformer를 구현했는데요,
Tree-based model은 lienar model같은 방식이 아니라면 학습 방식에서 있던 데이터의 분포를 학습하고 이를 통해 예측하는게 많습니다.
그렇기 때문에 최대한 cardinality가 높은 특성들을 cardinality가 낮고, 유사한 카테고리로 매핑하는게 중요하다고 생각했습니다.
이부분에선 브라우저는 In-app Safari는 Safari로, Opera Mini는 Opera로 매핑했습니다. 효과있고 근거있는 방법 제안주시면 감사합니다.
이렇게 근거를 기반으로 직접 feature를 처리한 다음에 자동화된 파이프라인으로 PercentileTransformer를 구현했고 이를 CV hyperparameter를 통해 적합한 covering percentage를 구하고 이 값을 적용했습니다.
Seed같은 trivial 값을 제외한 나머지는 대부분 feature selection등을 포함한 cross validation을 통한 튜닝으로 정해진게 많습니다. catboost 를 tuning이 오래 걸려서 base parameter로 제출하고 바빠서 더 진행하지 못했습니다

- PercentileTransforme는 임의로 지은건데 혹시 좋은 이름을 추천해주신다면 감사합니다
- 댓글로 추가 개선점들 제안 주시면 감사합니다 🙇🏻‍♂️

코드