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.

ハイブリッド型樹木法

4,391 views

Published on

Published in: Data & Analytics

ハイブリッド型樹木法

  1. 1. ハイブリッド型樹木法 Tokyo.R #40 2014.6.14
  2. 2. 元ネタ 2 Rで学ぶデータサイエンス 樹木構造接近法(共立出版) 2.3節・・・ハイブリッド型樹木法 「樹木構造接近法」??? 「ハイブリッド型樹木法」??? 用語的に特殊かも
  3. 3. ハイブリッド型樹木法決定木 3 本来は・・・「モデルに基づく再帰分割法」 model based recursive partition ややこしければ、「決定木学習と回帰分析のハイブリッド」と思ってもOK
  4. 4. 決定木学習とは 目的変数と説明変数のデータから木構造の分類器を生成 トップダウンに、再帰的に、データを分割していく 分割基準 Information Gain (C4.5) Gini係数 (CART) 検定統計量 (CHAID) 4
  5. 5. Irisに決定木学習 5
  6. 6. 連続値に対して決定木学習 6 ※ "cars"データにmvpartを適用 あまり適しているとはいえない・・・
  7. 7. 線形性があるデータは回帰分析が適切 7 dist = 3.93 × speed - 17.6
  8. 8. モデルに基づく再帰分割 8 一般の決定木の分割基準 Information Gain C4.5 Gini係数 CART 検定統計量 CHAID 他の分割基準を採用することもできる  下位モデルとして回帰式を採用  分割した時に2つの回帰式の残差平方和が最小になるように分割  適切な複数の回帰式になるようにデータを分割する
  9. 9. 決定木学習と回帰分析 ・・・ ローテクな組み合わせ? 9
  10. 10. 決定木学習は使われている 10 決定木学習! 2006年にデータマイニング学会IEEE ICDMで選ばれた 「データマイニングで使われるトップ10アルゴリズム」
  11. 11. 回帰も使われている 11 Top2! http://www.kdnuggets.com/polls/2011/algorithms-analytics-data-mining.html
  12. 12. 本題の ハイブリッド型決定木 12
  13. 13. テストデータ・・・Boston 13 crim zn indus chas nox rm age dis rad tax ptratio black lstat medv 1 0.00632 18 2.31 0 0.538 6.575 65.2 4.0900 1 296 15.3 396.90 4.98 24.0 2 0.02731 0 7.07 0 0.469 6.421 78.9 4.9671 2 242 17.8 396.90 9.14 21.6 3 0.02729 0 7.07 0 0.469 7.185 61.1 4.9671 2 242 17.8 392.83 4.03 34.7 4 0.03237 0 2.18 0 0.458 6.998 45.8 6.0622 3 222 18.7 394.63 2.94 33.4 5 0.06905 0 2.18 0 0.458 7.147 54.2 6.0622 3 222 18.7 396.90 5.33 36.2 6 0.02985 0 2.18 0 0.458 6.430 58.7 6.0622 3 222 18.7 394.12 5.21 28.7 medv 持ち家住宅の価格(中央値) 目的変数 rm 平均部屋数 説明(回帰) ptratio 学生/先生の比率 説明(決定木) tax 税率 説明(決定木) nox 窒素酸化物の濃度 説明(決定木) ボストンの住宅価格のデータ (14変数) ※ 住宅価格が部屋数に比例することは前提 head(Boston)
  14. 14. ライブラリ+データ+回帰分析 14 > install.package(“party”) # partyパッケージをインストール > library(party) # ライブラリをロード > data(Boston) # データをロード > plot(Boston$rm,Boston$medv) # 回帰用データをプロット > res <- lm(medv~rm, data=Boston) # 回帰分析 > abline(res) # 回帰直線をプロット
  15. 15. 住宅価格と部屋数の回帰分析 15 4 5 6 7 8 1020304050 Boston$rm Boston$medv ※ 決定係数=0.4835で、これだけでも特に悪いわけではない ※ 本ではrmを2乗していますが、ここでは1乗にします(説明のため)
  16. 16. ハイブリッド型決定木の関数:mob 16 > mob_ctl <- mob_control(minsplit=90) > result <- mob(medv ~ rm | crim+zn+indus+lstat+black+ptratio+rad+tax+age+dis+nox, data=Boston, control=mob_ctl) > plot(result) 関数 mob ... MOdel Based recursive partition 書式 mob( y ~ x | a + b + c, data=DATA) 目的変数 説明変数(回帰) 説明変数(決定木) # シンプルな木にする
  17. 17. ハイブリッド型決定木 17 ptratio p < 0.001 1 20.1 20.1 tax p < 0.001 2 265 265 Node 3 (n = 84) 3.1 9.3 1 54 Node 4 (n = 226) 3.1 9.3 1 54 nox p < 0.001 5 0.668 0.668 Node 6 (n = 111) 3.1 9.3 1 54 Node 7 (n = 85) 3.1 9.3 1 54 学生/先生比 税率 窒素酸化物濃度
  18. 18. 各終端ノードの回帰分析結果 18 > summary(result) # 末端ノードの結果が出力される $`3` Call: NULL Deviance Residuals: Min 1Q Median 3Q Max -9.069 0.000 0.000 0.000 11.409 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) -53.4271 3.2189 -16.60 <2e-16 *** rm 12.2871 0.4625 26.57 <2e-16 *** ---
  19. 19. 住宅価格と部屋数の回帰分析結果 19 ptratio p < 0.001 20.1 20.1 tax p < 0.001 2 265 265 Node 3 (n = 84) 3.1 9.3 1 54 Node 4 (n = 226) 3.1 9.3 1 54 nox p < 0.001 5 0.668 0.668 Node 6 (n = 111) 3.1 9.3 1 54 Node 7 (n = 85) 3.1 9.3 1 54 決定係数 0.86 0.78 0.06 0.03 傾き 11.9 10.0 3.50 1.22 Pr (t) <2e-16 <2e-16 0.007 0.11 ※ Node3では、一部屋増えると $11,900価格が上がる ※ Node7では、rmを用いた回帰分析は妥当ではない
  20. 20. 20 4 5 6 7 8 1020304050 Boston$rm Boston$medv まとめ ハイブリッド型樹木法: データを複数の回帰モデルに分割 ptratio p < 0.001 1 20.1 20.1 tax p < 0.001 2 265 265 Node 3 (n = 84) 3.1 9.3 1 54 Node 4 (n = 226) 3.1 9.3 1 54 nox p < 0.001 5 0.668 0.668 Node 6 (n = 111) 3.1 9.3 1 54 Node 7 (n = 85) 3.1 9.3 1 54
  21. 21. ご清聴ありがとうございました 21

×