post Image
Kaggle – Instacart上位陣解法まとめ

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

Instacart Market Basket Analysis1とは

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

データ構成2

image.png

https://www.kaggle.com/c/instacart-market-basket-analysis/discussion/33128

  • ユーザー数: 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


『 機械学習 』Article List
Category List

Eye Catch Image
Read More

Androidに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

AWSに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Bitcoinに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

CentOSに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

dockerに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

GitHubに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Goに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Javaに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

JavaScriptに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Laravelに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Pythonに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Rubyに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Scalaに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Swiftに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Unityに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Vue.jsに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Wordpressに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

機械学習に関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。