SlideShare una empresa de Scribd logo
1 de 33
Descargar para leer sin conexión
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③	
                         箱ひげ図の描画(左)	
  


                            棒グラフの描画(右)	
  

Más contenido relacionado

La actualidad más candente

1 4.回帰分析と分散分析
1 4.回帰分析と分散分析1 4.回帰分析と分散分析
1 4.回帰分析と分散分析logics-of-blue
 
負の二項分布について
負の二項分布について負の二項分布について
負の二項分布についてHiroshi Shimizu
 
データ解析13 線形判別分析
データ解析13 線形判別分析データ解析13 線形判別分析
データ解析13 線形判別分析Hirotaka Hachiya
 
心理学者のためのGlmm・階層ベイズ
心理学者のためのGlmm・階層ベイズ心理学者のためのGlmm・階層ベイズ
心理学者のためのGlmm・階層ベイズHiroshi Shimizu
 
階層モデルの分散パラメータの事前分布について
階層モデルの分散パラメータの事前分布について階層モデルの分散パラメータの事前分布について
階層モデルの分散パラメータの事前分布についてhoxo_m
 
データ解析のための統計モデリング入門 1~2章
データ解析のための統計モデリング入門 1~2章 データ解析のための統計モデリング入門 1~2章
データ解析のための統計モデリング入門 1~2章 itoyan110
 
トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?hoxo_m
 
質的変数の相関・因子分析
質的変数の相関・因子分析質的変数の相関・因子分析
質的変数の相関・因子分析Mitsuo Shimohata
 
星野「調査観察データの統計科学」第3章
星野「調査観察データの統計科学」第3章星野「調査観察データの統計科学」第3章
星野「調査観察データの統計科学」第3章Shuyo Nakatani
 
距離とクラスタリング
距離とクラスタリング距離とクラスタリング
距離とクラスタリング大貴 末廣
 
Mplusの使い方 中級編
Mplusの使い方 中級編Mplusの使い方 中級編
Mplusの使い方 中級編Hiroshi Shimizu
 
Fisher線形判別分析とFisher Weight Maps
Fisher線形判別分析とFisher Weight MapsFisher線形判別分析とFisher Weight Maps
Fisher線形判別分析とFisher Weight MapsTakao Yamanaka
 
[DL Hacks]Self-Attention Generative Adversarial Networks
[DL Hacks]Self-Attention Generative Adversarial Networks[DL Hacks]Self-Attention Generative Adversarial Networks
[DL Hacks]Self-Attention Generative Adversarial NetworksDeep Learning JP
 
1 5.パラメトリックブートストラップ検定と確率分布
1 5.パラメトリックブートストラップ検定と確率分布1 5.パラメトリックブートストラップ検定と確率分布
1 5.パラメトリックブートストラップ検定と確率分布logics-of-blue
 
SEMを用いた縦断データの解析 潜在曲線モデル
SEMを用いた縦断データの解析 潜在曲線モデルSEMを用いた縦断データの解析 潜在曲線モデル
SEMを用いた縦断データの解析 潜在曲線モデルMasaru Tokuoka
 
クラシックな機械学習の入門  8. クラスタリング
クラシックな機械学習の入門  8. クラスタリングクラシックな機械学習の入門  8. クラスタリング
クラシックな機械学習の入門  8. クラスタリングHiroshi Nakagawa
 
21世紀の手法対決 (MIC vs HSIC)
21世紀の手法対決 (MIC vs HSIC)21世紀の手法対決 (MIC vs HSIC)
21世紀の手法対決 (MIC vs HSIC)Toru Imai
 

La actualidad más candente (20)

1 4.回帰分析と分散分析
1 4.回帰分析と分散分析1 4.回帰分析と分散分析
1 4.回帰分析と分散分析
 
負の二項分布について
負の二項分布について負の二項分布について
負の二項分布について
 
データ解析13 線形判別分析
データ解析13 線形判別分析データ解析13 線形判別分析
データ解析13 線形判別分析
 
心理学者のためのGlmm・階層ベイズ
心理学者のためのGlmm・階層ベイズ心理学者のためのGlmm・階層ベイズ
心理学者のためのGlmm・階層ベイズ
 
階層モデルの分散パラメータの事前分布について
階層モデルの分散パラメータの事前分布について階層モデルの分散パラメータの事前分布について
階層モデルの分散パラメータの事前分布について
 
データ解析のための統計モデリング入門 1~2章
データ解析のための統計モデリング入門 1~2章 データ解析のための統計モデリング入門 1~2章
データ解析のための統計モデリング入門 1~2章
 
トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?
 
潜在クラス分析
潜在クラス分析潜在クラス分析
潜在クラス分析
 
質的変数の相関・因子分析
質的変数の相関・因子分析質的変数の相関・因子分析
質的変数の相関・因子分析
 
星野「調査観察データの統計科学」第3章
星野「調査観察データの統計科学」第3章星野「調査観察データの統計科学」第3章
星野「調査観察データの統計科学」第3章
 
