狠狠撸

狠狠撸Share a Scribd company logo
Kaggle – Airbnb New User
Bookingsのアプローチについて
Kaggle Tokyo Meetup #1
2016/03/05
id:@Keiku
本日のアジェンダ
? Airbnb New User Bookingsコンペ概要
– Datasetについて
– Metricについて
? 本コンペに参加した動機
? アプローチについて
– Preprocessing
– Stacked generalization
– Modeling
– Results
? Shakeupについて
? おわりに
Datasetについて(1)
? train_users.csv - the training set of
users
? test_users.csv - the test set of users
– id: user id
– date_account_created: the date of account
creation
– timestamp_first_active: timestamp of the
first activity, note that it can be earlier
than date_account_created
or date_first_booking because a user can
search before signing up
– date_first_booking: date of first booking
– gender
– age
– signup_method
– signup_flow: the page a user came to signup
up from
– language: international
language preference
– affiliate_channel: what kind
of paid marketing
– affiliate_provider: where the
marketing is e.g. google,
craigslist, other
– first_affiliate_tracked: whats
the first marketing the user
interacted with before the
signing up
– signup_app
– first_device_type
– first_browser
– country_destination: this is
the target variable you are
to predict
Datasetについて(2)
? sessions.csv - web sessions log for users
– user_id: to be joined with the column 'id' in users table
– action
– action_type
– action_detail
– device_type
– secs_elapsed
? countries.csv - summary statistics of destination countries in
this dataset and their locations
? age_gender_bkts.csv - summary statistics of users' age group,
gender, country of destination
? sample_submission.csv - correct format for submitting your
predictions
Metricについて(1)
? The evaluation metric for this competition is NDCG (Normalized
discounted cumulative gain) @k where k=5. NDCG is calculated as:
? where reli is the relevance of the result at position i.
? IDCGk is the maximum possible (ideal) DCG for a given set of queries. All
NDCG calculations are relative values on the interval 0.0 to 1.0.
? For each new user, you are to make a maximum of 5 predictions on the
country of the first booking. The ground truth country is marked with
relevance = 1, while the rest have relevance = 0.
? For example, if for a particular user the destination is FR, then the
predictions become:
本コンペに参加した動機
? 主な理由
– Learning to rank(MetricがNDCG)の問題に取り組んでみたかった
? 過去には、Personalize Expedia Hotel Searches - ICDM 2013
– Train datasetの期間が2010/01?2014/06、Test datasetの期間が2014/07
?2014/09であった
? このタイプのデータのCross Validationに苦手意識のある
? 過去コンペ:
– Rossmann Store Sales
– Recuruit - Coupon Purchase Prediction
– Avazu - Click-Through Rate Prediction
– デモグラが多く、特徴量がつくりやすい
? 当時の状況
– コンペ期間は、2015/11/25?2016/02/11(78日間)で、First submissionは
2016/01/25であり終盤
– 残り3週間勉強のために参加
Preprocessing(1)
? 特徴抽出
– age内に含まれる生年月日を修正する
– date_first_bookingとdate_account_createdのlagを計算し、それを4カテゴリに
集約する
– date_first_bookingとtimestamp_first_activeのlagを計算し、それを3カテゴリに
集約する
– カテゴリカル変数をOne-Hot Encodingする
– train_users.csv、test_users.csvにage_gender_bkts.csvをjoinする
– train_users.csv、test_users.csvにcountries.csvをjoinする
– sessions.csvを(user_id、action)をキーにsecs_elapsedと行数をサマリ、
train_users.csv、test_users.csvにjoinする(action以外の変数も同様)
? 特徴抽出をするにあたり
– 使えるものはすべて使う
– sessions.csvは序列性も検討したが効果はなかった。Telstra Network
Disruptionsのデータは元の序列性がMagic featuresとなった例もある
Preprocessing(2)
? Rの{DescTools}パッケージが便利
? Desc()で基礎統計量がすべてわかる
Preprocessing(3)
? Rの{DescTools}パッケージが便利
? Desc()で基礎統計量がすべてわかる
Stacked generalization
? 以下の18モデルについてStacking
1. Model:XGBoost / Target:age / Train dataset:age非欠損
2. Model:XGBoost / Target:age_cln / Train dataset:age非欠損
3. Model:XGBoost / Target:age_cln2 / Train dataset:age非欠損
4. Model:glmnet / Target:age_cln / Train dataset:age非欠損
5. Model:glmnet / Target:age_cln2 / Train dataset:age非欠損
6. Model:XGBoost / Target:country_destination / Train dataset:Train全期間
7. Model:XGBoost / Target:country_destination / Train dataset:直近12ヶ月
8. Model:XGBoost / Target:country_destination / Train dataset:直近6ヶ月
9. Model:XGBoost / Target:country_destination / Train dataset:去年の7,8,9月
10. Model:XGBoost / Target:distance_km / Train dataset:distance_km非欠損
11. Model:XGBoost / Target:destination_km2 / Train dataset:destination_km2非欠損
12. Model:XGBoost / Target:gender / Train dataset:非-unknown-
13. Model:XGBoost / Target:dfb_dac_lag_flg / Train dataset:Train全期間
14. Model:XGBoost / Target:dfb_tfa_lag_flg / Train dataset:Train全期間
15. Model:XGBoost / Target:dfb_dac_lag / Train dataset:Train全期間
16. Model:XGBoost / Target:dfb_tfa_lag / Train dataset:Train全期間
17. Model:glmnet / Target:dfb_dac_lag / Train dataset:Train全期間
18. Model:glmnet / Target:dfb_tfa_lag / Train dataset:Train全期間
Modeling(1)
? XGBoostを使ってモデリング
– eval_metricはNDCG@5
? merror、mloglossは最終的に使用しなかった
? c4.8xlargeで1 roundのCVで1分ほど。面倒だが耐える
– Drip Coffee10杯分くらい消失:-)
– Techniques (Tricks) for Data Mining Competitions(@smly)
? BO、RSCVなどによるチューニングの優先度は低かった
? 特徴選択
– 特に生のageは精度を落とした
? 特徴選択することで精度が一気に向上
– 90%をランダムに特徴選択してモデルを作成
Modeling(2)
? XGBoostの変数重要
度
– 直近12ヶ月の
country_destination
– dfb_dac_lag_flg(XGBoost)
– 直近6ヶ月の
country_destination
– 去年の7,8,9月の
country_destination
– age_cln2(XGBoost)
Results(1)
? 精度一覧
– 最終的に、submission12(5-fold CV)、16(Last 6 weeks)を選択
Submission Memo 5 fold-CV Public Private Public Rank Private Rank
submission01.csv.7z
merror、mloglossなど
で試行錯誤
0.87958 0.88419
submission02.csv.7z 0.87848 0.88201
submission03.csv.7z 0.87917 0.88438
submission04.csv.7z 0.87899 0.88346
submission05.csv.7z 0.87998 0.88515
submission06.csv.7z 0.87996 0.88561
submission07.csv.7z Stackingなし 0.83265 0.88013 0.88590 152 55
submission08.csv.7z Stackingあり 0.83318 0.88123 0.88645 36 12
submission09.csv.7z Feature Selection(1) 0.83355 0.88162 0.88705 12 1
submission10.csv.7z Feature Selection(2) 0.83365 0.88198 0.88697 2 1
submission12.csv.7z Feature Selection(3) 0.83371 0.88209 0.88682 2 2
submission14.csv.7z Last 6 weeks(1) 0.83319 0.88167 0.88696 12 2
submission15.csv.7z 12のBagging 0.83371 0.88207 0.88688 2 2
submission16.csv.7z Last 6 weeks(2) 0.83346 0.88195 0.88678 2 2
Results(2)
? 精度確認
0.87900
0.88000
0.88100
0.88200
0.88300
0.88400
0.88500
0.88600
0.88700
0.88800
0.83240 0.83260 0.83280 0.83300 0.83320 0.83340 0.83360 0.83380
LBScore
Local 5 fold-CV Score
NDCG@5 Score
Public
Private
Shakeupについて
? Forumに「Expected Leaderboard Shakeup」というTopicが立つほどShakeup
が懸念される
? 私の考察
– 5-fold CVとPublic LB Scoreの関連が強く、単純に両方とも良いスコアのモ
デルを選べば良かった
– 最終Submissionに2つ選べるので、1つはPublic LBのScoreが最も高いモ
デル、もう1つはLast 6 weeksのScoreが最も高いモデルを選択した
? Best Public LB:Public: 0.88209(2nd)/Private: 0.88682(2nd)
? Best Last 6 weeks Validation:Public: 0.88195(2nd)/Private:
0.88678(2nd)
– Shakeupに強そうなGilberto Titericz Juniorさんのコメント
? CVのスコアが同じもの2つがあり、Public LBが良い方を選んだが、一
方はもっと良いスコアであり、Public: 0.88107(57th)/Private:
0.88675(3rd)であった
– シンプルなモデル構築を心がけた。アンサンブルはあまり効果がない
– 作成した特徴量が強く、Shakeupしたものの上位でとどまった
おわりに
? コンペ振り返り
– 常に勉強するというスタンスで取り組み、特に開始時期は
気にしない
– データをつぶさに見て、考察する
? Trainにしかないdate_first_bookingも使えるか検討する
– Evaluation Metricは面倒でも合わせる
– 基本的にはCross Validationの結果が良いモデルを選択
– Shakeupの懸念のある場合、シンプルなモデル構築を心
がけ、異なるValidationパターンを用意しておく
– Results(2)のようなグラフは必ず書けるようにメモを取る

