SlideShare une entreprise Scribd logo
1  sur  33
Télécharger pour lire hors ligne
Rによるデータサイエンス第13章	
  
     「樹木モデル」	

 テキスト「Rによるデータサイエンス」に沿って	
  
  Rでの樹木モデルの扱い方を解説します。	
  
                	
  
                	
  
  2011年10月22日 第18回R勉強会@東京	
  
           @takemikami
13.1	
  樹木モデルとは	


                    樹木モデルとは	
  •  説明変数を何らかの基準をもとに分岐させて
     構築した判別・予測のモデル	
  
  •  分岐の過程を木構造で示すことが出来る	
  

  •  問題に応じた呼び方	
  
      –  判別分析:分類木・決定木	
  
      –  回帰分析:回帰木	
  
13.1	
  樹木モデルとは	


           判別分析の例                   アヤメの品種分類	

  •  がく片の大きさから	
  
     アヤメの品種を判別する分析	
  
  •  説明変数:がく片の大きさ	
  
  •  目的変数:アヤメの品種	
  




          setosa	
   vergicolor	
       virginica
13.1	
  樹木モデルとは	


           判別分析の例   アヤメの品種分類	

  •  がく片の大きさとアヤメの品種を木構造で判
     断
13.1	
  樹木モデルとは	


    回帰分析の例            自動車の速度と停止に要する距離   	
  •  自動車の速度から	
  
     ブレーキから停止までにかかる距離の予測	
  
  •  説明変数:自動車の速度	
  
  •  目的変数:停止までにかかる距離	
  

        速度	




                    停止までにかかる距離
13.1	
  樹木モデルとは	


    回帰分析の例          自動車の速度と停止に要する距離   	
  •  自動車の速度と止まるまでの距離を木構造
     で分析
13.2	
  樹木モデルの基礎	


                  樹木モデルの基礎	
  •  樹木モデルのアルゴリズム	
  
      –  生成・生長:分岐の方法	
  
      –  剪定:モデルの簡潔化	
  
                             生成・生長	

 今日用いられているアルゴリズム	

  アルゴリズム	
      分岐・剪定の方法	
  CHAID	
       カイ2乗統計量、F統計量	
  
  C4.5/C5.0/See5	
 利得比	
                                       剪定	
  CART	
        ジニ多様性指標、情報利得
13.2	
  樹木モデルの基礎	


        具体例             夏休み海水浴に行く・行かない①	

   •  風・気温から海水浴に行くかを判断	
  
 元データ	
                            行動パターン判断結果	
  No	
 風	
 気温	
 海水浴	
                       気温:高	
 気温:中	
 気温:低	
  1	
    弱	
 高	
   行く	
             風:弱	
   行く	
   行く	
   行かない	
  2	
    弱	
 低	
   行かない	
           風:強	
   行かない	
 行かない	
 行かない	
  3	
    弱	
 高	
   行く	
  
  4	
    弱	
 中	
   行く	
  
                               これを樹木モデルに	
  
  5	
    弱	
 低	
   行かない	
      当てはめて考えてみる	
  6	
    弱	
 高	
   行かない	
  7	
    強	
 高	
   行かない	
  8	
    強	
 低	
   行かない	
  9	
    強	
 中	
   行かない	
                            目的変数:海水浴行く・行かない	
  
  10	
   強	
 高	
   行く	
     説明変数:風・気温
13.2	
  樹木モデルの基礎	


    具体例              夏休み海水浴に行く・行かない②	

  •  ジニ係数(Gini	
  Index)を用いて分岐点を計算	
  

                             t:ノード数 i:クラス p:比率	




  •  分布の不純度の尺度	
  
     値が大きいほど、不純度が高い(データがば
     らついている)	
  
13.2	
  樹木モデルの基礎	


    具体例               夏休み海水浴に行く・行かない③	

  •  分岐前の状態のジニ係数を算出	
  
  No	
 風	
 気温	
 海水浴	
  1	
    弱	
 高	
   行く	
  
                            GI(分岐前)	
  
  2	
    弱	
 低	
   行かない	
                              =	
  1-­‐[(4/10)2	
  +	
  (6/10)2]	
  =	
  0.48	
  3	
    弱	
 高	
   行く	
  
  4	
    弱	
 中	
   行く	
  
  5	
    弱	
 低	
   行かない	
  6	
    弱	
 高	
   行かない	
  7	
    強	
 高	
   行かない	
  8	
    強	
 低	
   行かない	
  9	
    強	
 中	
   行かない	
  10	
   強	
 高	
   行く
13.2	
  樹木モデルの基礎	


    具体例               夏休み海水浴に行く・行かない④	

  •  風の強弱を分岐点とするジニ係数を算出	
  
  No	
 風	
 気温	
 海水浴	
  1	
    弱	
 高	
   行く	
     GI(風=弱)	
  
  2	
    弱	
 低	
   行かない	
     =	
  1-­‐[(3/6)2	
  +	
  (3/6)2]	
  =	
  0.5	
  3	
    弱	
 高	
   行く	
  
  4	
    弱	
 中	
   行く	
          GI(風=強・弱)	
  
  5	
    弱	
 低	
   行かない	
         =	
  GI分岐前	
  
  6	
    弱	
 高	
   行かない	
        	
    –	
  6/10GI(風=弱)	
  -­‐	
  4/10(風=強)	
  
  7	
    強	
 高	
   行かない	
                                  =	
  0.032	
  8	
    強	
 低	
   行かない	
                            GI(風=強)	
  
  9	
    強	
 中	
   行かない	
                              =	
  1-­‐[(1/4)2	
  +	
  (3/4)2]	
  =	
  0.375	
  10	
   強	
 高	
   行く
