Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Dslt祭り2夜

1,373 views

Published on

20160913開催のDslt祭り2夜の資料です。

Published in: Data & Analytics
  • Be the first to comment

Dslt祭り2夜

  1. 1. 1回くらいやってみよう: Kaggle初挑戦 Twi,er: @siero5335 データサイエンスLT祭り 2夜⽬@Yahoo! 20160913 参照: h,ps://www.kaggle.com/c/shelter-animal-outcomes
  2. 2. 結果 ⾝も蓋もありませんが最終結果です 参照: h,ps://www.kaggle.com/c/shelter-animal-outcomes
  3. 3. 結果 ⾝も蓋もない感じですが最終結果です ここにたどり着いた経緯について今⽇は話します 参照: h,ps://www.kaggle.com/c/shelter-animal-outcomes
  4. 4. 誰 Twi,er ID: @siero5335 仕事: 化学物質曝露影響の解析    化学分析法の開発    専⾨: 環境化学、分析化学 興味: ⽣理活性物質の⼀⻫分析    関連分野へのデータ解析応⽤ hoxo-m末席 これまで触ってたデータはサンプルサイズn = 100前後 変数のほうが数が多いことが多い 今後n=1000-10000くらいのデータも扱うかも?
  5. 5. 背景: データセット 保健所に預けられたイヌ・ネコが どうなったか、どうなるかを予測 特徴量: 種、⾊、名前の有無、性別、年齢等 アウトカム: 他所への輸送、引取、死亡、安楽死、 飼い主への返却の5種 参照: h,ps://www.kaggle.com/c/shelter-animal-outcomes
  6. 6. 背景: なぜこのコンペ? 1: データが⼤きすぎない (解凍して3MB弱) サンプルサイズ数万オーダー 2: ちょうど本業のデカ⽬のデータセットと似た⼤きさ 3: 特徴量も本業と似てる → 何か得るものがあるだろうということで参加 参照: h,ps://www.kaggle.com/c/shelter-animal-outcomes
  7. 7. 環境 OSX 10.11 Rstudio + MicrosoQ R open ver3.2.4 とりあえず練習なのでローカル上で
  8. 8. 初めはKernelを参考に とりあえずデータは読み込んでみたものの どこから⼿を付けるか?
  9. 9. 初めはKernelを参考に とりあえずデータは読み込んでみたものの どこから⼿を付けるか? アウトカムはわかるけど…
  10. 10. 初めはKernelを参考に h,ps://www.kaggle.com/kernels Kernel: 解析結果を公開・共有する場 公開コードから前処理や解析のヒントを得られる
  11. 11. 初めはKernelを参考に h,ps://www.kaggle.com/kernels 公開する側はメンターとしてポイントが得られる
  12. 12. マエショリ
  13. 13. 前処理: やってみたこと これまで演者がやってきた解析は⼤抵 Excelでどうとでもなるデータがほとんど dplyrなどの使⽤経験も浅い → Kernelを写経・データの変化確認を繰り返して慣れる 参照: h,ps://www.kaggle.com/mrisdal/shelter-animal-outcomes/quick-dirty-randomforest
  14. 14. 前処理: やってみたこと これまで演者がやってきた解析は⼤抵 Excelでどうとでもなるデータがほとんど dplyrなどの使⽤経験も浅い → Kernelを写経・データの変化確認を繰り返して慣れる 慣れてきたら? ちょっと⼯夫してみる ex. LOFで検出された外れ値外す、 SMOTEでoutcomeの例数を揃える 参考図書 参照: h,ps://www.kaggle.com/mrisdal/shelter-animal-outcomes/quick-dirty-randomforest
  15. 15. 前処理: やってみたこと これまで演者がやってきた解析は⼤抵 Excelでどうとでもなるデータがほとんど dplyrなどの使⽤経験も浅い → Kernelを写経・データの変化確認を繰り返して慣れる 慣れてきたら? ちょっと⼯夫してみる ex. LOFで検出された外れ値外す、 SMOTEでoutcomeの例数を揃える 悲しいかな結果としてはどれも精度向上には寄与せず… 参考図書 参照: h,ps://www.kaggle.com/mrisdal/shelter-animal-outcomes/quick-dirty-randomforest
  16. 16. モデル
  17. 17. モデル: glmnet, SVM, xgboost 今回はcaretを使わず各パッケージの機能を使⽤ glmnet: cv.glmnetによる多クラス分類 参照: glmnetで多クラスのロジスティック回帰 h,p://d.hatena.ne.jp/teramonagi/20150615/1434367563 SVM: class.weightの調整 参照: 不均衡データのクラス分類, 不均衡データをSVMでクラス分類するにはどうすれば良いか h,p://d.hatena.ne.jp/teramonagi/20150615/1434367563 h,p://tjo.hatenablog.com/entry/2014/10/09/224106 xgboost: max_delta_step調整による不均衡データ対応 参照: xgboost のパラメータ h,p://puyokw.hatenablog.com/entry/2015/04/11/040941
  18. 18. モデル: glmnet, SVM, xgboost 今回はcaretを使わず各パッケージの機能を使⽤ xgboost: max_delta_step調整による不均衡データ対応 参照: xgboost のパラメータ h,p://puyokw.hatenablog.com/entry/2015/04/11/040941 最終的にこれが⼀番良かった logloss = 0.745くらい ⼀般的な動物の⼤きさや⾷べる量などの特徴量を追 加して⼯夫した⽅は0.704くらいまで下がっていた Top勢はデータリーク?で0に近い数字になっている が、leak表記がない⼈でも0.34まで下げてる h,ps://www.kaggle.com/c/shelter-animal-outcomes/forums/t/22589/0-704-score-with-xgb
  19. 19. 雑感 xgboostの特徴量としてSVMやglmnetの結果を⼊れて stackingみたいなことをしてみたが精度は上がらず 上位陣が何をやってここまで伸ばしているのかさっ ぱりわからなかった。やっぱりマスターって凄い。
  20. 20. 結果 参照: h,ps://www.kaggle.com/c/shelter-animal-outcomes
  21. 21. 雑感 個⼈的にはとても意味があった。Kernelなぞるだけで も気づきがあるし、kaggleガチ勢は当たり前のように stackingやxgboostの話をしているが実際にやったらす ぐに結果が良くなるではないことを体験できた。 本当はその辺りに⾊々⼯夫があるのだと思うがもう 少しやってみないと⼊賞コード読んでも余り凄さが わからないのかも... ここにいらっしゃった⽅でまだやったことがないな ら、⼀度くらい挑戦しても良いと思います。
  22. 22. Enjoy!

×