Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Dslt祭り2夜

1.688 visualizaciones

Publicado el

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

Publicado en: Datos y análisis
  • Sé el primero en comentar

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!

×