13.2	
  樹木モデルの基礎	


    具体例               夏休み海水浴に行く・行かない⑤	

  •  気温の高中低を分岐点とするジニ係数算出	
  
  No	
 風	
 気温	
 海水浴	
       GI(気温=高)	
  
  1	
    弱	
 高	
   行く	
       =	
  1-­‐[(2/5)2	
  +	
  (3/5)2]	
  =	
  0.48	
  
  2	
    弱	
 低	
   行かない	
   GI(気温=中低)	
  
  3	
    弱	
 高	
   行く	
       =	
  1-­‐[(4/5)2	
  +	
  (1/5)2]	
  =	
  0.32	
  
  4	
    弱	
 中	
   行く	
     GI(気温=高・中低)	
  
  5	
    弱	
 低	
   行かない	
    =	
  GI(分岐前)	
  
  6	
    弱	
 高	
   行かない	
     -­‐	
  GI(気温=高)-­‐GI(気温=中低)	
  
  7	
    強	
 高	
   行かない	
    =	
  0.08	
  
  8	
    強	
 低	
   行かない	
   同様に、	
  
  9	
    強	
 中	
   行かない	
    GI(気温=中・高低)=0.05	
  
  10	
   強	
 高	
   行く	
      GI(気温=低・高中)=0.137	
  
13.2	
  樹木モデルの基礎	


      具体例                            夏休み海水浴に行く・行かない⑥	

  •  (最も大きい)ジニ係数から分岐点を決める	
  
   GI(風=強・弱)	
  	
  	
  	
  	
  	
  	
  	
  	
  =	
  0.032	
  
   GI(気温=高・中低)	
  =	
  0.08	
  
   GI(気温=中・高低)	
  =	
  0.05	
  
                                                                      ①	
   GI(気温=低・高中)	
  =	
  0.137	
  
 第1ノードは気温の高中・低で分岐。	
  
 同様にして第2ノード以降も求めていく	
                                                                            ②	
                        気温:高	
 気温:中	
 気温:低	
      風:弱	
             行かない	
 行かない	
 行かない	
②	
      風:強	
             行く	
              行く	
               行かない	

                                                         ①
13.3.2	
  分類木	


                  分類木で使用するデータ	
   •  がく片の大きさとアヤメの品種の対応データ	
  
                                    (説明変数)	
  
                                   がく片の大きさ	




                                     (目的変数)	
  
                                    アヤメの品種	




                   アヤメの品種種別	
  
                    データ50件づつ	
  
13.3.2	
  分類木	


                  分類木 (1)木の生成①	
   •  がく片の大きさからアヤメの品種を判別する
      分類木を生成	
  
13.3.2	
  分類木	


                   分類木 (1)木の生成②	
                                           ライブラリ読込。事前に
                                         install.packages(“mvpart”)	
  
                                                の実行が必要	
  
                                                         乱数の初期化	
  
                                                       ※後述する交差確認法の
                                                        結果を固定するため	
  
                                                             分類木の生成	
  
                                                             入力データ:iris	
  
                                                            目的変数:SpeciesC	
  




  分類条件	
  
                               該当値	
             構成比	
  
             ノードの       非該当	
  
             データ数	
     データ数	
  
13.3.2	
  分類木	


                  分類木 (1)木の生成③	
                                                    1)	


                                                            3)	
                                       2)	

                                                    6)	
                                                                   7)	



                                                12)	
      13)	

                                   分類木の描画	
  
                  ラベル・グラフの描画	
  
