More Related Content
Similar to Xgboost for share (19)
More from Shota Yasui (13)
Xgboost for share
- 2. About My Self
安井翔太 / Shota Salmon Yasui
Twitter: @housecat442
<けーれき>
• 日本のド文系経済学部
• アメリカで計量経済学1年
• ノルウェーで資源・環境経済学修士取得
• SNF研究所でデータ分析(環境税作成)
• 広告関係のデータ分析やってます。
- 3. xgboostとは?
• Gradient Boosting Decision Treeという予測モデルのC++での実装。
• それをRから使える様にするのが、xgboost package。
• メモリエラーが原因でCRANから消されてる・・・けど、githubからイン
ストール可能。
<githubからインストール>
devtools::install_github('dmlc/xgboost',subdir='R-package')
gbmよりはやい!(当社比10倍・・・らしい)
- 4. Gradient Boosting Decision Treeとは?
• Decision Tree(決定木)をGradient Boostingする。
• 決定木は割愛
• Boostingとは、複数のモデルを連動させ、「M人寄れば文殊の知恵」的な
感じに逐次的に学習をする方法。(adaboostというのが有名)
• Gradient Boosting とは基本的にはboostingと一緒だが、疑似的な誤差を算
出してその誤差に対して次のモデルを学習させるという方法。
• 疑似的な誤差は、各サンプルについての誤差を予測モデルについて偏微
分した値なので、モデルに変化を与えた際に誤差が変わりやすいサンプ
ルに対して重点的に追加の学習が行われていると解釈できる。
- 5. 1. 決定木の学習をする
2. 決定木の予測と誤差を算出する
3. 誤差に対して決定木を学習しなおす。(木が1本増える)
4. 誤差を算出する。
5. 指定したM本の木が出来るまで3-4を繰り返す。
単純化して言えば・・・
学習の際のハイパーパラメーターは
• 木の本数
• 木の深さ
• 次の木にどのくらい学習の情報を渡すかの重み(shrinkage)
3で学習する際に適応される
の3つが基本。