距離とクラスタリング
距離とクラスタリング距離とクラスタリング
距離とクラスタリング
 
Mplusの使い方 中級編
Mplusの使い方 中級編Mplusの使い方 中級編
Mplusの使い方 中級編
 
Fisher線形判別分析とFisher Weight Maps
Fisher線形判別分析とFisher Weight MapsFisher線形判別分析とFisher Weight Maps
Fisher線形判別分析とFisher Weight Maps
 
正準相関分析
正準相関分析正準相関分析
正準相関分析
 
[DL Hacks]Self-Attention Generative Adversarial Networks
[DL Hacks]Self-Attention Generative Adversarial Networks[DL Hacks]Self-Attention Generative Adversarial Networks
[DL Hacks]Self-Attention Generative Adversarial Networks
 
1 5.パラメトリックブートストラップ検定と確率分布
1 5.パラメトリックブートストラップ検定と確率分布1 5.パラメトリックブートストラップ検定と確率分布
1 5.パラメトリックブートストラップ検定と確率分布
 
2 3.GLMの基礎
2 3.GLMの基礎2 3.GLMの基礎
2 3.GLMの基礎
 
SEMを用いた縦断データの解析 潜在曲線モデル
SEMを用いた縦断データの解析 潜在曲線モデルSEMを用いた縦断データの解析 潜在曲線モデル
SEMを用いた縦断データの解析 潜在曲線モデル
 
クラシックな機械学習の入門  8. クラスタリング
クラシックな機械学習の入門  8. クラスタリングクラシックな機械学習の入門  8. クラスタリング
クラシックな機械学習の入門  8. クラスタリング
 
21世紀の手法対決 (MIC vs HSIC)
21世紀の手法対決 (MIC vs HSIC)21世紀の手法対決 (MIC vs HSIC)
21世紀の手法対決 (MIC vs HSIC)
 

Destacado

30分でわかる『R』によるデータ分析|データアーティスト
30分でわかる『R』によるデータ分析|データアーティスト30分でわかる『R』によるデータ分析|データアーティスト
30分でわかる『R』によるデータ分析|データアーティストSatoru Yamamoto
 
Newman アルゴリズムによるソーシャルグラフのクラスタリング
Newman アルゴリズムによるソーシャルグラフのクラスタリングNewman アルゴリズムによるソーシャルグラフのクラスタリング
Newman アルゴリズムによるソーシャルグラフのクラスタリングAtsushi KOMIYA
 
今日から使える! みんなのクラスタリング超入門
今日から使える! みんなのクラスタリング超入門今日から使える! みんなのクラスタリング超入門
今日から使える! みんなのクラスタリング超入門toilet_lunch
 
SVMについて
SVMについてSVMについて
SVMについてmknh1122
 
ロジスティック回帰の考え方・使い方 - TokyoR #33
ロジスティック回帰の考え方・使い方 - TokyoR #33ロジスティック回帰の考え方・使い方 - TokyoR #33
ロジスティック回帰の考え方・使い方 - TokyoR #33horihorio
 
機械学習によるデータ分析まわりのお話
機械学習によるデータ分析まわりのお話機械学習によるデータ分析まわりのお話
機械学習によるデータ分析まわりのお話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
 

Destacado (20)

30分でわかる『R』によるデータ分析|データアーティスト
30分でわかる『R』によるデータ分析|データアーティスト30分でわかる『R』によるデータ分析|データアーティスト
30分でわかる『R』によるデータ分析|データアーティスト
 
Newman アルゴリズムによるソーシャルグラフのクラスタリング
Newman アルゴリズムによるソーシャルグラフのクラスタリングNewman アルゴリズムによるソーシャルグラフのクラスタリング
Newman アルゴリズムによるソーシャルグラフのクラスタリング
 
今日から使える! みんなのクラスタリング超入門
今日から使える! みんなのクラスタリング超入門今日から使える! みんなのクラスタリング超入門
今日から使える! みんなのクラスタリング超入門
 
SVMについて
SVMについてSVMについて
SVMについて
 
ロジスティック回帰の考え方・使い方 - TokyoR #33
ロジスティック回帰の考え方・使い方 - TokyoR #33ロジスティック回帰の考え方・使い方 - TokyoR #33
ロジスティック回帰の考え方・使い方 - TokyoR #33
 
機械学習によるデータ分析まわりのお話
機械学習によるデータ分析まわりのお話機械学習によるデータ分析まわりのお話
機械学習によるデータ分析まわりのお話
 
トピックモデルを用いた 潜在ファッション嗜好の推定
トピックモデルを用いた 潜在ファッション嗜好の推定トピックモデルを用いた 潜在ファッション嗜好の推定
トピックモデルを用いた 潜在ファッション嗜好の推定
 
はじめてでもわかるベイズ分類器 -基礎から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コンペ振り返り
 

Más 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
 

Más 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③ 箱ひげ図の描画(左)   棒グラフの描画(右)