13.3.2	
  分類木	


                  分類木 (2)木の剪定①	
   •  交差確認法(cross	
  valida[on)の結果から、剪
      定基準を判断	
  
                          Min+1SE法:	
  
  交差確認法の結果	
                          xerror最小値を中心とした標準偏差の1倍
                          範囲内の最大error値を基準	
  




                                                      基準のxerror値	
  


                         →0.10+0.030551	
  =	
  0.130551	
            目安の複雑度	
  
13.3.2	
  分類木	


                  分類木 (2)木の剪定②	
   •  目安の複雑度を用いて剪定	
  
                             目安の複雑度で剪定	
  

                    分類木描画(下)	
  
    複雑度描画(右)	
  
13.3.2	
  分類木	


                  分類木 (3)判別①	
   •  (未知データの判別を想定して、)モデル作成
      に用いていないデータを用意し、予測する	
  
        –  奇数行データ:学習用→モデル作成に使用	
  
        –  偶数行データ:テスト用→判別に使用	
  
13.3.2	
  分類木	


                    分類木 (3)判別②	
                     偶数行・奇数行
                     でデータ分割	
  




                     学習データで	
  
    複雑度を表示(右)	
      分類木生成	
  




                                  予測・判別を実施	
     剪定の必要なしと
                                                    判断	
  
13.3.3	
  回帰木	


                  回帰木で使用するデータ	
   •  自動車の速度とブレーキから停止までにかか
      る距離のデータ	
                        (説明変数)	
  
                          速度	
  



                    (目的変数)	
  
                   停止までの距離	
  
13.3.3	
  回帰木	


                  回帰木	
  (1)回帰木の生成①	
   •  自動車の速度からブレーキから停止までに
      かかる距離の予測
13.3.3	
  回帰木	


                  回帰木	
  (1)回帰木の生成②	
                                    回帰木の生成	
  
                                    目的変数:dist	
  




分類条件	
      ノードの                 実測値	
  
                       尤離度	
  
            データ数	
  
13.3.3	
  回帰木	


                  回帰木	
  (2)回帰木の剪定①	
   •  選定基準の判断および剪定	
                    目安の複雑度を確認(右)	
  




                             目安の	
  
                            複雑度で剪定	
  
13.3.4	
  多変量回帰木	


       多変量回帰木で使用するデータ	
   •  「蜘蛛の種類」と「蜘蛛狩りの環境」の分布
      データ	




                      (目的変数)	
      (説明変数)	
  
                     蜘蛛の種類と数	
     蜘蛛狩りの環境	
  
13.3.4	
  多変量回帰木	


       多変量回帰木	
  (2)解析と結果①	

  多変量回帰木:	
  
   目的変数が複数ある回帰木	
  
  	
  
  説明変数:蜘蛛狩りの環境	
  
  目的変数:蜘蛛の種類の分布	
  
  として多変量回帰木を生成
13.3.4	
  多変量回帰木	


       多変量回帰木	
  (2)解析と結果①	
                     目的変数の主成分分析
13.4	
  補遺	


                        パッケージ:tree①	
                         事前に	
                  折れ線回帰図	
                install.packages(”tree”);	
  
                     の実行が必要	
  




               折れ線回帰図の描画	
  
13.4	
  補遺	


                    パッケージ:tree②	
                              分割分類図	




               分割分類図の描画	
  
13.4	
  補遺	


               パッケージ:Rweka①	
                                       事前に	
  
                   install.packages("RWeka",	
  dependencies=TRUE);	
  
                                    の実行が必要	
  


                               C4.5のアルゴリズムによる	
  
                                    分類木の生成	
  
13.4	
  補遺	


               パッケージ:Rweka②	
                                               事前に	
  
                 install.packages(”party",	
  dependencies=TRUE);	
  library(party)	
  
                                        の実行が必要	
  
13.4	
  補遺	


               パッケージ:Rweka③	
                         箱ひげ図の描画(左)	
  


                            棒グラフの描画(右)	
  

Contenu connexe

Tendances

グラフ理論入門 1
グラフ理論入門 1グラフ理論入門 1
グラフ理論入門 1butsurizuki
 
時系列解析の使い方 - TokyoWebMining #17
時系列解析の使い方 - TokyoWebMining #17時系列解析の使い方 - TokyoWebMining #17
時系列解析の使い方 - TokyoWebMining #17horihorio
 
DeepLearning 輪読会 第1章 はじめに
DeepLearning 輪読会 第1章 はじめにDeepLearning 輪読会 第1章 はじめに
DeepLearning 輪読会 第1章 はじめにDeep Learning JP
 
Rで学ぶ観察データでの因果推定
Rで学ぶ観察データでの因果推定Rで学ぶ観察データでの因果推定
Rで学ぶ観察データでの因果推定Hiroki Matsui
 
レプリカ交換モンテカルロ法で乱数の生成
レプリカ交換モンテカルロ法で乱数の生成レプリカ交換モンテカルロ法で乱数の生成
レプリカ交換モンテカルロ法で乱数の生成Nagi Teramo
 
スパースモデリング入門
スパースモデリング入門スパースモデリング入門
スパースモデリング入門Hideo Terada
 
異常検知と変化検知 7章方向データの異常検知
異常検知と変化検知 7章方向データの異常検知異常検知と変化検知 7章方向データの異常検知
異常検知と変化検知 7章方向データの異常検知智文 中野
 
2 4.devianceと尤度比検定
2 4.devianceと尤度比検定2 4.devianceと尤度比検定
2 4.devianceと尤度比検定logics-of-blue
 
機械学習モデルのハイパパラメータ最適化
機械学習モデルのハイパパラメータ最適化機械学習モデルのハイパパラメータ最適化
機械学習モデルのハイパパラメータ最適化gree_tech
 
ロジスティック回帰の考え方・使い方 - TokyoR #33
ロジスティック回帰の考え方・使い方 - TokyoR #33ロジスティック回帰の考え方・使い方 - TokyoR #33
ロジスティック回帰の考え方・使い方 - TokyoR #33horihorio
 
グラフィカル Lasso を用いた異常検知
グラフィカル Lasso を用いた異常検知グラフィカル Lasso を用いた異常検知
グラフィカル Lasso を用いた異常検知Yuya Takashina
 
時系列分析による異常検知入門
時系列分析による異常検知入門時系列分析による異常検知入門
時系列分析による異常検知入門Yohei Sato
 
ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定Akira Masuda
 
比例ハザードモデルはとってもtricky!
比例ハザードモデルはとってもtricky!比例ハザードモデルはとってもtricky!
比例ハザードモデルはとってもtricky!takehikoihayashi
 
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)RyuichiKanoh
 
ブラックボックス最適化とその応用
ブラックボックス最適化とその応用ブラックボックス最適化とその応用
ブラックボックス最適化とその応用gree_tech
 
グラフィカルモデル入門
グラフィカルモデル入門グラフィカルモデル入門
グラフィカルモデル入門Kawamoto_Kazuhiko
 
Triplet Loss 徹底解説
Triplet Loss 徹底解説Triplet Loss 徹底解説
Triplet Loss 徹底解説tancoro
 

Tendances (20)

グラフ理論入門 1
グラフ理論入門 1グラフ理論入門 1
グラフ理論入門 1
 
時系列解析の使い方 - TokyoWebMining #17
時系列解析の使い方 - TokyoWebMining #17時系列解析の使い方 - TokyoWebMining #17
時系列解析の使い方 - TokyoWebMining #17
 
DeepLearning 輪読会 第1章 はじめに
DeepLearning 輪読会 第1章 はじめにDeepLearning 輪読会 第1章 はじめに
DeepLearning 輪読会 第1章 はじめに
 
Rで学ぶ観察データでの因果推定
Rで学ぶ観察データでの因果推定Rで学ぶ観察データでの因果推定
Rで学ぶ観察データでの因果推定
 
楕円曲線と暗号
楕円曲線と暗号楕円曲線と暗号
楕円曲線と暗号
 
レプリカ交換モンテカルロ法で乱数の生成
レプリカ交換モンテカルロ法で乱数の生成レプリカ交換モンテカルロ法で乱数の生成
レプリカ交換モンテカルロ法で乱数の生成
 
スパースモデリング入門
スパースモデリング入門スパースモデリング入門
スパースモデリング入門
 
異常検知と変化検知 7章方向データの異常検知
異常検知と変化検知 7章方向データの異常検知異常検知と変化検知 7章方向データの異常検知
異常検知と変化検知 7章方向データの異常検知
 
