LoginSignup
49
32

More than 5 years have passed since last update.

Kaggle - Instacart上位陣解法まとめ

Last updated at Posted at 2017-08-17

KaggleのInstacart Market Basket Analysis1の上位陣解法についてまとめました.
参考になりそうでしたら幸いです.

Instacart Market Basket Analysis1とは

ユーザーが次に注文する商品の予測.

データ構成2

image.png

  • ユーザー数: 20万
  • 注文回数: 340万
  • 商品数: 5万

全体の把握には記事2が参考になります.


[2位] 2nd Place Solution

特徴量

予測モデル

  • ユーザーがどの商品を買うか(user product pair model)
  • 注文しないかどうか(Noneの予測)3

手法

  • F1最大化4
  • XGBoost

備考

  • ハイパーパラメータの調整はあんまりしてないらしい.

[3位] 3rd-Place Solution Overview

手法

  • F1最大化4
  • Model Stacking5
  • First-level modesls
    • RNN(LSTM)
    • CNN(6-layer)
    • SGNS6(Skip-Gram with Negative Sampling)
    • NNMF7(Non-Negative Matrix Factorization)
  • Second-level models
    • LightGBM
    • Feedforward NN

[4位] 4-th Place Tips

手法

  • 買い物かごの大きさによる確率の調整
    • $1.6^{1/n^2}$
    • $n$はバスケットサイズ(買い物かごに入れる商品の数)
    • 次の注文がない場合は$n=1$
    • $n$と次に購入する確率は負の相関
    • $1.6$はGrid Searchで算出
    • ある商品を買うと特定の商品の購入確率が上がる.
  • F1最大化4
  • CatBoost8(LightGBMやXGBoostより良かったらしい)
  • LDA
  • NNMF7

意味なかったもの

  • lag1データ

[9位] 9th place Approach

特徴量

手法

  • F1最大化4
  • LightGBM
  • H2O10
  • Keras NN
  • Model Stacking5

意味なかったもの

  • product/aisle/departmentごとのモデル
  • Collaborative filtering2

[12位] 12th solution

予測モデル

  • ユーザーがどの商品を買うか(user product pair model)
  • 注文しないかどうか(Noneの予測)3

手法

  • Model Stacking
    • 4つのモデルのアンサンブル
      • arbor: arboretum 11
      • lgbm: LightGBM 12
      • label1: ユーザーごとに分けて学習
      • label2: 全てシャッフルして学習
    • LBによる重み算出(過学習してそう...)

References

49
32
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
49
32