More Related Content

What's hot (20)

PDF
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向
SSII
?
PPTX
【DL輪読会】Scale Efficiently: Insights from Pre-training and Fine-tuning Transfor...
Deep Learning JP
?
PDF
Active Learning 入門
Shuyo Nakatani
?
PPTX
生成系ニューラルネットワークまとめ Summary of Generative Neural Network
Youichiro Miyake
?
PPTX
TalkingData AdTracking Fraud Detection Challenge (1st place solution)
Takanori Hayashi
?
PDF
画像生成?生成モデル メタサーベイ
cvpaper. challenge
?
PDF
ドメイン适応の原理と応用
Yoshitaka Ushiku
?
PPTX
[DL輪読会]PointNet++: Deep Hierarchical Feature Learning on Point Sets in a Metr...
Deep Learning JP
?
PPTX
【DL輪読会】Visual Classification via Description from Large Language Models (ICLR...
Deep Learning JP
?
PDF
PyData.Tokyo Meetup #21 講演資料「Optuna ハイパーパラメータ最適化フレームワーク」太田 健
Preferred Networks
?
PDF
(DL輪読)Variational Dropout Sparsifies Deep Neural Networks
Masahiro Suzuki
?
PDF
[DL輪読会]"CyCADA: Cycle-Consistent Adversarial Domain Adaptation"&"Learning Se...
Deep Learning JP
?
PDF
Data-Centric AIの紹介
Kazuyuki Miyazawa
?
PDF
[261] ???????? ??????????? ???????????? ?????????
NAVER D2
?
PDF
2019年度チュートリアル叠笔贰
広樹 本間
?
PPTX
[DL輪読会]Revisiting Deep Learning Models for Tabular Data (NeurIPS 2021) 表形式デー...
Deep Learning JP
?
PDF
深層学習による自然言語処理入門: word2vecからBERT, GPT-3まで
驰补丑辞辞!デベロッパーネットワーク
?
PDF
颁痴分野におけるサーベイ方法
Hirokatsu Kataoka
?
PPTX
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models
Deep Learning JP
?
PPTX
【DL輪読会】Towards Understanding Ensemble, Knowledge Distillation and Self-Distil...
Deep Learning JP
?
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向
SSII
?
【DL輪読会】Scale Efficiently: Insights from Pre-training and Fine-tuning Transfor...
Deep Learning JP
?
Active Learning 入門
Shuyo Nakatani
?
生成系ニューラルネットワークまとめ Summary of Generative Neural Network
Youichiro Miyake
?
TalkingData AdTracking Fraud Detection Challenge (1st place solution)
Takanori Hayashi
?
画像生成?生成モデル メタサーベイ
cvpaper. challenge
?
ドメイン适応の原理と応用
Yoshitaka Ushiku
?
[DL輪読会]PointNet++: Deep Hierarchical Feature Learning on Point Sets in a Metr...
Deep Learning JP
?
【DL輪読会】Visual Classification via Description from Large Language Models (ICLR...
Deep Learning JP
?
PyData.Tokyo Meetup #21 講演資料「Optuna ハイパーパラメータ最適化フレームワーク」太田 健
Preferred Networks
?
(DL輪読)Variational Dropout Sparsifies Deep Neural Networks
Masahiro Suzuki
?
[DL輪読会]"CyCADA: Cycle-Consistent Adversarial Domain Adaptation"&"Learning Se...
Deep Learning JP
?
Data-Centric AIの紹介
Kazuyuki Miyazawa
?
[261] ???????? ??????????? ???????????? ?????????
NAVER D2
?
2019年度チュートリアル叠笔贰
広樹 本間
?
[DL輪読会]Revisiting Deep Learning Models for Tabular Data (NeurIPS 2021) 表形式デー...
Deep Learning JP
?
深層学習による自然言語処理入門: word2vecからBERT, GPT-3まで
驰补丑辞辞!デベロッパーネットワーク
?
颁痴分野におけるサーベイ方法
Hirokatsu Kataoka
?
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models
Deep Learning JP
?
【DL輪読会】Towards Understanding Ensemble, Knowledge Distillation and Self-Distil...
Deep Learning JP
?

Similar to Kaggle – Airbnb New User Bookingsのアプローチについて(Kaggle Tokyo Meetup #1 20160305) (20)

PDF
レコメンドエンジン作成コンテストの胜ち方
Shun Nukui
?
PPTX
The Web Conference 2019 参加報告会資料
Kazunori Miyanishi
?
PDF
分散表现を用いたリアルタイム学习型セッションベース推荐システム
Okamoto Laboratory, The University of Electro-Communications
?
PDF
第2回 NIPS+読み会?関西 発表資料 山本
驰补丑辞辞!デベロッパーネットワーク
?
PPTX
Presentation 1
LINKBAL2018
?
PDF
リクルートライフスタイルにおける深层学习の活用と骋颁笔での実现方法
Recruit Lifestyle Co., Ltd.
?
PPTX
データサイエンティストに闻く!今更闻けない机械学习の基础から応用まで
Shunsuke Nakamura
?
PPTX
Sigir2013 retrieval models-and_ranking_i_pub
Kei Uchiumi
?
PDF
20150421 日経ビッグデータカンファレンス
Akira Shibata
?
PPTX
DataEngConf NYC’18 セッションサマリー #2
gree_tech
?
PDF
【卒業論文】B2Bオークションにおけるユーザ別 入札行動予測に関する研究
harmonylab
?
PDF
尝辞驳解析の超入门
菊池 佑太
?
PPTX
[DL輪読会] “Asymmetric Tri-training for Unsupervised Domain Adaptation (ICML2017...
Yusuke Iwasawa
?
PDF
全部见せます、データサイエンティストの仕事
Shunsuke Nakamura
?
PDF
20180807_全部见せます、データサイエンティストの仕事
Shunsuke Nakamura
?
PDF
骋笔厂轨跡を利用した観光行动における移动?滞在モード推定
Hidekazu Kasahara
?
PPTX
动画像を用いた経路予测手法の分类
Tsubasa Hirakawa
?
PDF
机械学习を用いた予测モデル构筑?评価
Shintaro Fukushima
?
PPTX
狈别耻谤滨笔厂2019参加报告
Masanari Kimura
?
PPTX
de:code 2019 振り返り Night! Sponsored by Qiita - AI Track 振り返り
Daiyu Hatakeyama
?
レコメンドエンジン作成コンテストの胜ち方
Shun Nukui
?
The Web Conference 2019 参加報告会資料
Kazunori Miyanishi
?
分散表现を用いたリアルタイム学习型セッションベース推荐システム
Okamoto Laboratory, The University of Electro-Communications
?
第2回 NIPS+読み会?関西 発表資料 山本
驰补丑辞辞!デベロッパーネットワーク
?
Presentation 1
LINKBAL2018
?
リクルートライフスタイルにおける深层学习の活用と骋颁笔での実现方法
Recruit Lifestyle Co., Ltd.
?
データサイエンティストに闻く!今更闻けない机械学习の基础から応用まで
Shunsuke Nakamura
?
Sigir2013 retrieval models-and_ranking_i_pub
Kei Uchiumi
?
20150421 日経ビッグデータカンファレンス
Akira Shibata
?
DataEngConf NYC’18 セッションサマリー #2
gree_tech
?
【卒業論文】B2Bオークションにおけるユーザ別 入札行動予測に関する研究
harmonylab
?
尝辞驳解析の超入门
菊池 佑太
?
[DL輪読会] “Asymmetric Tri-training for Unsupervised Domain Adaptation (ICML2017...
Yusuke Iwasawa
?
全部见せます、データサイエンティストの仕事
Shunsuke Nakamura
?
20180807_全部见せます、データサイエンティストの仕事
Shunsuke Nakamura
?
骋笔厂轨跡を利用した観光行动における移动?滞在モード推定
Hidekazu Kasahara
?
动画像を用いた経路予测手法の分类
Tsubasa Hirakawa
?
机械学习を用いた予测モデル构筑?评価
Shintaro Fukushima
?
狈别耻谤滨笔厂2019参加报告
Masanari Kimura
?
de:code 2019 振り返り Night! Sponsored by Qiita - AI Track 振り返り
Daiyu Hatakeyama
?
Ad

Recently uploaded (9)

PDF
安尾 萌, 藤代 裕之, 松下 光範. 協調的情報トリアージにおけるコミュニケーションの影響についての検討, 第11回データ工学と情報マネジメントに関する...
Matsushita Laboratory
?
PPTX
色について.pptx .
iPride Co., Ltd.
?
PPTX
Vibe Codingを始めよう ?Cursorを例に、ノーコードでのプログラミング体験?
iPride Co., Ltd.
?
PDF
論文紹介:AutoPrompt: Eliciting Knowledge from Language Models with Automatically ...
Toru Tamaki
?
PPTX
勉強会_ターミナルコマント?入力迅速化_20250620. pptx. .
iPride Co., Ltd.
?
PDF
Forguncy 10 製品概要資料 - ノーコードWebアプリ開発プラットフォーム
フォーガンシー
?
PDF
安尾 萌, 北村 茂生, 松下 光範. 災害発生時における被害状況把握を目的とした情報共有システムの基礎検討, 電子情報通信学会HCGシンポジウム2018...
Matsushita Laboratory
?
PDF
安尾 萌, 松下 光範. 環境馴致を計量可能にするための試み,人工知能学会第4回仕掛学研究会, 2018.
Matsushita Laboratory
?
PDF
論文紹介:Unbiasing through Textual Descriptions: Mitigating Representation Bias i...
Toru Tamaki
?
安尾 萌, 藤代 裕之, 松下 光範. 協調的情報トリアージにおけるコミュニケーションの影響についての検討, 第11回データ工学と情報マネジメントに関する...
Matsushita Laboratory
?
色について.pptx .
iPride Co., Ltd.
?
Vibe Codingを始めよう ?Cursorを例に、ノーコードでのプログラミング体験?
iPride Co., Ltd.
?
論文紹介:AutoPrompt: Eliciting Knowledge from Language Models with Automatically ...
Toru Tamaki
?
勉強会_ターミナルコマント?入力迅速化_20250620. pptx. .
iPride Co., Ltd.
?
Forguncy 10 製品概要資料 - ノーコードWebアプリ開発プラットフォーム
フォーガンシー
?
安尾 萌, 北村 茂生, 松下 光範. 災害発生時における被害状況把握を目的とした情報共有システムの基礎検討, 電子情報通信学会HCGシンポジウム2018...
Matsushita Laboratory
?
安尾 萌, 松下 光範. 環境馴致を計量可能にするための試み,人工知能学会第4回仕掛学研究会, 2018.
Matsushita Laboratory
?
論文紹介:Unbiasing through Textual Descriptions: Mitigating Representation Bias i...
Toru Tamaki
?
Ad

Kaggle – Airbnb New User Bookingsのアプローチについて(Kaggle Tokyo Meetup #1 20160305)

  • 1. Kaggle – Airbnb New User Bookingsのアプローチについて Kaggle Tokyo Meetup #1 2016/03/05 id:@Keiku
  • 2. 本日のアジェンダ ? Airbnb New User Bookingsコンペ概要 – Datasetについて – Metricについて ? 本コンペに参加した動機 ? アプローチについて – Preprocessing – Stacked generalization – Modeling – Results ? Shakeupについて ? おわりに
  • 3. Datasetについて(1) ? train_users.csv - the training set of users ? test_users.csv - the test set of users – id: user id – date_account_created: the date of account creation – timestamp_first_active: timestamp of the first activity, note that it can be earlier than date_account_created or date_first_booking because a user can search before signing up – date_first_booking: date of first booking – gender – age – signup_method – signup_flow: the page a user came to signup up from – language: international language preference – affiliate_channel: what kind of paid marketing – affiliate_provider: where the marketing is e.g. google, craigslist, other – first_affiliate_tracked: whats the first marketing the user interacted with before the signing up – signup_app – first_device_type – first_browser – country_destination: this is the target variable you are to predict
  • 4. Datasetについて(2) ? sessions.csv - web sessions log for users – user_id: to be joined with the column 'id' in users table – action – action_type – action_detail – device_type – secs_elapsed ? countries.csv - summary statistics of destination countries in this dataset and their locations ? age_gender_bkts.csv - summary statistics of users' age group, gender, country of destination ? sample_submission.csv - correct format for submitting your predictions
  • 5. Metricについて(1) ? The evaluation metric for this competition is NDCG (Normalized discounted cumulative gain) @k where k=5. NDCG is calculated as: ? where reli is the relevance of the result at position i. ? IDCGk is the maximum possible (ideal) DCG for a given set of queries. All NDCG calculations are relative values on the interval 0.0 to 1.0. ? For each new user, you are to make a maximum of 5 predictions on the country of the first booking. The ground truth country is marked with relevance = 1, while the rest have relevance = 0. ? For example, if for a particular user the destination is FR, then the predictions become:
  • 6. 本コンペに参加した動機 ? 主な理由 – Learning to rank(MetricがNDCG)の問題に取り組んでみたかった ? 過去には、Personalize Expedia Hotel Searches - ICDM 2013 – Train datasetの期間が2010/01?2014/06、Test datasetの期間が2014/07 ?2014/09であった ? このタイプのデータのCross Validationに苦手意識のある ? 過去コンペ: – Rossmann Store Sales – Recuruit - Coupon Purchase Prediction – Avazu - Click-Through Rate Prediction – デモグラが多く、特徴量がつくりやすい ? 当時の状況 – コンペ期間は、2015/11/25?2016/02/11(78日間)で、First submissionは 2016/01/25であり終盤 – 残り3週間勉強のために参加
  • 7. Preprocessing(1) ? 特徴抽出 – age内に含まれる生年月日を修正する – date_first_bookingとdate_account_createdのlagを計算し、それを4カテゴリに 集約する – date_first_bookingとtimestamp_first_activeのlagを計算し、それを3カテゴリに 集約する – カテゴリカル変数をOne-Hot Encodingする – train_users.csv、test_users.csvにage_gender_bkts.csvをjoinする – train_users.csv、test_users.csvにcountries.csvをjoinする – sessions.csvを(user_id、action)をキーにsecs_elapsedと行数をサマリ、 train_users.csv、test_users.csvにjoinする(action以外の変数も同様) ? 特徴抽出をするにあたり – 使えるものはすべて使う – sessions.csvは序列性も検討したが効果はなかった。Telstra Network Disruptionsのデータは元の序列性がMagic featuresとなった例もある
  • 10. Stacked generalization ? 以下の18モデルについてStacking 1. Model:XGBoost / Target:age / Train dataset:age非欠損 2. Model:XGBoost / Target:age_cln / Train dataset:age非欠損 3. Model:XGBoost / Target:age_cln2 / Train dataset:age非欠損 4. Model:glmnet / Target:age_cln / Train dataset:age非欠損 5. Model:glmnet / Target:age_cln2 / Train dataset:age非欠損 6. Model:XGBoost / Target:country_destination / Train dataset:Train全期間 7. Model:XGBoost / Target:country_destination / Train dataset:直近12ヶ月 8. Model:XGBoost / Target:country_destination / Train dataset:直近6ヶ月 9. Model:XGBoost / Target:country_destination / Train dataset:去年の7,8,9月 10. Model:XGBoost / Target:distance_km / Train dataset:distance_km非欠損 11. Model:XGBoost / Target:destination_km2 / Train dataset:destination_km2非欠損 12. Model:XGBoost / Target:gender / Train dataset:非-unknown- 13. Model:XGBoost / Target:dfb_dac_lag_flg / Train dataset:Train全期間 14. Model:XGBoost / Target:dfb_tfa_lag_flg / Train dataset:Train全期間 15. Model:XGBoost / Target:dfb_dac_lag / Train dataset:Train全期間 16. Model:XGBoost / Target:dfb_tfa_lag / Train dataset:Train全期間 17. Model:glmnet / Target:dfb_dac_lag / Train dataset:Train全期間 18. Model:glmnet / Target:dfb_tfa_lag / Train dataset:Train全期間
  • 11. Modeling(1) ? XGBoostを使ってモデリング – eval_metricはNDCG@5 ? merror、mloglossは最終的に使用しなかった ? c4.8xlargeで1 roundのCVで1分ほど。面倒だが耐える – Drip Coffee10杯分くらい消失:-) – Techniques (Tricks) for Data Mining Competitions(@smly) ? BO、RSCVなどによるチューニングの優先度は低かった ? 特徴選択 – 特に生のageは精度を落とした ? 特徴選択することで精度が一気に向上 – 90%をランダムに特徴選択してモデルを作成
  • 12. Modeling(2) ? XGBoostの変数重要 度 – 直近12ヶ月の country_destination – dfb_dac_lag_flg(XGBoost) – 直近6ヶ月の country_destination – 去年の7,8,9月の country_destination – age_cln2(XGBoost)
  • 13. Results(1) ? 精度一覧 – 最終的に、submission12(5-fold CV)、16(Last 6 weeks)を選択 Submission Memo 5 fold-CV Public Private Public Rank Private Rank submission01.csv.7z merror、mloglossなど で試行錯誤 0.87958 0.88419 submission02.csv.7z 0.87848 0.88201 submission03.csv.7z 0.87917 0.88438 submission04.csv.7z 0.87899 0.88346 submission05.csv.7z 0.87998 0.88515 submission06.csv.7z 0.87996 0.88561 submission07.csv.7z Stackingなし 0.83265 0.88013 0.88590 152 55 submission08.csv.7z Stackingあり 0.83318 0.88123 0.88645 36 12 submission09.csv.7z Feature Selection(1) 0.83355 0.88162 0.88705 12 1 submission10.csv.7z Feature Selection(2) 0.83365 0.88198 0.88697 2 1 submission12.csv.7z Feature Selection(3) 0.83371 0.88209 0.88682 2 2 submission14.csv.7z Last 6 weeks(1) 0.83319 0.88167 0.88696 12 2 submission15.csv.7z 12のBagging 0.83371 0.88207 0.88688 2 2 submission16.csv.7z Last 6 weeks(2) 0.83346 0.88195 0.88678 2 2
  • 14. Results(2) ? 精度確認 0.87900 0.88000 0.88100 0.88200 0.88300 0.88400 0.88500 0.88600 0.88700 0.88800 0.83240 0.83260 0.83280 0.83300 0.83320 0.83340 0.83360 0.83380 LBScore Local 5 fold-CV Score NDCG@5 Score Public Private
  • 15. Shakeupについて ? Forumに「Expected Leaderboard Shakeup」というTopicが立つほどShakeup が懸念される ? 私の考察 – 5-fold CVとPublic LB Scoreの関連が強く、単純に両方とも良いスコアのモ デルを選べば良かった – 最終Submissionに2つ選べるので、1つはPublic LBのScoreが最も高いモ デル、もう1つはLast 6 weeksのScoreが最も高いモデルを選択した ? Best Public LB:Public: 0.88209(2nd)/Private: 0.88682(2nd) ? Best Last 6 weeks Validation:Public: 0.88195(2nd)/Private: 0.88678(2nd) – Shakeupに強そうなGilberto Titericz Juniorさんのコメント ? CVのスコアが同じもの2つがあり、Public LBが良い方を選んだが、一 方はもっと良いスコアであり、Public: 0.88107(57th)/Private: 0.88675(3rd)であった – シンプルなモデル構築を心がけた。アンサンブルはあまり効果がない – 作成した特徴量が強く、Shakeupしたものの上位でとどまった
  • 16. おわりに ? コンペ振り返り – 常に勉強するというスタンスで取り組み、特に開始時期は 気にしない – データをつぶさに見て、考察する ? Trainにしかないdate_first_bookingも使えるか検討する – Evaluation Metricは面倒でも合わせる – 基本的にはCross Validationの結果が良いモデルを選択 – Shakeupの懸念のある場合、シンプルなモデル構築を心 がけ、異なるValidationパターンを用意しておく – Results(2)のようなグラフは必ず書けるようにメモを取る