2 4.devianceと尤度比検定
2 4.devianceと尤度比検定2 4.devianceと尤度比検定
2 4.devianceと尤度比検定
 
機械学習モデルのハイパパラメータ最適化
機械学習モデルのハイパパラメータ最適化機械学習モデルのハイパパラメータ最適化
機械学習モデルのハイパパラメータ最適化
 
ロジスティック回帰の考え方・使い方 - TokyoR #33
ロジスティック回帰の考え方・使い方 - TokyoR #33ロジスティック回帰の考え方・使い方 - TokyoR #33
ロジスティック回帰の考え方・使い方 - TokyoR #33
 
グラフィカル Lasso を用いた異常検知
グラフィカル Lasso を用いた異常検知グラフィカル Lasso を用いた異常検知
グラフィカル Lasso を用いた異常検知
 
時系列分析による異常検知入門
時系列分析による異常検知入門時系列分析による異常検知入門
時系列分析による異常検知入門
 
ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定
 
比例ハザードモデルはとってもtricky!
比例ハザードモデルはとってもtricky!比例ハザードモデルはとってもtricky!
比例ハザードモデルはとってもtricky!
 
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
 
coordinate descent 法について
coordinate descent 法についてcoordinate descent 法について
coordinate descent 法について
 
ブラックボックス最適化とその応用
ブラックボックス最適化とその応用ブラックボックス最適化とその応用
ブラックボックス最適化とその応用
 
グラフィカルモデル入門
グラフィカルモデル入門グラフィカルモデル入門
グラフィカルモデル入門
 
Triplet Loss 徹底解説
Triplet Loss 徹底解説Triplet Loss 徹底解説
Triplet Loss 徹底解説
 

En vedette

30分でわかる『R』によるデータ分析|データアーティスト
30分でわかる『R』によるデータ分析|データアーティスト30分でわかる『R』によるデータ分析|データアーティスト
30分でわかる『R』によるデータ分析|データアーティストSatoru Yamamoto
 
Newman アルゴリズムによるソーシャルグラフのクラスタリング
Newman アルゴリズムによるソーシャルグラフのクラスタリングNewman アルゴリズムによるソーシャルグラフのクラスタリング
Newman アルゴリズムによるソーシャルグラフのクラスタリングAtsushi KOMIYA
 
今日から使える! みんなのクラスタリング超入門
今日から使える! みんなのクラスタリング超入門今日から使える! みんなのクラスタリング超入門
今日から使える! みんなのクラスタリング超入門toilet_lunch
 
SVMについて
SVMについてSVMについて
SVMについてmknh1122
 
機械学習によるデータ分析まわりのお話
機械学習によるデータ分析まわりのお話機械学習によるデータ分析まわりのお話
機械学習によるデータ分析まわりのお話Ryota Kamoshida
 
トピックモデルを用いた 潜在ファッション嗜好の推定
トピックモデルを用いた 潜在ファッション嗜好の推定トピックモデルを用いた 潜在ファッション嗜好の推定
トピックモデルを用いた 潜在ファッション嗜好の推定Takashi Kaneda
 
はじめてでもわかるベイズ分類器 -基礎からMahout実装まで-
はじめてでもわかるベイズ分類器 -基礎からMahout実装まで-はじめてでもわかるベイズ分類器 -基礎からMahout実装まで-
はじめてでもわかるベイズ分類器 -基礎からMahout実装まで-Naoki Yanai
 
パターン認識 第10章 決定木
パターン認識 第10章 決定木 パターン認識 第10章 決定木
パターン認識 第10章 決定木 Miyoshi Yuya
 
Simple perceptron by TJO
Simple perceptron by TJOSimple perceptron by TJO
Simple perceptron by TJOTakashi J OZAKI
 
バンディットアルゴリズム入門と実践
バンディットアルゴリズム入門と実践バンディットアルゴリズム入門と実践
バンディットアルゴリズム入門と実践智之 村上
 
機会学習ハッカソン:ランダムフォレスト
機会学習ハッカソン:ランダムフォレスト機会学習ハッカソン:ランダムフォレスト
機会学習ハッカソン:ランダムフォレストTeppei Baba
 
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築Tatsuya Tojima
 
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京Koichi Hamada
 
機械学習チュートリアル@Jubatus Casual Talks
機械学習チュートリアル@Jubatus Casual Talks機械学習チュートリアル@Jubatus Casual Talks
機械学習チュートリアル@Jubatus Casual TalksYuya Unno
 
レコメンドアルゴリズムの基本と周辺知識と実装方法
レコメンドアルゴリズムの基本と周辺知識と実装方法レコメンドアルゴリズムの基本と周辺知識と実装方法
レコメンドアルゴリズムの基本と周辺知識と実装方法Takeshi Mikami
 
Kaggle bosch presentation material for Kaggle Tokyo Meetup #2
Kaggle bosch presentation material for Kaggle Tokyo Meetup #2Kaggle bosch presentation material for Kaggle Tokyo Meetup #2
Kaggle bosch presentation material for Kaggle Tokyo Meetup #2Keisuke Hosaka
 
Kaggle boschコンペ振り返り
Kaggle boschコンペ振り返りKaggle boschコンペ振り返り
Kaggle boschコンペ振り返りKeisuke Hosaka
 
機械学習と深層学習の数理
機械学習と深層学習の数理機械学習と深層学習の数理
機械学習と深層学習の数理Ryo Nakamura
 

En vedette (20)

30分でわかる『R』によるデータ分析|データアーティスト
30分でわかる『R』によるデータ分析|データアーティスト30分でわかる『R』によるデータ分析|データアーティスト
30分でわかる『R』によるデータ分析|データアーティスト
 
Newman アルゴリズムによるソーシャルグラフのクラスタリング
Newman アルゴリズムによるソーシャルグラフのクラスタリングNewman アルゴリズムによるソーシャルグラフのクラスタリング
Newman アルゴリズムによるソーシャルグラフのクラスタリング
 
