SlideShare uma empresa Scribd logo
1 de 22
Baixar para ler offline
1回くらいやってみよう:	Kaggle初挑戦
Twi,er:	@siero5335	
データサイエンスLT祭り 2夜⽬@Yahoo!	
20160913	
参照:	h,ps://www.kaggle.com/c/shelter-animal-outcomes
結果
⾝も蓋もありませんが最終結果です
参照:	h,ps://www.kaggle.com/c/shelter-animal-outcomes
結果
⾝も蓋もない感じですが最終結果です
ここにたどり着いた経緯について今⽇は話します
参照:	h,ps://www.kaggle.com/c/shelter-animal-outcomes
誰
Twi,er	ID:	@siero5335	
	
仕事:	化学物質曝露影響の解析	
   化学分析法の開発	
   専⾨:	環境化学、分析化学	
	
興味:	⽣理活性物質の⼀⻫分析	
   関連分野へのデータ解析応⽤	
											hoxo-m末席	
	
これまで触ってたデータはサンプルサイズn	=	100前後	
変数のほうが数が多いことが多い	
	
今後n=1000-10000くらいのデータも扱うかも?
背景: データセット
保健所に預けられたイヌ・ネコが
どうなったか、どうなるかを予測
特徴量: 種、⾊、名前の有無、性別、年齢等
アウトカム: 他所への輸送、引取、死亡、安楽死、
飼い主への返却の5種
参照:	h,ps://www.kaggle.com/c/shelter-animal-outcomes
背景: なぜこのコンペ?
1: データが⼤きすぎない (解凍して3MB弱)
サンプルサイズ数万オーダー
2: ちょうど本業のデカ⽬のデータセットと似た⼤きさ
3: 特徴量も本業と似てる
→ 何か得るものがあるだろうということで参加
参照:	h,ps://www.kaggle.com/c/shelter-animal-outcomes
環境
OSX	10.11	
Rstudio	+	MicrosoQ	R	open	ver3.2.4	
	
とりあえず練習なのでローカル上で
初めはKernelを参考に
とりあえずデータは読み込んでみたものの
どこから⼿を付けるか?
初めはKernelを参考に
とりあえずデータは読み込んでみたものの
どこから⼿を付けるか?
アウトカムはわかるけど…
初めはKernelを参考に
h,ps://www.kaggle.com/kernels
Kernel:	解析結果を公開・共有する場
公開コードから前処理や解析のヒントを得られる
初めはKernelを参考に
h,ps://www.kaggle.com/kernels
公開する側はメンターとしてポイントが得られる
マエショリ
前処理: やってみたこと
これまで演者がやってきた解析は⼤抵
Excelでどうとでもなるデータがほとんど
dplyrなどの使⽤経験も浅い
→ Kernelを写経・データの変化確認を繰り返して慣れる
参照: h,ps://www.kaggle.com/mrisdal/shelter-animal-outcomes/quick-dirty-randomforest
前処理: やってみたこと
これまで演者がやってきた解析は⼤抵
Excelでどうとでもなるデータがほとんど
dplyrなどの使⽤経験も浅い
→ Kernelを写経・データの変化確認を繰り返して慣れる
慣れてきたら?
ちょっと⼯夫してみる
	
ex.	LOFで検出された外れ値外す、
SMOTEでoutcomeの例数を揃える
参考図書
参照: h,ps://www.kaggle.com/mrisdal/shelter-animal-outcomes/quick-dirty-randomforest
前処理: やってみたこと
これまで演者がやってきた解析は⼤抵
Excelでどうとでもなるデータがほとんど
dplyrなどの使⽤経験も浅い
→ Kernelを写経・データの変化確認を繰り返して慣れる
慣れてきたら?
ちょっと⼯夫してみる
	
ex.	LOFで検出された外れ値外す、
SMOTEでoutcomeの例数を揃える
悲しいかな結果としてはどれも精度向上には寄与せず…
参考図書
参照: h,ps://www.kaggle.com/mrisdal/shelter-animal-outcomes/quick-dirty-randomforest
モデル
モデル:	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
モデル:	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
雑感
xgboostの特徴量としてSVMやglmnetの結果を⼊れて
stackingみたいなことをしてみたが精度は上がらず	
	
上位陣が何をやってここまで伸ばしているのかさっ
ぱりわからなかった。やっぱりマスターって凄い。
結果
参照:	h,ps://www.kaggle.com/c/shelter-animal-outcomes
雑感
	
個⼈的にはとても意味があった。Kernelなぞるだけで
も気づきがあるし、kaggleガチ勢は当たり前のように
stackingやxgboostの話をしているが実際にやったらす
ぐに結果が良くなるではないことを体験できた。	
	
