Kaggle - Santander Product Recommendation1の11位解法2の調査記事です.
Names: Rohan Rao, SRK
Kaggle Discussion: https://www.kaggle.com/c/santander-product-recommendation/discussion/26823
Code: https://github.com/rohanrao91/Kaggle_SantanderProductRecommendation
要点
- 24変数のうち19変数のみ利用(ahor, aval, deco, deme, vivは利用せず)
- 2015年6月と2016年5月を利用した2つのモデルを作成.(6月と5月のモデルはそれぞれ季節性と傾向を捉えるために利用)
- 新製品のみで作ったSRKのモデルは,データ全体を使って作ったモデルより性能がやや悪い程度だった.(原因は不明)
- 6月モデルでの主な特徴量: Lag1〜5(過去データの平均),前月の所有製品数,前月に所持していた製品を表す19桁の数字(各桁の0,1で製品の所持状況を表現)
- 5月モデルに別途追加した追加特徴量: Lag6,9,12(過去データの平均)
- Public LBへの過学習を避けるために10-foldでのCVスコアでローカル上は評価するようにした.
- baggingやパラメータチューニングでは改善されなかったため,特徴抽出の改善に従事.
- 2つのモデルのアンサンブルによってスコアは,0.0303から0.0306へと悪化.
その他
季節性と傾向の2種類を見つけることが肝だった.
- 例
- 特定の製品は2015年1月〜5月と比べて2016年5月の分布が結構違ってたので,季節性のある製品と考えた.
- 特定の製品は2016年1月〜5月と比べて2015年1月〜5月の分布が大分異なってたので,傾向のある製品と考えた.
製品ごとに異なる重みを使用してアンサンブル
- 例
- ccoとrecaは2015年6月にスパイクがあっため,傾向でのモデルより季節性でのモデルの重みを高めに設定
References
-
Kaggle, Santander Product Recommendation. ↩
-
Rohan Rao, #11 Solution and Code ↩