今日から使える! みんなのクラスタリング超入門
今日から使える! みんなのクラスタリング超入門今日から使える! みんなのクラスタリング超入門
今日から使える! みんなのクラスタリング超入門
 
SVMについて
SVMについてSVMについて
SVMについて
 
機械学習によるデータ分析まわりのお話
機械学習によるデータ分析まわりのお話機械学習によるデータ分析まわりのお話
機械学習によるデータ分析まわりのお話
 
トピックモデルを用いた 潜在ファッション嗜好の推定
トピックモデルを用いた 潜在ファッション嗜好の推定トピックモデルを用いた 潜在ファッション嗜好の推定
トピックモデルを用いた 潜在ファッション嗜好の推定
 
はじめてでもわかるベイズ分類器 -基礎からMahout実装まで-
はじめてでもわかるベイズ分類器 -基礎からMahout実装まで-はじめてでもわかるベイズ分類器 -基礎からMahout実装まで-
はじめてでもわかるベイズ分類器 -基礎からMahout実装まで-
 
パターン認識 第10章 決定木
パターン認識 第10章 決定木 パターン認識 第10章 決定木
パターン認識 第10章 決定木
 
Simple perceptron by TJO
Simple perceptron by TJOSimple perceptron by TJO
Simple perceptron by TJO
 
バンディットアルゴリズム入門と実践
バンディットアルゴリズム入門と実践バンディットアルゴリズム入門と実践
バンディットアルゴリズム入門と実践
 
決定木学習
決定木学習決定木学習
決定木学習
 
機会学習ハッカソン:ランダムフォレスト
機会学習ハッカソン:ランダムフォレスト機会学習ハッカソン:ランダムフォレスト
機会学習ハッカソン:ランダムフォレスト
 
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築
 
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
 
一般向けのDeep Learning
一般向けのDeep Learning一般向けのDeep Learning
一般向けのDeep Learning
 
機械学習チュートリアル@Jubatus Casual Talks
機械学習チュートリアル@Jubatus Casual Talks機械学習チュートリアル@Jubatus Casual Talks
機械学習チュートリアル@Jubatus Casual Talks
 
レコメンドアルゴリズムの基本と周辺知識と実装方法
レコメンドアルゴリズムの基本と周辺知識と実装方法レコメンドアルゴリズムの基本と周辺知識と実装方法
レコメンドアルゴリズムの基本と周辺知識と実装方法
 
Kaggle bosch presentation material for Kaggle Tokyo Meetup #2
Kaggle bosch presentation material for Kaggle Tokyo Meetup #2Kaggle bosch presentation material for Kaggle Tokyo Meetup #2
Kaggle bosch presentation material for Kaggle Tokyo Meetup #2
 
Kaggle boschコンペ振り返り
Kaggle boschコンペ振り返りKaggle boschコンペ振り返り
Kaggle boschコンペ振り返り
 
機械学習と深層学習の数理
機械学習と深層学習の数理機械学習と深層学習の数理
機械学習と深層学習の数理
 

Plus de Takeshi Mikami

rdflintのvscode拡張の紹介とその実装方法
rdflintのvscode拡張の紹介とその実装方法rdflintのvscode拡張の紹介とその実装方法
rdflintのvscode拡張の紹介とその実装方法Takeshi Mikami
 
適切なクラスタ数を機械的に求める手法の紹介
適切なクラスタ数を機械的に求める手法の紹介適切なクラスタ数を機械的に求める手法の紹介
適切なクラスタ数を機械的に求める手法の紹介Takeshi Mikami
 
OAuth 2.0による認可の流れ
OAuth 2.0による認可の流れOAuth 2.0による認可の流れ
OAuth 2.0による認可の流れTakeshi Mikami
 
MapReduceによるConnected Components(連結成分)の見つけ方
MapReduceによるConnected Components(連結成分)の見つけ方MapReduceによるConnected Components(連結成分)の見つけ方
MapReduceによるConnected Components(連結成分)の見つけ方Takeshi Mikami
 
RDFチェックツール「rdflint」のご紹介 (LODチャレンジ2019受賞作品紹介 基盤技術部門優秀賞)
RDFチェックツール「rdflint」のご紹介 (LODチャレンジ2019受賞作品紹介 基盤技術部門優秀賞)RDFチェックツール「rdflint」のご紹介 (LODチャレンジ2019受賞作品紹介 基盤技術部門優秀賞)
RDFチェックツール「rdflint」のご紹介 (LODチャレンジ2019受賞作品紹介 基盤技術部門優秀賞)Takeshi Mikami
 
データサイエンスアイドル「小日向美穂」と考える「つながり」
データサイエンスアイドル「小日向美穂」と考える「つながり」データサイエンスアイドル「小日向美穂」と考える「つながり」
データサイエンスアイドル「小日向美穂」と考える「つながり」Takeshi Mikami
 
RDFのチェックツール「rdflint」と コミュニティによるオープンデータの作成
RDFのチェックツール「rdflint」とコミュニティによるオープンデータの作成RDFのチェックツール「rdflint」とコミュニティによるオープンデータの作成
RDFのチェックツール「rdflint」と コミュニティによるオープンデータの作成Takeshi Mikami
 
CircleCIを使ったSpringBoot/GAEアプリ開発の効率化ノウハウ
CircleCIを使ったSpringBoot/GAEアプリ開発の効率化ノウハウCircleCIを使ったSpringBoot/GAEアプリ開発の効率化ノウハウ
CircleCIを使ったSpringBoot/GAEアプリ開発の効率化ノウハウTakeshi Mikami
 
GitHubの機能を活用したGitHub Flowによる開発の進め方
GitHubの機能を活用したGitHub Flowによる開発の進め方GitHubの機能を活用したGitHub Flowによる開発の進め方
GitHubの機能を活用したGitHub Flowによる開発の進め方Takeshi Mikami
 
