機械学習
Kaggle

[Survey] Kaggle - Santander 15位解法まとめ

Kaggle - Santander Product Recommendation1の15位解法2の調査記事です.

Names: Lam Dang and Guillaume Huard
Kaggle Discussion: https://www.kaggle.com/c/santander-product-recommendation/forums/t/26812/insights-sharing

モデル

  • 運河と州と国情報による分散表現を入力とするニューラルネット
    • GRU層には5ヶ月間の製品購入履歴(2015年6月の情報があまりに重要すぎるため,5ヶ月以上利用できなかった)
    • 密結合層部分には2つの異なる構造を利用
      • A) 通常のフィードフォワードネット
      • B) 密結合したネット(性能は良いが時間は掛かるため,パラメータを調整しきれなかった)
    • 出力層部分はloglossを利用

特徴抽出

  • 購入履歴(リーク情報)
  • 季節性: 6月以外のデータを訓練データとして多めに追加することで,過学習を防ぐ.(6月はかなりイレギュラーな月)
  • トレンド: 特徴量eco, deco, deraなどで存在.月の変数を持たないようにしてCVを行って,正解と予測の差を取ることで検出.(cf.下図)
  • 特徴量fecha_altaに関して
    • 2016年7月の顧客は他時期の顧客と比べて傾向が違う.(別のDBデータが追加されたため?)
    • 毎年6月から12月までに購読のピークが存在するので,時期ごとで2つに分けた.(localでは改善するも,LBでは0.0005とわずかしか改善せず)
  • GuillaumeのXGBoostと著者のネットのアンサンブルでLB:0.002改善

image.png

その他(改善につなげられなかった項目)

  • tjcrがLBでは3番だったけど,予測では6番とずれてたのが不明なところ.
  • 製品間の相関を利用しなかった
  • 特徴量reciboにはっきりとした周期性のある顧客は1000名足らず.
  • 製品の幾つかは,最後の数ヶ月ではっきりとした傾向があったけど,どうにもならんかった.

References


  1. Kaggle, Santander Product Recommendation

  2. Lam Dang and Guillaume Huard, Insights sharing