本当はその辺りに⾊々⼯夫があるのだと思うがもう
少しやってみないと⼊賞コード読んでも余り凄さが
わからないのかも...	
	
ここにいらっしゃった⽅でまだやったことがないな
ら、⼀度くらい挑戦しても良いと思います。
Enjoy!

Mais conteúdo relacionado

Mais de Akifumi Eguchi

みどりぼん9章前半
みどりぼん9章前半みどりぼん9章前半
みどりぼん9章前半
Akifumi Eguchi
 

Mais de Akifumi Eguchi (19)

PlaidML Kerasでやっていく #TokyoR 73
PlaidML Kerasでやっていく #TokyoR 73PlaidML Kerasでやっていく #TokyoR 73
PlaidML Kerasでやっていく #TokyoR 73
 
High-order factorization machines with R #tokyor 61
High-order factorization machines with R  #tokyor 61High-order factorization machines with R  #tokyor 61
High-order factorization machines with R #tokyor 61
 
Randomforestで高次元の変数重要度を見る #japanr LT
 Randomforestで高次元の変数重要度を見る #japanr LT Randomforestで高次元の変数重要度を見る #japanr LT
Randomforestで高次元の変数重要度を見る #japanr LT
 
統計的学習の基礎6章前半 #カステラ本
統計的学習の基礎6章前半 #カステラ本統計的学習の基礎6章前半 #カステラ本
統計的学習の基礎6章前半 #カステラ本
 
環境化学データ解析入門: 愛媛大講演資料 160728
環境化学データ解析入門: 愛媛大講演資料 160728環境化学データ解析入門: 愛媛大講演資料 160728
環境化学データ解析入門: 愛媛大講演資料 160728
 
統計的学習の基礎, 副読本紹介: An Introduction to Statistical Learning
統計的学習の基礎, 副読本紹介: An Introduction to Statistical Learning統計的学習の基礎, 副読本紹介: An Introduction to Statistical Learning
統計的学習の基礎, 副読本紹介: An Introduction to Statistical Learning
 
Mxnetで回帰 #TokyoR 53th
Mxnetで回帰 #TokyoR 53thMxnetで回帰 #TokyoR 53th
Mxnetで回帰 #TokyoR 53th
 
子どもたちの未来を支える機械学習: 定量的構造活性相関 (QSAR) による有機ハロゲン化合物の母子間移行率予測
子どもたちの未来を支える機械学習: 定量的構造活性相関 (QSAR) による有機ハロゲン化合物の母子間移行率予測子どもたちの未来を支える機械学習: 定量的構造活性相関 (QSAR) による有機ハロゲン化合物の母子間移行率予測
子どもたちの未来を支える機械学習: 定量的構造活性相関 (QSAR) による有機ハロゲン化合物の母子間移行率予測
 
ぞくパタ最終回: 13章「共クラスタリング」
ぞくパタ最終回: 13章「共クラスタリング」ぞくパタ最終回: 13章「共クラスタリング」
ぞくパタ最終回: 13章「共クラスタリング」
 
Deep learningもくもくハッカソンまとめup用
Deep learningもくもくハッカソンまとめup用Deep learningもくもくハッカソンまとめup用
Deep learningもくもくハッカソンまとめup用
 
Tokyo webmining 43 "化学物質汚染のデータ解析・リスク評価についての私見"
Tokyo webmining 43 "化学物質汚染のデータ解析・リスク評価についての私見"Tokyo webmining 43 "化学物質汚染のデータ解析・リスク評価についての私見"
Tokyo webmining 43 "化学物質汚染のデータ解析・リスク評価についての私見"
 
第2回ぞくパタ
第2回ぞくパタ第2回ぞくパタ
第2回ぞくパタ
 
第一回ぞくパタ
第一回ぞくパタ第一回ぞくパタ
第一回ぞくパタ
 
ぞくパタ はじめに
ぞくパタ はじめにぞくパタ はじめに
ぞくパタ はじめに
 
Tokyo.r #44 lt.pptx
Tokyo.r #44 lt.pptxTokyo.r #44 lt.pptx
Tokyo.r #44 lt.pptx
 
Tokyo r #43
Tokyo r #43Tokyo r #43
Tokyo r #43
 
みどりぼん9章前半
みどりぼん9章前半みどりぼん9章前半
みどりぼん9章前半
 
みどりぼん3章前半
みどりぼん3章前半みどりぼん3章前半
みどりぼん3章前半
 
Tokyo R #39
Tokyo R #39Tokyo R #39
Tokyo R #39
 

Dslt祭り2夜