HBase CompleteBulkLoadその仕組み&発生した問題
HBase CompleteBulkLoadその仕組み&発生した問題HBase CompleteBulkLoadその仕組み&発生した問題
HBase CompleteBulkLoadその仕組み&発生した問題Takeshi Mikami
 
RDFチェックツール「rdflint」のご紹介
RDFチェックツール「rdflint」のご紹介RDFチェックツール「rdflint」のご紹介
RDFチェックツール「rdflint」のご紹介Takeshi Mikami
 
アーリース情報技術株式会社 会社案内 (2019/02/13)
アーリース情報技術株式会社 会社案内 (2019/02/13)アーリース情報技術株式会社 会社案内 (2019/02/13)
アーリース情報技術株式会社 会社案内 (2019/02/13)Takeshi Mikami
 
Spark MLlib ML Pipelines の概要 及びpysparkからの扱い方
Spark MLlib ML Pipelines の概要 及びpysparkからの扱い方Spark MLlib ML Pipelines の概要 及びpysparkからの扱い方
Spark MLlib ML Pipelines の概要 及びpysparkからの扱い方Takeshi Mikami
 
センサーによるデータ計測と異常検知の基本
センサーによるデータ計測と異常検知の基本センサーによるデータ計測と異常検知の基本
センサーによるデータ計測と異常検知の基本Takeshi Mikami
 
Webサイトのアクセスログによるユーザー属性推定
Webサイトのアクセスログによるユーザー属性推定Webサイトのアクセスログによるユーザー属性推定
Webサイトのアクセスログによるユーザー属性推定Takeshi Mikami
 
Google Cloud Dataflowによる データ変換処理入門
Google Cloud Dataflowによる データ変換処理入門Google Cloud Dataflowによる データ変換処理入門
Google Cloud Dataflowによる データ変換処理入門Takeshi Mikami
 
IoTでの機械学習活用イメージと強化学習のご紹介
IoTでの機械学習活用イメージと強化学習のご紹介IoTでの機械学習活用イメージと強化学習のご紹介
IoTでの機械学習活用イメージと強化学習のご紹介Takeshi Mikami
 
協調フィルタリング・アソシエーション分析によるレコメンド手法の紹介
協調フィルタリング・アソシエーション分析によるレコメンド手法の紹介協調フィルタリング・アソシエーション分析によるレコメンド手法の紹介
協調フィルタリング・アソシエーション分析によるレコメンド手法の紹介Takeshi Mikami
 
SparkMLlibで始めるビッグデータを対象とした機械学習入門
SparkMLlibで始めるビッグデータを対象とした機械学習入門SparkMLlibで始めるビッグデータを対象とした機械学習入門
SparkMLlibで始めるビッグデータを対象とした機械学習入門Takeshi Mikami
 

Plus de Takeshi Mikami (20)

rdflintのvscode拡張の紹介とその実装方法
rdflintのvscode拡張の紹介とその実装方法rdflintのvscode拡張の紹介とその実装方法
rdflintのvscode拡張の紹介とその実装方法
 
適切なクラスタ数を機械的に求める手法の紹介
適切なクラスタ数を機械的に求める手法の紹介適切なクラスタ数を機械的に求める手法の紹介
適切なクラスタ数を機械的に求める手法の紹介
 
OAuth 2.0による認可の流れ
OAuth 2.0による認可の流れOAuth 2.0による認可の流れ
OAuth 2.0による認可の流れ
 
MapReduceによるConnected Components(連結成分)の見つけ方
MapReduceによるConnected Components(連結成分)の見つけ方MapReduceによるConnected Components(連結成分)の見つけ方
MapReduceによるConnected Components(連結成分)の見つけ方
 
RDFチェックツール「rdflint」のご紹介 (LODチャレンジ2019受賞作品紹介 基盤技術部門優秀賞)
RDFチェックツール「rdflint」のご紹介 (LODチャレンジ2019受賞作品紹介 基盤技術部門優秀賞)RDFチェックツール「rdflint」のご紹介 (LODチャレンジ2019受賞作品紹介 基盤技術部門優秀賞)
RDFチェックツール「rdflint」のご紹介 (LODチャレンジ2019受賞作品紹介 基盤技術部門優秀賞)
 
データサイエンスアイドル「小日向美穂」と考える「つながり」
データサイエンスアイドル「小日向美穂」と考える「つながり」データサイエンスアイドル「小日向美穂」と考える「つながり」
データサイエンスアイドル「小日向美穂」と考える「つながり」
 
RDFのチェックツール「rdflint」と コミュニティによるオープンデータの作成
RDFのチェックツール「rdflint」とコミュニティによるオープンデータの作成RDFのチェックツール「rdflint」とコミュニティによるオープンデータの作成
RDFのチェックツール「rdflint」と コミュニティによるオープンデータの作成
 
CircleCIを使ったSpringBoot/GAEアプリ開発の効率化ノウハウ
CircleCIを使ったSpringBoot/GAEアプリ開発の効率化ノウハウCircleCIを使ったSpringBoot/GAEアプリ開発の効率化ノウハウ
CircleCIを使ったSpringBoot/GAEアプリ開発の効率化ノウハウ
 
GitHubの機能を活用したGitHub Flowによる開発の進め方
GitHubの機能を活用したGitHub Flowによる開発の進め方GitHubの機能を活用したGitHub Flowによる開発の進め方
GitHubの機能を活用したGitHub Flowによる開発の進め方
 
HBase CompleteBulkLoadその仕組み&発生した問題
HBase CompleteBulkLoadその仕組み&発生した問題HBase CompleteBulkLoadその仕組み&発生した問題
HBase CompleteBulkLoadその仕組み&発生した問題
 
RDFチェックツール「rdflint」のご紹介
RDFチェックツール「rdflint」のご紹介RDFチェックツール「rdflint」のご紹介
RDFチェックツール「rdflint」のご紹介
 
アーリース情報技術株式会社 会社案内 (2019/02/13)
アーリース情報技術株式会社 会社案内 (2019/02/13)アーリース情報技術株式会社 会社案内 (2019/02/13)
アーリース情報技術株式会社 会社案内 (2019/02/13)
 
Spark MLlib ML Pipelines の概要 及びpysparkからの扱い方
Spark MLlib ML Pipelines の概要 及びpysparkからの扱い方Spark MLlib ML Pipelines の概要 及びpysparkからの扱い方
Spark MLlib ML Pipelines の概要 及びpysparkからの扱い方
 
SPARQL入門
SPARQL入門SPARQL入門
SPARQL入門
 
センサーによるデータ計測と異常検知の基本
センサーによるデータ計測と異常検知の基本センサーによるデータ計測と異常検知の基本
センサーによるデータ計測と異常検知の基本
 
Webサイトのアクセスログによるユーザー属性推定
Webサイトのアクセスログによるユーザー属性推定Webサイトのアクセスログによるユーザー属性推定
Webサイトのアクセスログによるユーザー属性推定
 
Google Cloud Dataflowによる データ変換処理入門
Google Cloud Dataflowによる データ変換処理入門Google Cloud Dataflowによる データ変換処理入門
Google Cloud Dataflowによる データ変換処理入門
 
IoTでの機械学習活用イメージと強化学習のご紹介
IoTでの機械学習活用イメージと強化学習のご紹介IoTでの機械学習活用イメージと強化学習のご紹介
IoTでの機械学習活用イメージと強化学習のご紹介
 
協調フィルタリング・アソシエーション分析によるレコメンド手法の紹介
協調フィルタリング・アソシエーション分析によるレコメンド手法の紹介協調フィルタリング・アソシエーション分析によるレコメンド手法の紹介
協調フィルタリング・アソシエーション分析によるレコメンド手法の紹介
 
SparkMLlibで始めるビッグデータを対象とした機械学習入門
SparkMLlibで始めるビッグデータを対象とした機械学習入門SparkMLlibで始めるビッグデータを対象とした機械学習入門
SparkMLlibで始めるビッグデータを対象とした機械学習入門
 

Rによるデータサイエンス13「樹木モデル」

  • 1. Rによるデータサイエンス第13章   「樹木モデル」 テキスト「Rによるデータサイエンス」に沿って   Rでの樹木モデルの扱い方を解説します。       2011年10月22日 第18回R勉強会@東京   @takemikami
  • 2. 13.1  樹木モデルとは 樹木モデルとは •  説明変数を何らかの基準をもとに分岐させて 構築した判別・予測のモデル   •  分岐の過程を木構造で示すことが出来る   •  問題に応じた呼び方   –  判別分析:分類木・決定木   –  回帰分析:回帰木  
  • 3. 13.1  樹木モデルとは 判別分析の例 アヤメの品種分類 •  がく片の大きさから   アヤメの品種を判別する分析   •  説明変数:がく片の大きさ   •  目的変数:アヤメの品種   setosa vergicolor virginica
  • 4. 13.1  樹木モデルとは 判別分析の例 アヤメの品種分類 •  がく片の大きさとアヤメの品種を木構造で判 断
  • 5. 13.1  樹木モデルとは 回帰分析の例 自動車の速度と停止に要する距離 •  自動車の速度から   ブレーキから停止までにかかる距離の予測   •  説明変数:自動車の速度   •  目的変数:停止までにかかる距離   速度 停止までにかかる距離
  • 6. 13.1  樹木モデルとは 回帰分析の例 自動車の速度と停止に要する距離 •  自動車の速度と止まるまでの距離を木構造 で分析
  • 7. 13.2  樹木モデルの基礎 樹木モデルの基礎 •  樹木モデルのアルゴリズム   –  生成・生長:分岐の方法   –  剪定:モデルの簡潔化   生成・生長 今日用いられているアルゴリズム アルゴリズム 分岐・剪定の方法 CHAID カイ2乗統計量、F統計量   C4.5/C5.0/See5 利得比 剪定 CART ジニ多様性指標、情報利得
  • 8. 13.2  樹木モデルの基礎 具体例 夏休み海水浴に行く・行かない① •  風・気温から海水浴に行くかを判断   元データ 行動パターン判断結果 No 風 気温 海水浴 気温:高 気温:中 気温:低 1 弱 高 行く   風:弱 行く 行く 行かない 2 弱 低 行かない 風:強 行かない 行かない 行かない 3 弱 高 行く   4 弱 中 行く   これを樹木モデルに   5 弱 低 行かない 当てはめて考えてみる 6 弱 高 行かない 7 強 高 行かない 8 強 低 行かない 9 強 中 行かない 目的変数:海水浴行く・行かない   10 強 高 行く 説明変数:風・気温
  • 9. 13.2  樹木モデルの基礎 具体例 夏休み海水浴に行く・行かない② •  ジニ係数(Gini  Index)を用いて分岐点を計算   t:ノード数 i:クラス p:比率 •  分布の不純度の尺度   値が大きいほど、不純度が高い(データがば らついている)  
  • 10. 13.2  樹木モデルの基礎 具体例 夏休み海水浴に行く・行かない③ •  分岐前の状態のジニ係数を算出   No 風 気温 海水浴 1 弱 高 行く   GI(分岐前)   2 弱 低 行かない   =  1-­‐[(4/10)2  +  (6/10)2]  =  0.48 3 弱 高 行く   4 弱 中 行く   5 弱 低 行かない 6 弱 高 行かない 7 強 高 行かない 8 強 低 行かない 9 強 中 行かない 10 強 高 行く
  • 11. 13.2  樹木モデルの基礎 具体例 夏休み海水浴に行く・行かない④ •  風の強弱を分岐点とするジニ係数を算出   No 風 気温 海水浴 1 弱 高 行く   GI(風=弱)   2 弱 低 行かない   =  1-­‐[(3/6)2  +  (3/6)2]  =  0.5 3 弱 高 行く   4 弱 中 行く   GI(風=強・弱)   5 弱 低 行かない  =  GI分岐前   6 弱 高 行かない    –  6/10GI(風=弱)  -­‐  4/10(風=強)   7 強 高 行かない  =  0.032 8 強 低 行かない GI(風=強)   9 強 中 行かない   =  1-­‐[(1/4)2  +  (3/4)2]  =  0.375 10 強 高 行く
  • 12. 13.2  樹木モデルの基礎 具体例 夏休み海水浴に行く・行かない⑤ •  気温の高中低を分岐点とするジニ係数算出   No 風 気温 海水浴 GI(気温=高)   1 弱 高 行く     =  1-­‐[(2/5)2  +  (3/5)2]  =  0.48   2 弱 低 行かない GI(気温=中低)   3 弱 高 行く     =  1-­‐[(4/5)2  +  (1/5)2]  =  0.32   4 弱 中 行く   GI(気温=高・中低)   5 弱 低 行かない  =  GI(分岐前)   6 弱 高 行かない   -­‐  GI(気温=高)-­‐GI(気温=中低)   7 強 高 行かない  =  0.08   8 強 低 行かない 同様に、   9 強 中 行かない  GI(気温=中・高低)=0.05   10 強 高 行く  GI(気温=低・高中)=0.137  
  • 13. 13.2  樹木モデルの基礎 具体例 夏休み海水浴に行く・行かない⑥ •  (最も大きい)ジニ係数から分岐点を決める   GI(風=強・弱)                  =  0.032   GI(気温=高・中低)  =  0.08   GI(気温=中・高低)  =  0.05   ① GI(気温=低・高中)  =  0.137   第1ノードは気温の高中・低で分岐。   同様にして第2ノード以降も求めていく ② 気温:高 気温:中 気温:低 風:弱 行かない 行かない 行かない ② 風:強 行く 行く 行かない ①
  • 14. 13.3.2  分類木 分類木で使用するデータ •  がく片の大きさとアヤメの品種の対応データ   (説明変数)   がく片の大きさ (目的変数)   アヤメの品種 アヤメの品種種別   データ50件づつ  
  • 15. 13.3.2  分類木 分類木 (1)木の生成① •  がく片の大きさからアヤメの品種を判別する 分類木を生成  
  • 16. 13.3.2  分類木 分類木 (1)木の生成② ライブラリ読込。事前に install.packages(“mvpart”)   の実行が必要   乱数の初期化   ※後述する交差確認法の 結果を固定するため   分類木の生成   入力データ:iris   目的変数:SpeciesC   分類条件   該当値   構成比   ノードの 非該当   データ数   データ数  
  • 17. 13.3.2  分類木 分類木 (1)木の生成③ 1) 3) 2) 6) 7) 12) 13) 分類木の描画   ラベル・グラフの描画  
  • 18. 13.3.2  分類木 分類木 (2)木の剪定① •  交差確認法(cross  valida[on)の結果から、剪 定基準を判断   Min+1SE法:   交差確認法の結果 xerror最小値を中心とした標準偏差の1倍 範囲内の最大error値を基準   基準のxerror値   →0.10+0.030551  =  0.130551 目安の複雑度  
  • 19. 13.3.2  分類木 分類木 (2)木の剪定② •  目安の複雑度を用いて剪定   目安の複雑度で剪定   分類木描画(下)   複雑度描画(右)  
  • 20. 13.3.2  分類木 分類木 (3)判別① •  (未知データの判別を想定して、)モデル作成 に用いていないデータを用意し、予測する   –  奇数行データ:学習用→モデル作成に使用   –  偶数行データ:テスト用→判別に使用  
  • 21. 13.3.2  分類木 分類木 (3)判別② 偶数行・奇数行 でデータ分割   学習データで   複雑度を表示(右)   分類木生成   予測・判別を実施   剪定の必要なしと 判断  
  • 22. 13.3.3  回帰木 回帰木で使用するデータ •  自動車の速度とブレーキから停止までにかか る距離のデータ (説明変数)   速度   (目的変数)   停止までの距離  
  • 23. 13.3.3  回帰木 回帰木  (1)回帰木の生成① •  自動車の速度からブレーキから停止までに かかる距離の予測
  • 24. 13.3.3  回帰木 回帰木  (1)回帰木の生成② 回帰木の生成   目的変数:dist   分類条件   ノードの 実測値   尤離度   データ数  
  • 25. 13.3.3  回帰木 回帰木  (2)回帰木の剪定① •  選定基準の判断および剪定 目安の複雑度を確認(右)   目安の   複雑度で剪定  
  • 26. 13.3.4  多変量回帰木 多変量回帰木で使用するデータ •  「蜘蛛の種類」と「蜘蛛狩りの環境」の分布 データ (目的変数)   (説明変数)   蜘蛛の種類と数   蜘蛛狩りの環境  
  • 27. 13.3.4  多変量回帰木 多変量回帰木  (2)解析と結果① 多変量回帰木:    目的変数が複数ある回帰木     説明変数:蜘蛛狩りの環境   目的変数:蜘蛛の種類の分布   として多変量回帰木を生成
  • 28. 13.3.4  多変量回帰木 多変量回帰木  (2)解析と結果① 目的変数の主成分分析
  • 29. 13.4  補遺 パッケージ:tree① 事前に   折れ線回帰図 install.packages(”tree”);   の実行が必要   折れ線回帰図の描画  
  • 30. 13.4  補遺 パッケージ:tree② 分割分類図 分割分類図の描画  
  • 31. 13.4  補遺 パッケージ:Rweka① 事前に   install.packages("RWeka",  dependencies=TRUE);   の実行が必要   C4.5のアルゴリズムによる   分類木の生成  
  • 32. 13.4  補遺 パッケージ:Rweka② 事前に   install.packages(”party",  dependencies=TRUE);  library(party)   の実行が必要  
  • 33. 13.4  補遺 パッケージ:Rweka③ 箱ひげ図の描画(左)   棒グラフの描画(右)