「R言語による Random Forest 徹底入門 -集団学習による分類・予測-」 - #TokyoR #11

Koichi Hamada
Koichi HamadaSenior Staff Research Engineer, Artificial Intelligence um DeNA
Tokyo.R #11
      2011/1/29



      R言語による

Random Forest 徹底入門
 -集団学習による分類・予測-



    hamadakoichi
      濱田 晃一
AGENDA
    ◆講師紹介
    ◆Random Forestとは
    ◆決定木
      ◆決定木とは
      ◆R言語での実行
    ◆集団学習
    ◆Random Forest
      ◆アルゴリズム
      ◆R言語での実行
    ◆参考資料
    ◆最後に
AGENDA
    ◆講師紹介
    ◆Random Forestとは
    ◆決定木
      ◆決定木とは
      ◆R言語での実行
    ◆集団学習
    ◆Random Forest
      ◆アルゴリズム
      ◆R言語での実行
    ◆参考資料
    ◆最後に
hamadakoichi
         濱田晃一
http://iddy.jp/profile/hamadakoichi



                                      4
資料

         各種講師資料を公開しています

     http://www.slideshare.net/hamadakoichi
データマイニング+WEB勉強会@東京
   データマイニング+WEB勉強会@東京 主催者です
           ぜひご参加下さい




  Google Group: http://groups.google.com/group/webmining-tokyo   6
データマイニング+WEB勉強会@東京
    たくさんの会場参加、UST参加、Bookmark
         ありがとうございます




     開催内容まとめ
     http://d.hatena.ne.jp/hamadakoichi/
                                           7
3つの進行方針
           充分な時間を充て
          理解・議論を優先する
  1.充分な時間:
   各テーマごとにしっかり時間を充てる
   (浅く多くではなく、少ないテーマでも深く)

  2.理解:
   進行を急がない。分からないところはすぐ質問。
   講師・各メンバーからの返答で、みなで理解を深めることを優先する。

  3.議論:
   議論時間をしっかりとる。
   各分野の意見の共有、皆での発想・創造を優先する。
   全員でのフラットな議論。講師にとっても有意義な場となるようにする。

                                       8
活動領域




       9
           9
活動領域

  ソーシャルメディアのデータマイニング活用
          2000万人以上の人々へ
 各人のつながり・楽しみ・好み 個性にあった適切なサービス提供


         Social Media
             Social Graph
         Fun Like Personality
          Objective Process

          Data Mining
        Machine Learning
       各人のつながり、楽しみ、好み、個性にあった
           より適切なサービス提供
活動領域

       活動が紹介されました




                    11
活動領域

       活動が紹介されました
          Tech総研




                                12
                    (※記事から抜粋)
hamadakoichi 濱田晃一




                    13
hamadakoichi 濱田晃一
                      理論物理 博士(2004.3取得)
                        量子統計場の理論
Statistical Field Theory                        Spontaneously
                                        Time-Reversal Symmetry Breaking




                                       Anisotropic Massless Dirac Fermions




 博士論文: http://hosi.phys.s.u-tokyo.ac.jp/~koichi/PhD-thesis.pdf          14
hamadakoichi 濱田晃一

             文部大臣に褒められた
   元 文部大臣・法務大臣      六法全書著者・元法学政治学研究科長
      森山眞弓さん             菅野和夫さん




                                    15
hamadakoichi 濱田晃一

         Los Angelesでプロダンサーに褒められた




  ・HIP HOP/House ダンス歴13年
  ・ダンス開始後 1年半でL.A.でプロダンサーに褒められる

  Youtube Channel: http://www.youtube.com/hamadakoichi   16
hamadakoichi 濱田晃一

          毎週末3時間ダンスコーチをしています




           ■過去、東京と京都でも
            ダンス部を創設。
            コーチをしていました
                          駒場物理ダンス部   京都大学基礎物理学研究所ダンス部
                          部長兼コーチ     部長兼コーチ

  現在: 毎週末 3時間ダンスコーチ
  Youtube Channel: http://www.youtube.com/hamadakoichi   17
数理解析手法の実ビジネスへの適用
            2004年 博士号取得後
       数理解析手法を実ビジネス適用の方法論構築
主な領域
◆活動の数理モデル化・解析手法
◆活動の分析手法・再構築手法
◆活動の実行制御・実績解析システム
…
 内容抜粋
 “Decoupling Executions in Navigating Manufacturing          "Unified graph representation of processes
 Processes for Shortening Lead Time and Its Implementation   for scheduling with flexible resource
 to an Unmanned Machine Shop”,                               assignment",




                                                                                                          18
数理解析手法の実ビジネスへの適用:活動例
                         活動例
                  活動の統一グラフモデルを構築・解析
                        Unified graphical model of processes and resources
                                                                                                 青字:割付モデル属性
                                                                                                 [ ] : Optional
Node             ・priority(優先度)                                                       Edge
                 ・duration(予定時間)
                 [・earliest(再早開始日時) ]                                                      Process Edge
Process          [・deadline(納期) ]
                 [・or(条件集約数) ]
                                                                                             前プロセスの終了後に後プロセスが
プロセスを表す                                                                                      開始できること表す
                 ・attributes(属性)
                                                                      preemptable(中断可否),
                                                                      successive(引継ぎ可否)
                                                                                           Uses Edge
                                                                      workload(作業負荷)         Processが使用する
                        uses     uses uses         uses   uses        uses                   Assign Region を表す

Assign Region                                                                              Assigns from Edge
同一Resourceを割付け続ける                                                                            Assign Regionに
                                  assigns from assigns from                                  指定Resourceの子Resource集合の
範囲を表す
               assigns                                           assigns                     中から割付けることを示す
                                 企業01                             [process]
                                 has         has                  [startDate(開始日時)]
                                                                  [endDate(終了日時)]          Assigns Edge
                  製品01                    組織A                                                StartDateからEndDateまでの間
Resource                                                                     has             Assign RegionにResourceを
割付対象要素を表す           has has      has      has   has       has                                割付けることを表す
                                                                    ・capacity(容量)
                                                                    ・calender(カレンダー)
                AAA01    AAB02    …     山田さん 田中さん 鈴木さん              ・attributes(属性)        Has Edge
                                                                           東さん               Resourceの所有関係を表す
                                                                                                                   19
数理解析手法の実ビジネスへの適用:活動例
                                   一品一様の業務プロセスの
                                 動的なプロセス制御数理体系を構築
  全体生産リードタイム中央値を                                                                                                                 1/2.7に短縮
        設計開始~頭だし出荷リードタイム
                                                        体系適用
                                     設計開始~頭だし出荷CT対週集計開始日時の箱ひげ図
                        500
                                                                                                                                                            適用後
   設計開始~頭だし出荷CT




                        400

                                                                                        360.4h(15.0日)
                                                                                                                                                                                  1/2.7
                        300


                        200


                        100
                                       0          0         0         0           0         0       0         0           0         0        0         0
                                                                                                                                                         141.6h(5.9日)
                                                                                                                                                                   0          0
                                  9: 0       9 :0       9:0       9:0        9: 0      9 :0     9:0       9:0        9: 0      9 :0     9 :0       9:0        9: 0       9 :0
                               0           7          4         1         8          5        1         8         5          2        9          6         3           0
                            /2          /2         /0        /1        /1          /2 1/0            /0        /1          /2 1/2             /0        /1          /2
                          09 /09 /10                      1 0 /1 0 / 1 0                 1        1 1 /1 1 / 1 1                 1         1 2 / 12 / 1 2
                       4/       4           4          4/        4         4          4/       4/        4         4          4/       4/         4         4
                  2 0 0 2 00           2 00 200 200 200                           2 00 200 200 200                        2 00 200 200 200
                                                                                          週集計開始日時



                                                                                                                                                                                      20
数理解析手法の実ビジネスへの適用:活動例
                                    ビジネスとともに
                                    学術分野でも貢献
変動性から生じる動的な課題
     ・リソースの競合 ・滞留 ・納期遅延                             …

一品一様な業務プロセスを含む
統計解析・制御数理モデル
     ・統計的な有効変数算出
     ・統計数理モデル化
        -優先順位制御
        -実行タイミング制御
        -統計フィードバック
        -適正リソース量算出
     ・予測数理体系
論文(体系の一部)
M.Nakao, N. Kobayashi, K.Hamada, T.Totsuka, S.Yamada,
“Decoupling Executions in Navigating Manufacturing Processes for Shortening Lead Time and Its Implementation
to an Unmanned Machine Shop”,
CIRP Annals - Manufacturing Technology Volume 56, Issue 1, Pages 171-174 (2007)                         21
思い
     より広く蓄積されたデータを有効活用し
     世界の未来をよりよいものにしていきたい
               データマイニング+WEB勉強会@東京




     Google Group: http://groups.google.com/group/webmining-tokyo   22
現在の活動領域

   ソーシャルメディアのデータマイニング活用
          2000万人以上の人々へ
 各人のつながり・楽しみ・好み 個性にあった適切なサービス配信
           日々20億以上の活動の活用


           Social Media
              Social Graph
          Fun Like Personality
           Objective Process

            Data Mining
          Machine Learning
       各人のつながり、楽しみ、好み、個性にあった
           より適切なサービス提供
                                  23
よりよい世界の実現
      ソーシャル・活動情報の活用により
 より適切な情報・サービス配信される世界を実現したい




            Social Media
                Social Graph
            Fun Like Personality
             Objective Process

          Data Mining
        Machine Learning
       各人のつながり、楽しみ、好み、個性にあった
           より適切なサービス提供
                                   24
よりよい世界の実現
      ソーシャル・活動情報の活用により
 より適切な情報・サービス配信される世界を実現したい
            世界中の人々が
 個々人のつながり・楽しみ・好みにあった適切な情報・サービスを
      自ら探さなくても得ることができる世界

            Social Media
                Social Graph
            Fun Like Personality
             Objective Process

          Data Mining
        Machine Learning
       各人のつながり、楽しみ、好み、個性にあった
           より適切なサービス提供
                                   25
思うこと




       26
思うこと
         蓄積されたデータを有効活用し
       世界の未来をよりよいものにしていきたい
                 データマイニング+WEB勉強会@東京




       Google Group: http://groups.google.com/group/webmining-tokyo   27
思うこと
       統計解析・データマイニング・機械学習、重要

                  データマイニング+WEB勉強会@東京




        Google Group: http://groups.google.com/group/webmining-tokyo   28
思うこと
       統計解析・データマイニング・機械学習、重要
             R言語使い 重要
                  データマイニング+WEB勉強会@東京




        Google Group: http://groups.google.com/group/webmining-tokyo   29
課題意識




       30
課題意識




 R言語人材が そのスキルを十分に活かし
  活躍できる場が提供されているか?




                       31
調査結果

           早速
   R言語での人材募集要項を検索してみた
        「R言語 募集要項」




                        32
調査結果

              早速
   R言語での人材募集要項を検索してみた
        「R言語 募集要項」




       SASやSPSS使いは人材募集がある
調査結果

              早速
   R言語での人材募集要項を検索してみた
        「R言語 募集要項」




    SASやSPSS使いは人材募集がある
  R言語の人材募集は見つからなかった。。。
       (※海外ではFacebook等、募集)
調査結果

               早速
   R言語での人材募集要項を検索してみた
        「R言語 募集要項」




    SASやSPSS使いは人材募集がある
  R言語の人材募集は見つからなかった。。。
        (※海外ではFacebook等、募集)


       (2011/01/27までは)
                              35
2011/01/28
 新たな変化



             36
新たな変化

        検索してみると




                  37
新たな変化


        発見!




              38
新たな変化

              日本初
          R言語の人材募集要項
  http://www.dena.jp/recruit/sp2/career/guide09.html




                     R言語人材の活躍の場
                                                       39
思い




     40
思い


     R言語 人材募集を作った思い




                      41
思い


     R言語 人材募集を作った思い
      統計解析・データマイニング・機械学習
     R言語・R人材の活用・活躍の場を広げたい




                            42
思い


      R言語 人材募集を作った思い
      統計解析・データマイニング・機械学習
     R言語・R人材の活用・活躍の場を広げたい

     ソーシャル業界全体や、他業界の追従も歓迎




                            43
思い


      R言語 人材募集を作った思い
      統計解析・データマイニング・機械学習
     R言語・R人材の活用・活躍の場を広げたい

     ソーシャル業界全体や、他業界の追従も歓迎


   より広く、蓄積されたデータを有効活用し
世界中のサービスが継続的進化される世界を実現したい



                            44
思い


      R言語 人材募集を作った思い
      統計解析・データマイニング・機械学習
     R言語・R人材の活用・活躍の場を広げたい

     ソーシャル業界全体や、他業界の追従も歓迎


   より広く、蓄積されたデータを有効活用し
世界中のサービスが継続的進化される世界を実現したい
         ※もちろん、個人としては
       一緒に活動し実現できたら嬉しい
                            45
よりよい世界の実現
     より蓄積されたデータを有効活用し
    世界の未来をよりよいものにしていきたい
               データマイニング+WEB勉強会@東京




     Google Group: http://groups.google.com/group/webmining-tokyo   46
よりよい世界の実現
       よりよい世界を実現したい
     一緒に実現する仲間を募集しています




                         47
よりよい世界の実現
       よりよい世界を実現したい
     一緒に実現する仲間を募集しています




                         48
よりよい世界の実現
        よりよい世界を実現したい
      一緒に実現する仲間を募集しています
  大規模ソーシャルメディアのデータマイニング (2100万会員 1日20億アクション以上)




     (※2100万会員モバゲータウンはデータマイニングの宝の山/Tech総研 より抜粋)
    ・統計解析/データマイニング/機械学習/自然言語処理
    ・大規模分散処理



                 ぜひご連絡下さい
            koichi.hamada@gmail.com               49
よりよい世界の実現
        よりよい世界を実現したい
      一緒に実現する仲間を募集しています
  大規模ソーシャルメディアのデータマイニング (2100万会員 1日20億アクション以上)




     (※2100万会員モバゲータウンはデータマイニングの宝の山/Tech総研 より抜粋)
    ・統計解析/データマイニング/機械学習/自然言語処理
    ・大規模分散処理
     R


                 ぜひご連絡下さい
            koichi.hamada@gmail.com               50
よりよい世界の実現
        よりよい世界を実現したい
      一緒に実現する仲間を募集しています
  大規模ソーシャルメディアのデータマイニング (2100万会員 1日20億アクション以上)




     (※2100万会員モバゲータウンはデータマイニングの宝の山/Tech総研 より抜粋)
    ・統計解析/データマイニング/機械学習/自然言語処理
    ・大規模分散処理
     R Hadoop/Pig/Hive/Zebra


                 ぜひご連絡下さい
            koichi.hamada@gmail.com               51
よりよい世界の実現
        よりよい世界を実現したい
      一緒に実現する仲間を募集しています
  大規模ソーシャルメディアのデータマイニング (2100万会員 1日20億アクション以上)




     (※2100万会員モバゲータウンはデータマイニングの宝の山/Tech総研 より抜粋)
    ・統計解析/データマイニング/機械学習/自然言語処理
    ・大規模分散処理
     R Hadoop/Pig/Hive/Zebra Mahout


                 ぜひご連絡下さい
            koichi.hamada@gmail.com               52
よりよい世界の実現
        よりよい世界を実現したい
      一緒に実現する仲間を募集しています
  大規模ソーシャルメディアのデータマイニング (2100万会員 1日20億アクション以上)




     (※2100万会員モバゲータウンはデータマイニングの宝の山/Tech総研 より抜粋)
    ・統計解析/データマイニング/機械学習/自然言語処理
    ・大規模分散処理
     R Hadoop/Pig/Hive/Zebra Mahout …etc


                 ぜひご連絡下さい
            koichi.hamada@gmail.com               53
AGENDA
    ◆講師紹介
    ◆Random Forestとは
    ◆決定木
      ◆決定木とは
      ◆R言語での実行
    ◆集団学習
    ◆Random Forest
      ◆アルゴリズム
      ◆R言語での実行
    ◆参考資料
    ◆最後に
Random Forest とは




                   集団学習により




                             55
Random Forest とは




                   集団学習により

         高精度の分類・予測を実現する




                             56
Random Forest とは




                   集団学習により

         高精度の分類・予測を実現する

             機械学習アルゴリズム




                             57
Random Forest とは




                   集団学習により

         高精度の分類・予測を実現する

             機械学習アルゴリズム


               “Random forests”
              (L. Breiman, 2001)

                                   58
Random Forest とは
                     決定木の集団学習により
                     高精度の分類・予測を行う
                学習用データ

  Random      Sampling 1   Sampling 2   …   Sampling B

   Forest
            Forest
                Tree 1      Tree 2      …     Tree B

予測対象




               Result 1     Result 2    …    Result B


               分類・予測結果                                   59
Random Forest : 長所
                Random Forest の
                    主な長所


   ・精度が高い
   ・説明変数が数百、数千でも効率的に作動
   ・目的変数に対する説明変数の重要度を推定
   ・欠損値を持つデータでも有効に動作
   ・個体数がアンバランスでもエラーバランスが保たれる




                                  60
Random Forest : 長所
        決定木、Support Vector Machine(SVM)、等
         他分類器に比べ分類・予測精度が高い
                例:11人の著者の10テーマ110編の文章分類
 精度:高い           (49個の特徴語。100回の学習・テストでの比較)


                                                       Random Forest
                                         Bagging   AdaBoost
        F1値平均




                           ニューラルネット
                決定木        (量子ベクトル化)
                (CART)
                                       SVM
                    K近傍法

                              カーネルK近傍法



 引用元:     「ESTRELA」 2009年05月号 統計的テキスト解析(15) ~テキストの分類分析2~
          http://mjin.doshisha.ac.jp/R/200905_70.pdf
                                                                   61
Random Forest とは
                     決定木の集団学習により
                     高精度の分類・予測を行う
                学習用データ

  Random      Sampling 1   Sampling 2   …   Sampling B

   Forest
            Forest
                Tree 1      Tree 2      …     Tree B

予測対象




               Result 1     Result 2    …    Result B


               分類・予測結果                                   62
Random Forest とは
                     決定木の集団学習により
                     高精度の分類・予測を行う
                学習用データ

  Random      Sampling 1   Sampling 2   …   Sampling B

   Forest
            Forest
                Tree 1      Tree 2      …     Tree B

予測対象




               Result 1     Result 2    …    Result B


               分類・予測結果                                   63
Random Forest とは
                     決定木の集団学習により
                     高精度の分類・予測を行う
                学習用データ

  Random      Sampling 1   Sampling 2   …   Sampling B

   Forest
            Forest
                Tree 1      Tree 2      …     Tree B

予測対象




               Result 1     Result 2    …    Result B


               分類・予測結果                                   64
AGENDA
    ◆講師紹介
    ◆Random Forestとは
    ◆決定木
      ◆決定木とは
      ◆R言語での実行
    ◆集団学習
    ◆Random Forest
      ◆アルゴリズム
      ◆R言語での実行
    ◆参考資料
    ◆最後に
AGENDA
    ◆講師紹介
    ◆Random Forestとは
    ◆決定木
      ◆決定木とは
      ◆R言語での実行
    ◆集団学習
    ◆Random Forest
      ◆アルゴリズム
      ◆R言語での実行
    ◆参考資料
    ◆最後に
決定木 とは
   目的変数に影響が大きい変数・境界値・順序を
        算出することができる




                           67
決定木 とは
   目的変数に影響が大きい変数・境界値・順序を
        算出することができる

            影響大
 データ              木構造




                           68
決定木 とは
   目的変数に影響が大きい変数・境界値・順序を
        算出することができる

                 影響大
 データ                     木構造




          今まで気づかなかった重要な条件を知り
         サービスやプロセスを改良することができる   69
解決する課題
   目的変数に影響が大きい変数・境界値・順序を
        算出することができる
■丌具合発生率が大きい製造工程にはどのような特徴があるのか?




      今まで気づかなかった重要な条件を知り
     サービスやプロセスを改良することができる    70
解決する課題
   目的変数に影響が大きい変数・境界値・順序を
        算出することができる
■丌具合発生率が大きい製造工程にはどのような特徴があるのか?
 ⇒ 丌具合原因の特定・改善




      今まで気づかなかった重要な条件を知り
     サービスやプロセスを改良することができる    71
解決する課題
   目的変数に影響が大きい変数・境界値・順序を
        算出することができる
■丌具合発生率が大きい製造工程にはどのような特徴があるのか?
 ⇒ 丌具合原因の特定・改善
■広告効果が高いユーザーにはどのような特徴があるのか?




      今まで気づかなかった重要な条件を知り
     サービスやプロセスを改良することができる     72
解決する課題
   目的変数に影響が大きい変数・境界値・順序を
        算出することができる
■丌具合発生率が大きい製造工程にはどのような特徴があるのか?
 ⇒ 丌具合原因の特定・改善
■広告効果が高いユーザーにはどのような特徴があるのか?
 ⇒ 投資対効果の高いターゲット選定




      今まで気づかなかった重要な条件を知り
     サービスやプロセスを改良することができる     73
解決する課題
   目的変数に影響が大きい変数・境界値・順序を
        算出することができる
■丌具合発生率が大きい製造工程にはどのような特徴があるのか?
 ⇒ 丌具合原因の特定・改善
■広告効果が高いユーザーにはどのような特徴があるのか?
 ⇒ 投資対効果の高いターゲット選定
■優良ユーザーはどのような楽しみかたをしているか?




      今まで気づかなかった重要な条件を知り
     サービスやプロセスを改良することができる     74
解決する課題
   目的変数に影響が大きい変数・境界値・順序を
        算出することができる
■丌具合発生率が大きい製造工程にはどのような特徴があるのか?
 ⇒ 丌具合原因の特定・改善
■広告効果が高いユーザーにはどのような特徴があるのか?
 ⇒ 投資対効果の高いターゲット選定
■優良ユーザーはどのような楽しみかたをしているか?
 ⇒ より継続的に楽しんでもらえるサービス改良




      今まで気づかなかった重要な条件を知り
     サービスやプロセスを改良することができる     75
解決する課題
   目的変数に影響が大きい変数・境界値・順序を
        算出することができる
■丌具合発生率が大きい製造工程にはどのような特徴があるのか?
 ⇒ 丌具合原因の特定・改善
■広告効果が高いユーザーにはどのような特徴があるのか?
 ⇒ 投資対効果の高いターゲット選定
■優良ユーザーはどのような楽しみかたをしているか?
 ⇒ より継続的に楽しんでもらえるサービス改良




      今まで気づかなかった重要な条件を知り
     サービスやプロセスを改良することができる     76
決定木 とは
                木構造の条件分岐で
               分類・予測(回帰)を行う
例: 植物の分類
Iris(アヤメ)データ
花葉と花びらの長さ・幅から
種類の分類構造算出
 説明変数                  目的変数
花葉(長さ・幅)   花びら(長さ・幅)    種類




                              77
決定木 とは
                木構造の条件分岐で
               分類・予測(回帰)を行う
例: 植物の分類                      分類        花びらの長さ
Iris(アヤメ)データ
花葉と花びらの長さ・幅から                                       花びらの幅
種類の分類構造算出
 説明変数                  目的変数
花葉(長さ・幅)   花びら(長さ・幅)    種類
                              setosa



                                                      virginica


                                       versicolor


                                                            78
決定木 とは
                    木構造の条件分岐で
                   分類・予測(回帰)を行う
例: 植物の分類                                   分類        花びらの長さ
Iris(アヤメ)データ
花葉と花びらの長さ・幅から                                                         花びらの幅
種類の分類構造算出


                         virginica         setosa



        setosa
                                                                             virginica
                 versicolor    virginica

                                                    versicolor   virginica


                                                                                   79
決定木 とは
               木構造の条件分岐で
              分類・予測(回帰)を行う
例: ブレーキ後 停車距離 予測
carsデータ
車速度と
ブレーキ後の停車距離の関係構造算出
  説明変数    目的変数
          ブレーキ後の
  車の速度
          停車までの距離




                             80
決定木 とは
               木構造の条件分岐で
              分類・予測(回帰)を行う
例: ブレーキ後 停車距離 予測    回帰(予測)   スピード(speed)
carsデータ
車速度と
ブレーキ後の停車距離の関係構造算出
  説明変数    目的変数
          ブレーキ後の
  車の速度
          停車までの距離




                     ブレーキ後の停車距離

                                           81
決定木 とは
             木構造の条件分岐で
            分類・予測(回帰)を行う
例: ブレーキ後 停車距離 予測    回帰(予測)   スピード(speed)
carsデータ
車速度と
ブレーキ後の停車距離の関係構造算出




                     ブレーキ後の停車距離

                                           82
決定木: 分岐基準
      条件ノード A を条件ノードALとARに分けるとき
        以下のΔIを最大化する分割を行う
                Classification And Regression Trees (CART)
                            (Breiman et al, 1984)
分類木


      Entropy
      GINI係数

      ※             :条件ノード A で クラス k をとる確率
回帰木

      尤離度(deviance)

      ※          :条件ノード A での目標変数 t の平均値                      83
AGENDA
    ◆講師紹介
    ◆Random Forestとは
    ◆決定木
      ◆決定木とは
      ◆R言語での実行
    ◆集団学習
    ◆Random Forest
      ◆アルゴリズム
      ◆R言語での実行
    ◆参考資料
    ◆最後に
決定木の実行

                        パッケージインストール
 # 決定木のインストール
 install.packages("mvpart")
 library(mvpart)




                                      85
決定木の実行

                        パッケージインストール
 # 決定木のインストール
 install.packages("mvpart")
 library(mvpart)

 # Species(種類)を分類変数として 樹木モデル を生成
 # iris(アヤメ)データを使用
 tree <- rpart(Species~., data = iris, method = "class")

 サンプルデータ
    iris(アヤメ)データ:よい性質を持ち よく使用される
    (R環境で標準提供されている) 説明変数                                                      目的変数
                        花葉(長さ・幅)                      花びら(長さ・幅)                 種類
                                Sepal.Length Sepal.Width Petal.Length Petal.Width Species
                                        5.1       3.5        1.4       0.2     setosa
                                        4.9       3.0        1.4       0.2     setosa
                                        4.7       3.2        1.3       0.2     setosa
                                        4.6       3.1        1.5       0.2     setosa
                                        5.0       3.6        1.4       0.2     setosa
       Iris Sanguinea                                                                       86
決定木の実行

               生成された決定木の表示
 #Tree の表示 (全分岐での分布表示(all=TRUE) 、個数も表示(use.n =TRUE))
 plot.rpart(tree)
 text.rpart(tree, all = TRUE, use.n = TRUE)
                         花びらの長さ




                                        花びらの幅




                setosa




                           versicolor     virginica    87
決定木を用いた予測

predtree <- predict(tree, data = newdata, type = "class")




                                                            88
決定木の実行
                     学習・予測データに分け
                    学習用データで決定木作成

 # iris(アヤメ)データを使用
 data <- iris
 # 学習用データとテスト用データをランダムサンプリング
 ndata <- nrow(data)#データ行数
 ridx <- sample(ndata, ndata*0.5) #50%のランダム抽出で学習・予測データ分割
 data.learn <- data[ridx,] #学習用データ作成
 data.test <- data[-ridx,] #予測用データ作成



 # Species(種類)を分類変数として 決定木 を生成
 tree <- rpart(Species~., data = data.learn, method = "class")



                                                                 89
決定木の実行

                樹木モデル を用いた予測

 # 樹木モデルを用いた予測 (新データ data.test に対する種類分類を予測)
 predtree <- predict(tree, data.test, type = "class")




                                                        90
決定木の実行

                           樹木モデル を用いた予測

 # 決定木を用いた予測 (新データ data.test に対する種類分類を予測)
 predtree <- predict(tree, data.test, type = "class")

 # 解との比較
 table(predtree,data.test$Species)


 予測結果: Tree 予測
  predtree    setosa versicolor virginica
   setosa       24         0        0
   versicolor     0      22         3
   virginica     0       3        23




                                                        91
Random Forest とは
                     決定木の集団学習により
                     高精度の分類・予測を行う
                学習用データ

  Random      Sampling 1   Sampling 2   …   Sampling B

   Forest
            Forest
                Tree 1      Tree 2      …     Tree B

予測対象




               Result 1     Result 2    …    Result B


               分類・予測結果                                   92
Random Forest とは
                     決定木の集団学習により
                     高精度の分類・予測を行う
                学習用データ

  Random      Sampling 1   Sampling 2   …   Sampling B

   Forest
            Forest
                Tree 1      Tree 2      …     Tree B

予測対象




               Result 1     Result 2    …    Result B


               分類・予測結果                                   93
AGENDA
    ◆講師紹介
    ◆Random Forestとは
    ◆決定木
      ◆決定木とは
      ◆R言語での実行
    ◆集団学習
    ◆Random Forest
      ◆アルゴリズム
      ◆R言語での実行
    ◆参考資料
    ◆最後に
集団学習 とは




          95
集団学習 とは
       複数モデル生成し 結果を統合
    精度を向上させる 機械学習のアルゴリズム




                           96
集団学習 とは
       複数モデル生成し 結果を統合
    精度を向上させる 機械学習のアルゴリズム

     ■異なるサンプル、異なる重みの
      複数の学習モデルを生成




                           97
集団学習 とは
       複数モデル生成し 結果を統合
    精度を向上させる 機械学習のアルゴリズム

     ■異なるサンプル、異なる重みの
      複数の学習モデルを生成

     ■各モデルの結果を統合・組合せにより
      精度・汎用性を向上




                           98
集団学習 とは
       複数モデル生成し 結果を統合
    精度を向上させる 機械学習のアルゴリズム

     ■異なるサンプル、異なる重みの
      複数の学習モデルを生成

     ■各モデルの結果を統合・組合せにより
      精度・汎用性を向上
          結果の統合   ・分類: 多数決
                  ・回帰: 平均値


                             99
集団学習 とは
       複数モデル生成し 結果を統合
    精度を向上させる 機械学習のアルゴリズム

     ■異なるサンプル、異なる重みの
      複数の学習モデルを生成

     ■各モデルの結果を統合・組合せにより
      精度・汎用性を向上
          結果の統合   ・分類: 多数決
                  ・回帰: 平均値


                             100
AGENDA
    ◆講師紹介
    ◆Random Forestとは
    ◆決定木
      ◆決定木とは
      ◆R言語での実行
    ◆集団学習
    ◆Random Forest
      ◆アルゴリズム
      ◆R言語での実行
    ◆参考資料
    ◆最後に
AGENDA
    ◆講師紹介
    ◆Random Forestとは
    ◆決定木
      ◆決定木とは
      ◆R言語での実行
    ◆集団学習
    ◆Random Forest
      ◆アルゴリズム
      ◆R言語での実行
    ◆参考資料
    ◆最後に
Random Forest
                樹木モデルの集団学習による
                高精度の分類・予測(回帰)
                学習用データ

  Random      Sampling 1   Sampling 2   …   Sampling B

   Forest
            Forest
                Tree 1      Tree 2      …     Tree B

予測対象




               Result 1     Result 2    …    Result B


               分類・予測結果                                   103
学習と予測


学習

        104
Random Forest アルゴリズム: 学習




  Random
   Forest




                           105
Random Forest アルゴリズム: 学習

               ブートストラップ サンプリング
  学習データから重複を許しランダムに B組のサンプル集合抽出

              学習用データ

  Random    Sampling 1   Sampling 2   …   Sampling B

   Forest




                                                       106
Random Forest アルゴリズム: 学習

            ランダム抽出変数での決定木生成
   各ノード展開で M個の説明変数からm個変数をランダム抽出

              学習用データ

  Random    Sampling 1   Sampling 2   …   Sampling B

   Forest
              Tree 1




                                                       107
Random Forest アルゴリズム: 学習
                         全サンプル集合で
                          決定木を生成
              学習用データ

  Random    Sampling 1   Sampling 2   …   Sampling B

   Forest
              Tree 1      Tree 2      …     Tree B




                                                       108
Random Forest アルゴリズム: 学習
                          複数の木モデル
                       = Forest (森) モデル
              学習用データ

  Random    Sampling 1   Sampling 2   …   Sampling B

   Forest
              Tree 1      Tree 2      …     Tree B




                                                       109
Random Forest アルゴリズム: 学習
                            複数の木モデル
                         = Forest (森) モデル
                学習用データ

  Random      Sampling 1   Sampling 2   …   Sampling B

   Forest
            Forest
                Tree 1      Tree 2      …     Tree B




                                                         110
学習と予測


予測

        111
Random Forest アルゴリズム
                     全木モデルで
                  分類・回帰予測の結果算出
                学習用データ

  Random      Sampling 1   Sampling 2   …   Sampling B

   Forest
            Forest
                Tree 1      Tree 2      …     Tree B

予測対象




               Result 1     Result 2    …    Result B


                                                         112
Random Forest アルゴリズム

                全木モデルの結果を統合する
                     分類:多数決、回帰予測:平均

                学習用データ

  Random      Sampling 1   Sampling 2   …   Sampling B

   Forest
            Forest
                Tree 1      Tree 2      …     Tree B

予測対象




               Result 1     Result 2    …    Result B


               分類・予測結果                                   113
Random Forest アルゴリズム
                 木モデルの集団学習による
                 高精度の分類・予測(回帰)
                学習用データ

  Random      Sampling 1   Sampling 2   …   Sampling B

   Forest
            Forest
                Tree 1      Tree 2      …     Tree B

予測対象




               Result 1     Result 2    …    Result B


               分類・予測結果                                   114
Random Forest : 長所
                Random Forest の
                    主な長所


   ・精度が高い
   ・説明変数が数百、数千でも効率的に作動
   ・目的変数に対する説明変数の重要度を推定
   ・欠損値を持つデータでも有効に動作
   ・個体数がアンバランスでもエラーバランスが保たれる




                                  115
Random Forest : 長所
        決定木、Support Vector Machine(SVM)、等
         他分類器に比べ分類・予測精度が高い
                例:11人の著者の10テーマ110編の文章分類
 精度:高い           (49個の特徴語。100回の学習・テストでの比較)


                                                       Random Forest
                                         Bagging   AdaBoost
        F1値平均




                           ニューラルネット
                樹木モデル      (量子ベクトル化)
                (CART)
                                       SVM
                    K近傍法

                              カーネルK近傍法



 引用元:     「ESTRELA」 2009年05月号 統計的テキスト解析(15) ~テキストの分類分析2~
          http://mjin.doshisha.ac.jp/R/200905_70.pdf
                                                                   116
AGENDA
    ◆講師紹介
    ◆Random Forestとは
    ◆決定木
      ◆決定木とは
      ◆R言語での実行
    ◆集団学習
    ◆Random Forest
      ◆アルゴリズム
      ◆R言語での実行
    ◆参考資料
    ◆最後に
Random Forest の実行

                       パッケージインストール
 # randomForest のインストール
 install.packages("randomForest")
 library(randomForest)




                                     118
Random Forest の実行

                      学習用・予測用データ作成
 # iris(アヤメ)データを使用
 data <- iris
 # 学習用データとテスト用データをランダムサンプリング
 ndata <- nrow(data)#データ行数
 ridx <- sample(ndata, ndata*0.5) #50%のランダム抽出で学習・予測データ分割
 data.learn <- data[ridx,] #学習用データ作成
 data.test <- data[-ridx,] #予測用データ作成
 サンプルデータ
   iris(アヤメ)データ:よい性質を持ち よく使用される
   (R環境で標準提供されている) 説明変数                                                目的変数
                       花葉(長さ・幅)                花びら(長さ・幅)                 種類
                         Sepal.Length Sepal.Width Petal.Length Petal.Width Species
                                 5.1       3.5        1.4       0.2     setosa
                                 4.9       3.0        1.4       0.2     setosa
                                 4.7       3.2        1.3       0.2     setosa
                                 4.6       3.1        1.5       0.2     setosa
                                 5.0       3.6        1.4       0.2     setosa
     Iris Sanguinea                                                                  119
Random Forest の実行

                     Random Forest の生成
 # Species(種類)を分類変数として Random Forest を生成
 forest <- randomForest(Species~.,data = data.learn)




                                                       120
Random Forest の実行

                       Random Forest の生成
 # Species(種類)を分類変数として Random Forest を生成
 forest <- randomForest(Species~.,data = data.learn)


関数
 randomForest(formula, data = NULL, …, ..., subset, na.action=na.fail)

 主要な引数          内容
 formula        モデルの形式
 x, y           目的変数と説明変数 (formula 代わりに用いる)
 data, subset   用いるデータ
 na.action      欠損値の表記型の指定
 ntree          生成する木の数 (デフォルトは 500)
 mtry           分岐に用いる変数の数 (デフォルト, 分類 √M, 回帰 M/3, M:変数総数)
 importance     変数の重要度出力 (デフォルトは FALSE)

                                                                         121
Random Forest の実行
                     生成されたForest を用いた
                        高精度の予測
 # Forestを用いた予測の実行
 pred.forest <- predict(forest, newdata = data.test, type = "class")

 # 解との比較
 table(pred.forest, data.test[,5])




                                                                       122
Random Forest の実行
                          生成されたForest を用いた
                             高精度の予測
 # Forestを用いた予測の実行
 pred.forest <- predict(forest, newdata = data.test, type = "class")

 # 解との比較
 table(pred.forest, data.test[,5])



 予測結果: Random Forest 予測
   pred.forest setosa versicolor virginica
    setosa       27         0        0
    versicolor    0       28         0
    virginica    0        0        20

                    分類間違いなし



                                                                       123
Random Forest の実行
                          生成されたForest を用いた
                             高精度の予測
 # Forestを用いた予測の実行
 pred.forest <- predict(forest, newdata = data.test, type = "class")

 # 解との比較
 table(pred.forest, data.test[,5])



 予測結果: Random Forest 予測                      ※比較参照 予測結果:分類木 (rpart)
   pred.forest setosa versicolor virginica   pred.dt     setosa versicolor virginica
    setosa       27         0        0        setosa        27        0         0
    versicolor    0       28         0        versicolor     0       26         1
    virginica    0        0        20         virginica     0        2        19

                    分類間違いなし



                                                                                       124
樹木モデルとの比較
                                    きわどいところも
                                    分類できている

 予測結果: Random Forest 予測                     ※比較参照 予測結果:分類木 (rpart)
  pred.forest setosa versicolor virginica   pred.dt     setosa versicolor virginica
   setosa       27         0        0        setosa        27        0         0
   versicolor    0       28         0        versicolor     0       26         1
   virginica    0        0        20         virginica     0        2        19

                                            分類木のエラー箇所

                                                               virginica




                                              setosa

                                                                           virginica
                                                       versicolor




                                                                                       125
Random Forest の実行
                   重要度算出
              各変数の目的変数に対する重要度
                                 重要度 グラフ表示
 #重要度 グラフ表示
 varImpPlot(forest)

 #重要度 出力
 Importance(forest)


  重要度 出力
    > importance(forest)
              MeanDecreaseGini
    Sepal.Length      4.791776
    Sepal.Width       2.102875
    Petal.Length     20.811569
    Petal.Width     20.627166

                                             126
「R言語による Random Forest 徹底入門 -集団学習による分類・予測-」 - #TokyoR  #11
AGENDA
    ◆講師紹介
    ◆Random Forestとは
    ◆決定木
      ◆決定木とは
      ◆R言語での実行
    ◆集団学習
    ◆Random Forest
      ◆アルゴリズム
      ◆R言語での実行
    ◆参考資料
    ◆最後に
参考資料:R/CART/Random Forest



             Rによるデータサイエンス                       Rによる統計解析
             ~データ解析の基礎から最新手法まで ~




■CART:
L. Breiman, J. H. Friedman, R. A. Olshen and. C. J. Stone:
“Classification and Regression Trees.”, Wadsworth (1984)
■Random Forest:
L. Breiman. Random forests. Machine Learning, 45, 5–32 (2001)
AGENDA
    ◆講師紹介
    ◆Random Forestとは
    ◆決定木
      ◆決定木とは
      ◆R言語での実行
    ◆集団学習
    ◆Random Forest
      ◆アルゴリズム
      ◆R言語での実行
    ◆参考資料
    ◆最後に
最後に

      蓄積されたデータを有効活用してきたい




                           131
最後に

      蓄積されたデータを有効活用してきたい




  Google Group: http://groups.google.com/group/webmining-tokyo

                                                                 132
最後に
               データマイニング+WEB勉強会
                発表者を募集しています




 連絡
  Google Group: http://groups.google.com/group/webmining-tokyo
  Twitter     : http://twitter.com/hamadakoichi
                                                                 133
最後に




      134
最後に

              日本初
          R言語の人材募集要項
  http://www.dena.jp/recruit/sp2/career/guide09.html




                                                       135
よりよい世界の実現
     より蓄積されたデータを有効活用し
    世界の未来をよりよいものにしていきたい
               データマイニング+WEB勉強会@東京




     Google Group: http://groups.google.com/group/webmining-tokyo   136
よりよい世界の実現
        よりよい世界を実現したい




                       137
よりよい世界の実現
        よりよい世界を実現したい
      一緒に実現する仲間を募集しています
  大規模ソーシャルメディアのデータマイニング (2100万会員 1日20億アクション以上)




     (※2100万会員モバゲータウンはデータマイニングの宝の山/Tech総研 より抜粋)
    ・統計解析/データマイニング/機械学習/自然言語処理
    ・大規模分散処理
     R Hadoop/Pig/Hive/Zebra Mahout …etc


                 ぜひご連絡下さい
            koichi.hamada@gmail.com               138
ご清聴ありがとうございました




                 139
AGENDA
    ◆講師紹介
    ◆Random Forestとは
    ◆決定木
      ◆決定木とは
      ◆R言語での実行
    ◆集団学習
    ◆Random Forest
      ◆アルゴリズム
      ◆R言語での実行
    ◆参考資料
    ◆最後に
1 von 140

Recomendados

ランダムフォレスト von
ランダムフォレストランダムフォレスト
ランダムフォレストKinki University
34.7K views74 Folien
ブースティング入門 von
ブースティング入門ブースティング入門
ブースティング入門Retrieva inc.
34K views33 Folien
Rでのtry関数によるエラー処理 von
Rでのtry関数によるエラー処理Rでのtry関数によるエラー処理
Rでのtry関数によるエラー処理wada, kazumi
7.5K views8 Folien
21世紀の手法対決 (MIC vs HSIC) von
21世紀の手法対決 (MIC vs HSIC)21世紀の手法対決 (MIC vs HSIC)
21世紀の手法対決 (MIC vs HSIC)Toru Imai
24.4K views34 Folien
統計的因果推論への招待 -因果構造探索を中心に- von
統計的因果推論への招待 -因果構造探索を中心に-統計的因果推論への招待 -因果構造探索を中心に-
統計的因果推論への招待 -因果構造探索を中心に-Shiga University, RIKEN
27.3K views56 Folien

Más contenido relacionado

Was ist angesagt?

ようやく分かった!最尤推定とベイズ推定 von
ようやく分かった!最尤推定とベイズ推定ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定Akira Masuda
96.8K views31 Folien
Word2vecの並列実行時の学習速度の改善 von
Word2vecの並列実行時の学習速度の改善Word2vecの並列実行時の学習速度の改善
Word2vecの並列実行時の学習速度の改善Naoaki Okazaki
19.4K views21 Folien
臨床疫学研究における傾向スコア分析の使い⽅ 〜観察研究における治療効果研究〜 von
臨床疫学研究における傾向スコア分析の使い⽅ 〜観察研究における治療効果研究〜臨床疫学研究における傾向スコア分析の使い⽅ 〜観察研究における治療効果研究〜
臨床疫学研究における傾向スコア分析の使い⽅ 〜観察研究における治療効果研究〜Yasuyuki Okumura
7.6K views269 Folien
因果推論の基礎 von
因果推論の基礎因果推論の基礎
因果推論の基礎Hatsuru Morita
13.9K views28 Folien
Granger因果による 時系列データの因果推定(因果フェス2015) von
Granger因果による時系列データの因果推定(因果フェス2015)Granger因果による時系列データの因果推定(因果フェス2015)
Granger因果による 時系列データの因果推定(因果フェス2015)Takashi J OZAKI
38.6K views43 Folien
正準相関分析 von
正準相関分析正準相関分析
正準相関分析Akisato Kimura
15K views19 Folien

Was ist angesagt?(20)

ようやく分かった!最尤推定とベイズ推定 von Akira Masuda
ようやく分かった!最尤推定とベイズ推定ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定
Akira Masuda96.8K views
Word2vecの並列実行時の学習速度の改善 von Naoaki Okazaki
Word2vecの並列実行時の学習速度の改善Word2vecの並列実行時の学習速度の改善
Word2vecの並列実行時の学習速度の改善
Naoaki Okazaki19.4K views
臨床疫学研究における傾向スコア分析の使い⽅ 〜観察研究における治療効果研究〜 von Yasuyuki Okumura
臨床疫学研究における傾向スコア分析の使い⽅ 〜観察研究における治療効果研究〜臨床疫学研究における傾向スコア分析の使い⽅ 〜観察研究における治療効果研究〜
臨床疫学研究における傾向スコア分析の使い⽅ 〜観察研究における治療効果研究〜
Yasuyuki Okumura7.6K views
Granger因果による 時系列データの因果推定(因果フェス2015) von Takashi J OZAKI
Granger因果による時系列データの因果推定(因果フェス2015)Granger因果による時系列データの因果推定(因果フェス2015)
Granger因果による 時系列データの因果推定(因果フェス2015)
Takashi J OZAKI38.6K views
再現性問題は若手研究者の突破口 von Yuki Yamada
再現性問題は若手研究者の突破口再現性問題は若手研究者の突破口
再現性問題は若手研究者の突破口
Yuki Yamada9K views
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial) von RyuichiKanoh
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
RyuichiKanoh25.6K views
ベイズモデリングで見る因子分析 von Shushi Namba
ベイズモデリングで見る因子分析ベイズモデリングで見る因子分析
ベイズモデリングで見る因子分析
Shushi Namba6.5K views
今さら聞けないカーネル法とサポートベクターマシン von Shinya Shimizu
今さら聞けないカーネル法とサポートベクターマシン今さら聞けないカーネル法とサポートベクターマシン
今さら聞けないカーネル法とサポートベクターマシン
Shinya Shimizu131.6K views
比例ハザードモデルはとってもtricky! von takehikoihayashi
比例ハザードモデルはとってもtricky!比例ハザードモデルはとってもtricky!
比例ハザードモデルはとってもtricky!
takehikoihayashi82.3K views
星野「調査観察データの統計科学」第3章 von Shuyo Nakatani
星野「調査観察データの統計科学」第3章星野「調査観察データの統計科学」第3章
星野「調査観察データの統計科学」第3章
Shuyo Nakatani33.2K views
GEE(一般化推定方程式)の理論 von Koichiro Gibo
GEE(一般化推定方程式)の理論GEE(一般化推定方程式)の理論
GEE(一般化推定方程式)の理論
Koichiro Gibo31.5K views
Recent Advances on Transfer Learning and Related Topics Ver.2 von Kota Matsui
Recent Advances on Transfer Learning and Related Topics Ver.2Recent Advances on Transfer Learning and Related Topics Ver.2
Recent Advances on Transfer Learning and Related Topics Ver.2
Kota Matsui5.4K views
XAI (説明可能なAI) の必要性 von 西岡 賢一郎
XAI (説明可能なAI) の必要性XAI (説明可能なAI) の必要性
XAI (説明可能なAI) の必要性
西岡 賢一郎1.1K views
無限関係モデル (続・わかりやすいパターン認識 13章) von Shuyo Nakatani
無限関係モデル (続・わかりやすいパターン認識 13章)無限関係モデル (続・わかりやすいパターン認識 13章)
無限関係モデル (続・わかりやすいパターン認識 13章)
Shuyo Nakatani12.6K views

Similar a 「R言語による Random Forest 徹底入門 -集団学習による分類・予測-」 - #TokyoR #11

"Mahout Recommendation" - #TokyoWebmining 14th von
"Mahout Recommendation" -  #TokyoWebmining 14th"Mahout Recommendation" -  #TokyoWebmining 14th
"Mahout Recommendation" - #TokyoWebmining 14thKoichi Hamada
5.5K views108 Folien
Mahout Canopy Clustering - #TokyoWebmining 9 von
Mahout Canopy Clustering - #TokyoWebmining 9Mahout Canopy Clustering - #TokyoWebmining 9
Mahout Canopy Clustering - #TokyoWebmining 9Koichi Hamada
10.5K views110 Folien
Mahout JP - #TokyoWebmining 11th #MahoutJP von
Mahout JP -  #TokyoWebmining 11th #MahoutJP Mahout JP -  #TokyoWebmining 11th #MahoutJP
Mahout JP - #TokyoWebmining 11th #MahoutJP Koichi Hamada
2.9K views67 Folien
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京 von
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京Koichi Hamada
289.1K views85 Folien
ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京 von
ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京
ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京Koichi Hamada
23.6K views126 Folien
Introduction to Mahout Clustering - #TokyoWebmining #6 von
Introduction to Mahout Clustering - #TokyoWebmining #6Introduction to Mahout Clustering - #TokyoWebmining #6
Introduction to Mahout Clustering - #TokyoWebmining #6Koichi Hamada
9.2K views79 Folien

Similar a 「R言語による Random Forest 徹底入門 -集団学習による分類・予測-」 - #TokyoR #11(20)

"Mahout Recommendation" - #TokyoWebmining 14th von Koichi Hamada
"Mahout Recommendation" -  #TokyoWebmining 14th"Mahout Recommendation" -  #TokyoWebmining 14th
"Mahout Recommendation" - #TokyoWebmining 14th
Koichi Hamada5.5K views
Mahout Canopy Clustering - #TokyoWebmining 9 von Koichi Hamada
Mahout Canopy Clustering - #TokyoWebmining 9Mahout Canopy Clustering - #TokyoWebmining 9
Mahout Canopy Clustering - #TokyoWebmining 9
Koichi Hamada10.5K views
Mahout JP - #TokyoWebmining 11th #MahoutJP von Koichi Hamada
Mahout JP -  #TokyoWebmining 11th #MahoutJP Mahout JP -  #TokyoWebmining 11th #MahoutJP
Mahout JP - #TokyoWebmining 11th #MahoutJP
Koichi Hamada2.9K views
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京 von Koichi Hamada
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
Koichi Hamada289.1K views
ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京 von Koichi Hamada
ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京
ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京
Koichi Hamada23.6K views
Introduction to Mahout Clustering - #TokyoWebmining #6 von Koichi Hamada
Introduction to Mahout Clustering - #TokyoWebmining #6Introduction to Mahout Clustering - #TokyoWebmining #6
Introduction to Mahout Clustering - #TokyoWebmining #6
Koichi Hamada9.2K views
Large Scale Data Mining of the Mobage Service - #PRMU 2011 #Mahout #Hadoop von Koichi Hamada
Large Scale Data Mining of the Mobage Service - #PRMU 2011 #Mahout #HadoopLarge Scale Data Mining of the Mobage Service - #PRMU 2011 #Mahout #Hadoop
Large Scale Data Mining of the Mobage Service - #PRMU 2011 #Mahout #Hadoop
Koichi Hamada9.5K views
『モバゲーの大規模データマイニング基盤におけるHadoop活用』-Hadoop Conference Japan 2011- #hcj2011 von Koichi Hamada
『モバゲーの大規模データマイニング基盤におけるHadoop活用』-Hadoop Conference Japan 2011- #hcj2011 『モバゲーの大規模データマイニング基盤におけるHadoop活用』-Hadoop Conference Japan 2011- #hcj2011
『モバゲーの大規模データマイニング基盤におけるHadoop活用』-Hadoop Conference Japan 2011- #hcj2011
Koichi Hamada14.2K views
ソーシャルウェブ と レコメンデーション -第4回データマイニング+WEB勉強会@東京 von Koichi Hamada
ソーシャルウェブ と レコメンデーション -第4回データマイニング+WEB勉強会@東京ソーシャルウェブ と レコメンデーション -第4回データマイニング+WEB勉強会@東京
ソーシャルウェブ と レコメンデーション -第4回データマイニング+WEB勉強会@東京
Koichi Hamada9.4K views
R言語による アソシエーション分析-組合せ・事象の規則を解明する-(第5回R勉強会@東京) von Koichi Hamada
R言語による アソシエーション分析-組合せ・事象の規則を解明する-(第5回R勉強会@東京)R言語による アソシエーション分析-組合せ・事象の規則を解明する-(第5回R勉強会@東京)
R言語による アソシエーション分析-組合せ・事象の規則を解明する-(第5回R勉強会@東京)
Koichi Hamada27.8K views
ソーシャルデザインパターン -評判と情報収集- von Koichi Hamada
ソーシャルデザインパターン -評判と情報収集-ソーシャルデザインパターン -評判と情報収集-
ソーシャルデザインパターン -評判と情報収集-
Koichi Hamada2.8K views
ビッグデータ&データマネジメント展 von Recruit Technologies
ビッグデータ&データマネジメント展ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展
提案プロセスのマネジメント von Naoki Ishimitsu
提案プロセスのマネジメント提案プロセスのマネジメント
提案プロセスのマネジメント
Naoki Ishimitsu12.4K views
リッチなドメインモデル 名前探し von 増田 亨
リッチなドメインモデル 名前探しリッチなドメインモデル 名前探し
リッチなドメインモデル 名前探し
増田 亨14.4K views
AWSを活用要したSAPアップグレードプロジェクト事例 von Masaru Hiroki
AWSを活用要したSAPアップグレードプロジェクト事例AWSを活用要したSAPアップグレードプロジェクト事例
AWSを活用要したSAPアップグレードプロジェクト事例
Masaru Hiroki738 views
2012年上半期 AWSパートナーアワード受賞社資料:SAPアップグレードプロジェクト事例 (株式会社クニエ様) von Amazon Web Services Japan
2012年上半期 AWSパートナーアワード受賞社資料:SAPアップグレードプロジェクト事例 (株式会社クニエ様)2012年上半期 AWSパートナーアワード受賞社資料:SAPアップグレードプロジェクト事例 (株式会社クニエ様)
2012年上半期 AWSパートナーアワード受賞社資料:SAPアップグレードプロジェクト事例 (株式会社クニエ様)
20170525 jsug バッチは地味だが役に立つ von Yuichi Hasegawa
20170525 jsug バッチは地味だが役に立つ20170525 jsug バッチは地味だが役に立つ
20170525 jsug バッチは地味だが役に立つ
Yuichi Hasegawa6.1K views
NTTデータはどうやってCCPMを導入したのか? von shibao800
NTTデータはどうやってCCPMを導入したのか?NTTデータはどうやってCCPMを導入したのか?
NTTデータはどうやってCCPMを導入したのか?
shibao80013K views
バッチは地味だが役に立つ von apkiban
バッチは地味だが役に立つバッチは地味だが役に立つ
バッチは地味だが役に立つ
apkiban2.7K views

Más de Koichi Hamada

Anime Generation with AI von
Anime Generation with AIAnime Generation with AI
Anime Generation with AIKoichi Hamada
6.1K views152 Folien
Generative Adversarial Networks @ ICML 2019 von
Generative Adversarial Networks @ ICML 2019Generative Adversarial Networks @ ICML 2019
Generative Adversarial Networks @ ICML 2019Koichi Hamada
5.7K views72 Folien
AIによるアニメ生成の挑戦 von
AIによるアニメ生成の挑戦AIによるアニメ生成の挑戦
AIによるアニメ生成の挑戦Koichi Hamada
69.8K views160 Folien
Generative Adversarial Networks (GANs) and Disentangled Representations @ N... von
Generative Adversarial Networks (GANs) and Disentangled Representations @ N...Generative Adversarial Networks (GANs) and Disentangled Representations @ N...
Generative Adversarial Networks (GANs) and Disentangled Representations @ N...Koichi Hamada
6.8K views75 Folien
Generative Adversarial Networks (GAN) @ NIPS2017 von
Generative Adversarial Networks (GAN) @ NIPS2017Generative Adversarial Networks (GAN) @ NIPS2017
Generative Adversarial Networks (GAN) @ NIPS2017Koichi Hamada
15.8K views67 Folien
DeNAのAI活用したサービス開発 von
DeNAのAI活用したサービス開発DeNAのAI活用したサービス開発
DeNAのAI活用したサービス開発Koichi Hamada
8.4K views51 Folien

Más de Koichi Hamada(20)

Anime Generation with AI von Koichi Hamada
Anime Generation with AIAnime Generation with AI
Anime Generation with AI
Koichi Hamada6.1K views
Generative Adversarial Networks @ ICML 2019 von Koichi Hamada
Generative Adversarial Networks @ ICML 2019Generative Adversarial Networks @ ICML 2019
Generative Adversarial Networks @ ICML 2019
Koichi Hamada5.7K views
AIによるアニメ生成の挑戦 von Koichi Hamada
AIによるアニメ生成の挑戦AIによるアニメ生成の挑戦
AIによるアニメ生成の挑戦
Koichi Hamada69.8K views
Generative Adversarial Networks (GANs) and Disentangled Representations @ N... von Koichi Hamada
Generative Adversarial Networks (GANs) and Disentangled Representations @ N...Generative Adversarial Networks (GANs) and Disentangled Representations @ N...
Generative Adversarial Networks (GANs) and Disentangled Representations @ N...
Koichi Hamada6.8K views
Generative Adversarial Networks (GAN) @ NIPS2017 von Koichi Hamada
Generative Adversarial Networks (GAN) @ NIPS2017Generative Adversarial Networks (GAN) @ NIPS2017
Generative Adversarial Networks (GAN) @ NIPS2017
Koichi Hamada15.8K views
DeNAのAI活用したサービス開発 von Koichi Hamada
DeNAのAI活用したサービス開発DeNAのAI活用したサービス開発
DeNAのAI活用したサービス開発
Koichi Hamada8.4K views
対話返答生成における個性の追加反映 von Koichi Hamada
対話返答生成における個性の追加反映対話返答生成における個性の追加反映
対話返答生成における個性の追加反映
Koichi Hamada14.9K views
Generative Adversarial Networks (GAN) の学習方法進展・画像生成・教師なし画像変換 von Koichi Hamada
Generative Adversarial Networks (GAN) の学習方法進展・画像生成・教師なし画像変換Generative Adversarial Networks (GAN) の学習方法進展・画像生成・教師なし画像変換
Generative Adversarial Networks (GAN) の学習方法進展・画像生成・教師なし画像変換
Koichi Hamada28.2K views
NIPS 2016 Overview and Deep Learning Topics von Koichi Hamada
NIPS 2016 Overview and Deep Learning Topics  NIPS 2016 Overview and Deep Learning Topics
NIPS 2016 Overview and Deep Learning Topics
Koichi Hamada14.6K views
DeNAの機械学習・深層学習活用した 体験提供の挑戦 von Koichi Hamada
DeNAの機械学習・深層学習活用した体験提供の挑戦DeNAの機械学習・深層学習活用した体験提供の挑戦
DeNAの機械学習・深層学習活用した 体験提供の挑戦
Koichi Hamada32.1K views
Laplacian Pyramid of Generative Adversarial Networks (LAPGAN) - NIPS2015読み会 #... von Koichi Hamada
Laplacian Pyramid of Generative Adversarial Networks (LAPGAN) - NIPS2015読み会 #...Laplacian Pyramid of Generative Adversarial Networks (LAPGAN) - NIPS2015読み会 #...
Laplacian Pyramid of Generative Adversarial Networks (LAPGAN) - NIPS2015読み会 #...
Koichi Hamada12.1K views
DeNAの大規模データマイニング活用したサービス開発 von Koichi Hamada
DeNAの大規模データマイニング活用したサービス開発DeNAの大規模データマイニング活用したサービス開発
DeNAの大規模データマイニング活用したサービス開発
Koichi Hamada51.2K views
『MobageのAnalytics活用したサービス開発』 - データマイニングCROSS2014 #CROSS2014 von Koichi Hamada
『MobageのAnalytics活用したサービス開発』 - データマイニングCROSS2014 #CROSS2014『MobageのAnalytics活用したサービス開発』 - データマイニングCROSS2014 #CROSS2014
『MobageのAnalytics活用したサービス開発』 - データマイニングCROSS2014 #CROSS2014
Koichi Hamada6.6K views
『Mobageの大規模データマイニング活用と 意思決定』- #IBIS 2012 -ビジネスと機械学習の接点- von Koichi Hamada
『Mobageの大規模データマイニング活用と 意思決定』- #IBIS 2012 -ビジネスと機械学習の接点- 『Mobageの大規模データマイニング活用と 意思決定』- #IBIS 2012 -ビジネスと機械学習の接点-
『Mobageの大規模データマイニング活用と 意思決定』- #IBIS 2012 -ビジネスと機械学習の接点-
Koichi Hamada7.9K views
複雑ネットワーク上の伝搬法則の数理 von Koichi Hamada
複雑ネットワーク上の伝搬法則の数理複雑ネットワーク上の伝搬法則の数理
複雑ネットワーク上の伝搬法則の数理
Koichi Hamada4K views
データマイニングCROSS 2012 Opening Talk - データマイニングの実サービス・ビジネス適用と展望 von Koichi Hamada
データマイニングCROSS 2012 Opening Talk - データマイニングの実サービス・ビジネス適用と展望 データマイニングCROSS 2012 Opening Talk - データマイニングの実サービス・ビジネス適用と展望
データマイニングCROSS 2012 Opening Talk - データマイニングの実サービス・ビジネス適用と展望
Koichi Hamada9.5K views
データマイニングCROSS 第2部-機械学習・大規模分散処理 von Koichi Hamada
データマイニングCROSS 第2部-機械学習・大規模分散処理データマイニングCROSS 第2部-機械学習・大規模分散処理
データマイニングCROSS 第2部-機械学習・大規模分散処理
Koichi Hamada8.5K views
10回開催記念 「データマイニング+WEB ~データマイニング・機械学習活用による継続進化~」ー第10回データマイニング+WEB勉強会@東京ー #Toky... von Koichi Hamada
10回開催記念 「データマイニング+WEB ~データマイニング・機械学習活用による継続進化~」ー第10回データマイニング+WEB勉強会@東京ー #Toky...10回開催記念 「データマイニング+WEB ~データマイニング・機械学習活用による継続進化~」ー第10回データマイニング+WEB勉強会@東京ー #Toky...
10回開催記念 「データマイニング+WEB ~データマイニング・機械学習活用による継続進化~」ー第10回データマイニング+WEB勉強会@東京ー #Toky...
Koichi Hamada2.9K views
Apache Mahout - Random Forests - #TokyoWebmining #8 von Koichi Hamada
Apache Mahout - Random Forests - #TokyoWebmining #8 Apache Mahout - Random Forests - #TokyoWebmining #8
Apache Mahout - Random Forests - #TokyoWebmining #8
Koichi Hamada4.7K views
「樹木モデルとランダムフォレスト-機械学習による分類・予測-」-データマイニングセミナー von Koichi Hamada
「樹木モデルとランダムフォレスト-機械学習による分類・予測-」-データマイニングセミナー「樹木モデルとランダムフォレスト-機械学習による分類・予測-」-データマイニングセミナー
「樹木モデルとランダムフォレスト-機械学習による分類・予測-」-データマイニングセミナー
Koichi Hamada11.7K views

Último

定例会スライド_キャチs 公開用.pdf von
定例会スライド_キャチs 公開用.pdf定例会スライド_キャチs 公開用.pdf
定例会スライド_キャチs 公開用.pdfKeio Robotics Association
135 views64 Folien
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向 von
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Hitachi, Ltd. OSS Solution Center.
101 views26 Folien
光コラボは契約してはいけない von
光コラボは契約してはいけない光コラボは契約してはいけない
光コラボは契約してはいけないTakuya Matsunaga
27 views17 Folien
SNMPセキュリティ超入門 von
SNMPセキュリティ超入門SNMPセキュリティ超入門
SNMPセキュリティ超入門mkoda
479 views15 Folien
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料) von
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)NTT DATA Technology & Innovation
32 views38 Folien

Último(12)

光コラボは契約してはいけない von Takuya Matsunaga
光コラボは契約してはいけない光コラボは契約してはいけない
光コラボは契約してはいけない
Takuya Matsunaga27 views
SNMPセキュリティ超入門 von mkoda
SNMPセキュリティ超入門SNMPセキュリティ超入門
SNMPセキュリティ超入門
mkoda479 views
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料) von NTT DATA Technology & Innovation
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20... von NTT DATA Technology & Innovation
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」 von PC Cluster Consortium
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」
SSH応用編_20231129.pdf von icebreaker4
SSH応用編_20231129.pdfSSH応用編_20231129.pdf
SSH応用編_20231129.pdf
icebreaker4405 views
The Things Stack説明資料 by The Things Industries von CRI Japan, Inc.
The Things Stack説明資料 by The Things IndustriesThe Things Stack説明資料 by The Things Industries
The Things Stack説明資料 by The Things Industries
CRI Japan, Inc.78 views
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」 von PC Cluster Consortium
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」
Windows 11 information that can be used at the development site von Atomu Hidaka
Windows 11 information that can be used at the development siteWindows 11 information that can be used at the development site
Windows 11 information that can be used at the development site
Atomu Hidaka90 views

「R言語による Random Forest 徹底入門 -集団学習による分類・予測-」 - #TokyoR #11

  • 1. Tokyo.R #11 2011/1/29 R言語による Random Forest 徹底入門 -集団学習による分類・予測- hamadakoichi 濱田 晃一
  • 2. AGENDA ◆講師紹介 ◆Random Forestとは ◆決定木 ◆決定木とは ◆R言語での実行 ◆集団学習 ◆Random Forest ◆アルゴリズム ◆R言語での実行 ◆参考資料 ◆最後に
  • 3. AGENDA ◆講師紹介 ◆Random Forestとは ◆決定木 ◆決定木とは ◆R言語での実行 ◆集団学習 ◆Random Forest ◆アルゴリズム ◆R言語での実行 ◆参考資料 ◆最後に
  • 4. hamadakoichi 濱田晃一 http://iddy.jp/profile/hamadakoichi 4
  • 5. 資料 各種講師資料を公開しています http://www.slideshare.net/hamadakoichi
  • 6. データマイニング+WEB勉強会@東京 データマイニング+WEB勉強会@東京 主催者です ぜひご参加下さい Google Group: http://groups.google.com/group/webmining-tokyo 6
  • 7. データマイニング+WEB勉強会@東京 たくさんの会場参加、UST参加、Bookmark ありがとうございます 開催内容まとめ http://d.hatena.ne.jp/hamadakoichi/ 7
  • 8. 3つの進行方針 充分な時間を充て 理解・議論を優先する 1.充分な時間: 各テーマごとにしっかり時間を充てる (浅く多くではなく、少ないテーマでも深く) 2.理解: 進行を急がない。分からないところはすぐ質問。 講師・各メンバーからの返答で、みなで理解を深めることを優先する。 3.議論: 議論時間をしっかりとる。 各分野の意見の共有、皆での発想・創造を優先する。 全員でのフラットな議論。講師にとっても有意義な場となるようにする。 8
  • 10. 活動領域 ソーシャルメディアのデータマイニング活用 2000万人以上の人々へ 各人のつながり・楽しみ・好み 個性にあった適切なサービス提供 Social Media Social Graph Fun Like Personality Objective Process Data Mining Machine Learning 各人のつながり、楽しみ、好み、個性にあった より適切なサービス提供
  • 11. 活動領域 活動が紹介されました 11
  • 12. 活動領域 活動が紹介されました Tech総研 12 (※記事から抜粋)
  • 14. hamadakoichi 濱田晃一 理論物理 博士(2004.3取得) 量子統計場の理論 Statistical Field Theory Spontaneously Time-Reversal Symmetry Breaking Anisotropic Massless Dirac Fermions 博士論文: http://hosi.phys.s.u-tokyo.ac.jp/~koichi/PhD-thesis.pdf 14
  • 15. hamadakoichi 濱田晃一 文部大臣に褒められた 元 文部大臣・法務大臣 六法全書著者・元法学政治学研究科長 森山眞弓さん 菅野和夫さん 15
  • 16. hamadakoichi 濱田晃一 Los Angelesでプロダンサーに褒められた ・HIP HOP/House ダンス歴13年 ・ダンス開始後 1年半でL.A.でプロダンサーに褒められる Youtube Channel: http://www.youtube.com/hamadakoichi 16
  • 17. hamadakoichi 濱田晃一 毎週末3時間ダンスコーチをしています ■過去、東京と京都でも ダンス部を創設。 コーチをしていました 駒場物理ダンス部 京都大学基礎物理学研究所ダンス部 部長兼コーチ 部長兼コーチ 現在: 毎週末 3時間ダンスコーチ Youtube Channel: http://www.youtube.com/hamadakoichi 17
  • 18. 数理解析手法の実ビジネスへの適用 2004年 博士号取得後 数理解析手法を実ビジネス適用の方法論構築 主な領域 ◆活動の数理モデル化・解析手法 ◆活動の分析手法・再構築手法 ◆活動の実行制御・実績解析システム … 内容抜粋 “Decoupling Executions in Navigating Manufacturing "Unified graph representation of processes Processes for Shortening Lead Time and Its Implementation for scheduling with flexible resource to an Unmanned Machine Shop”, assignment", 18
  • 19. 数理解析手法の実ビジネスへの適用:活動例 活動例 活動の統一グラフモデルを構築・解析 Unified graphical model of processes and resources 青字:割付モデル属性 [ ] : Optional Node ・priority(優先度) Edge ・duration(予定時間) [・earliest(再早開始日時) ] Process Edge Process [・deadline(納期) ] [・or(条件集約数) ] 前プロセスの終了後に後プロセスが プロセスを表す 開始できること表す ・attributes(属性) preemptable(中断可否), successive(引継ぎ可否) Uses Edge workload(作業負荷) Processが使用する uses uses uses uses uses uses Assign Region を表す Assign Region Assigns from Edge 同一Resourceを割付け続ける Assign Regionに assigns from assigns from 指定Resourceの子Resource集合の 範囲を表す assigns assigns 中から割付けることを示す 企業01 [process] has has [startDate(開始日時)] [endDate(終了日時)] Assigns Edge 製品01 組織A StartDateからEndDateまでの間 Resource has Assign RegionにResourceを 割付対象要素を表す has has has has has has 割付けることを表す ・capacity(容量) ・calender(カレンダー) AAA01 AAB02 … 山田さん 田中さん 鈴木さん ・attributes(属性) Has Edge 東さん Resourceの所有関係を表す 19
  • 20. 数理解析手法の実ビジネスへの適用:活動例 一品一様の業務プロセスの 動的なプロセス制御数理体系を構築 全体生産リードタイム中央値を 1/2.7に短縮 設計開始~頭だし出荷リードタイム 体系適用 設計開始~頭だし出荷CT対週集計開始日時の箱ひげ図 500 適用後 設計開始~頭だし出荷CT 400 360.4h(15.0日) 1/2.7 300 200 100 0 0 0 0 0 0 0 0 0 0 0 0 141.6h(5.9日) 0 0 9: 0 9 :0 9:0 9:0 9: 0 9 :0 9:0 9:0 9: 0 9 :0 9 :0 9:0 9: 0 9 :0 0 7 4 1 8 5 1 8 5 2 9 6 3 0 /2 /2 /0 /1 /1 /2 1/0 /0 /1 /2 1/2 /0 /1 /2 09 /09 /10 1 0 /1 0 / 1 0 1 1 1 /1 1 / 1 1 1 1 2 / 12 / 1 2 4/ 4 4 4/ 4 4 4/ 4/ 4 4 4/ 4/ 4 4 2 0 0 2 00 2 00 200 200 200 2 00 200 200 200 2 00 200 200 200 週集計開始日時 20
  • 21. 数理解析手法の実ビジネスへの適用:活動例 ビジネスとともに 学術分野でも貢献 変動性から生じる動的な課題 ・リソースの競合 ・滞留 ・納期遅延 … 一品一様な業務プロセスを含む 統計解析・制御数理モデル ・統計的な有効変数算出 ・統計数理モデル化 -優先順位制御 -実行タイミング制御 -統計フィードバック -適正リソース量算出 ・予測数理体系 論文(体系の一部) M.Nakao, N. Kobayashi, K.Hamada, T.Totsuka, S.Yamada, “Decoupling Executions in Navigating Manufacturing Processes for Shortening Lead Time and Its Implementation to an Unmanned Machine Shop”, CIRP Annals - Manufacturing Technology Volume 56, Issue 1, Pages 171-174 (2007) 21
  • 22. 思い より広く蓄積されたデータを有効活用し 世界の未来をよりよいものにしていきたい データマイニング+WEB勉強会@東京 Google Group: http://groups.google.com/group/webmining-tokyo 22
  • 23. 現在の活動領域 ソーシャルメディアのデータマイニング活用 2000万人以上の人々へ 各人のつながり・楽しみ・好み 個性にあった適切なサービス配信 日々20億以上の活動の活用 Social Media Social Graph Fun Like Personality Objective Process Data Mining Machine Learning 各人のつながり、楽しみ、好み、個性にあった より適切なサービス提供 23
  • 24. よりよい世界の実現 ソーシャル・活動情報の活用により より適切な情報・サービス配信される世界を実現したい Social Media Social Graph Fun Like Personality Objective Process Data Mining Machine Learning 各人のつながり、楽しみ、好み、個性にあった より適切なサービス提供 24
  • 25. よりよい世界の実現 ソーシャル・活動情報の活用により より適切な情報・サービス配信される世界を実現したい 世界中の人々が 個々人のつながり・楽しみ・好みにあった適切な情報・サービスを 自ら探さなくても得ることができる世界 Social Media Social Graph Fun Like Personality Objective Process Data Mining Machine Learning 各人のつながり、楽しみ、好み、個性にあった より適切なサービス提供 25
  • 27. 思うこと 蓄積されたデータを有効活用し 世界の未来をよりよいものにしていきたい データマイニング+WEB勉強会@東京 Google Group: http://groups.google.com/group/webmining-tokyo 27
  • 28. 思うこと 統計解析・データマイニング・機械学習、重要 データマイニング+WEB勉強会@東京 Google Group: http://groups.google.com/group/webmining-tokyo 28
  • 29. 思うこと 統計解析・データマイニング・機械学習、重要 R言語使い 重要 データマイニング+WEB勉強会@東京 Google Group: http://groups.google.com/group/webmining-tokyo 29
  • 31. 課題意識 R言語人材が そのスキルを十分に活かし 活躍できる場が提供されているか? 31
  • 32. 調査結果 早速 R言語での人材募集要項を検索してみた 「R言語 募集要項」 32
  • 33. 調査結果 早速 R言語での人材募集要項を検索してみた 「R言語 募集要項」 SASやSPSS使いは人材募集がある
  • 34. 調査結果 早速 R言語での人材募集要項を検索してみた 「R言語 募集要項」 SASやSPSS使いは人材募集がある R言語の人材募集は見つからなかった。。。 (※海外ではFacebook等、募集)
  • 35. 調査結果 早速 R言語での人材募集要項を検索してみた 「R言語 募集要項」 SASやSPSS使いは人材募集がある R言語の人材募集は見つからなかった。。。 (※海外ではFacebook等、募集) (2011/01/27までは) 35
  • 37. 新たな変化 検索してみると 37
  • 38. 新たな変化 発見! 38
  • 39. 新たな変化 日本初 R言語の人材募集要項 http://www.dena.jp/recruit/sp2/career/guide09.html R言語人材の活躍の場 39
  • 40. 思い 40
  • 41. 思い R言語 人材募集を作った思い 41
  • 42. 思い R言語 人材募集を作った思い 統計解析・データマイニング・機械学習 R言語・R人材の活用・活躍の場を広げたい 42
  • 43. 思い R言語 人材募集を作った思い 統計解析・データマイニング・機械学習 R言語・R人材の活用・活躍の場を広げたい ソーシャル業界全体や、他業界の追従も歓迎 43
  • 44. 思い R言語 人材募集を作った思い 統計解析・データマイニング・機械学習 R言語・R人材の活用・活躍の場を広げたい ソーシャル業界全体や、他業界の追従も歓迎 より広く、蓄積されたデータを有効活用し 世界中のサービスが継続的進化される世界を実現したい 44
  • 45. 思い R言語 人材募集を作った思い 統計解析・データマイニング・機械学習 R言語・R人材の活用・活躍の場を広げたい ソーシャル業界全体や、他業界の追従も歓迎 より広く、蓄積されたデータを有効活用し 世界中のサービスが継続的進化される世界を実現したい ※もちろん、個人としては 一緒に活動し実現できたら嬉しい 45
  • 46. よりよい世界の実現 より蓄積されたデータを有効活用し 世界の未来をよりよいものにしていきたい データマイニング+WEB勉強会@東京 Google Group: http://groups.google.com/group/webmining-tokyo 46
  • 47. よりよい世界の実現 よりよい世界を実現したい 一緒に実現する仲間を募集しています 47
  • 48. よりよい世界の実現 よりよい世界を実現したい 一緒に実現する仲間を募集しています 48
  • 49. よりよい世界の実現 よりよい世界を実現したい 一緒に実現する仲間を募集しています 大規模ソーシャルメディアのデータマイニング (2100万会員 1日20億アクション以上) (※2100万会員モバゲータウンはデータマイニングの宝の山/Tech総研 より抜粋) ・統計解析/データマイニング/機械学習/自然言語処理 ・大規模分散処理 ぜひご連絡下さい koichi.hamada@gmail.com 49
  • 50. よりよい世界の実現 よりよい世界を実現したい 一緒に実現する仲間を募集しています 大規模ソーシャルメディアのデータマイニング (2100万会員 1日20億アクション以上) (※2100万会員モバゲータウンはデータマイニングの宝の山/Tech総研 より抜粋) ・統計解析/データマイニング/機械学習/自然言語処理 ・大規模分散処理 R ぜひご連絡下さい koichi.hamada@gmail.com 50
  • 51. よりよい世界の実現 よりよい世界を実現したい 一緒に実現する仲間を募集しています 大規模ソーシャルメディアのデータマイニング (2100万会員 1日20億アクション以上) (※2100万会員モバゲータウンはデータマイニングの宝の山/Tech総研 より抜粋) ・統計解析/データマイニング/機械学習/自然言語処理 ・大規模分散処理 R Hadoop/Pig/Hive/Zebra ぜひご連絡下さい koichi.hamada@gmail.com 51
  • 52. よりよい世界の実現 よりよい世界を実現したい 一緒に実現する仲間を募集しています 大規模ソーシャルメディアのデータマイニング (2100万会員 1日20億アクション以上) (※2100万会員モバゲータウンはデータマイニングの宝の山/Tech総研 より抜粋) ・統計解析/データマイニング/機械学習/自然言語処理 ・大規模分散処理 R Hadoop/Pig/Hive/Zebra Mahout ぜひご連絡下さい koichi.hamada@gmail.com 52
  • 53. よりよい世界の実現 よりよい世界を実現したい 一緒に実現する仲間を募集しています 大規模ソーシャルメディアのデータマイニング (2100万会員 1日20億アクション以上) (※2100万会員モバゲータウンはデータマイニングの宝の山/Tech総研 より抜粋) ・統計解析/データマイニング/機械学習/自然言語処理 ・大規模分散処理 R Hadoop/Pig/Hive/Zebra Mahout …etc ぜひご連絡下さい koichi.hamada@gmail.com 53
  • 54. AGENDA ◆講師紹介 ◆Random Forestとは ◆決定木 ◆決定木とは ◆R言語での実行 ◆集団学習 ◆Random Forest ◆アルゴリズム ◆R言語での実行 ◆参考資料 ◆最後に
  • 55. Random Forest とは 集団学習により 55
  • 56. Random Forest とは 集団学習により 高精度の分類・予測を実現する 56
  • 57. Random Forest とは 集団学習により 高精度の分類・予測を実現する 機械学習アルゴリズム 57
  • 58. Random Forest とは 集団学習により 高精度の分類・予測を実現する 機械学習アルゴリズム “Random forests” (L. Breiman, 2001) 58
  • 59. Random Forest とは 決定木の集団学習により 高精度の分類・予測を行う 学習用データ Random Sampling 1 Sampling 2 … Sampling B Forest Forest Tree 1 Tree 2 … Tree B 予測対象 Result 1 Result 2 … Result B 分類・予測結果 59
  • 60. Random Forest : 長所 Random Forest の 主な長所 ・精度が高い ・説明変数が数百、数千でも効率的に作動 ・目的変数に対する説明変数の重要度を推定 ・欠損値を持つデータでも有効に動作 ・個体数がアンバランスでもエラーバランスが保たれる 60
  • 61. Random Forest : 長所 決定木、Support Vector Machine(SVM)、等 他分類器に比べ分類・予測精度が高い 例:11人の著者の10テーマ110編の文章分類 精度:高い (49個の特徴語。100回の学習・テストでの比較) Random Forest Bagging AdaBoost F1値平均 ニューラルネット 決定木 (量子ベクトル化) (CART) SVM K近傍法 カーネルK近傍法 引用元: 「ESTRELA」 2009年05月号 統計的テキスト解析(15) ~テキストの分類分析2~ http://mjin.doshisha.ac.jp/R/200905_70.pdf 61
  • 62. Random Forest とは 決定木の集団学習により 高精度の分類・予測を行う 学習用データ Random Sampling 1 Sampling 2 … Sampling B Forest Forest Tree 1 Tree 2 … Tree B 予測対象 Result 1 Result 2 … Result B 分類・予測結果 62
  • 63. Random Forest とは 決定木の集団学習により 高精度の分類・予測を行う 学習用データ Random Sampling 1 Sampling 2 … Sampling B Forest Forest Tree 1 Tree 2 … Tree B 予測対象 Result 1 Result 2 … Result B 分類・予測結果 63
  • 64. Random Forest とは 決定木の集団学習により 高精度の分類・予測を行う 学習用データ Random Sampling 1 Sampling 2 … Sampling B Forest Forest Tree 1 Tree 2 … Tree B 予測対象 Result 1 Result 2 … Result B 分類・予測結果 64
  • 65. AGENDA ◆講師紹介 ◆Random Forestとは ◆決定木 ◆決定木とは ◆R言語での実行 ◆集団学習 ◆Random Forest ◆アルゴリズム ◆R言語での実行 ◆参考資料 ◆最後に
  • 66. AGENDA ◆講師紹介 ◆Random Forestとは ◆決定木 ◆決定木とは ◆R言語での実行 ◆集団学習 ◆Random Forest ◆アルゴリズム ◆R言語での実行 ◆参考資料 ◆最後に
  • 67. 決定木 とは 目的変数に影響が大きい変数・境界値・順序を 算出することができる 67
  • 68. 決定木 とは 目的変数に影響が大きい変数・境界値・順序を 算出することができる 影響大 データ 木構造 68
  • 69. 決定木 とは 目的変数に影響が大きい変数・境界値・順序を 算出することができる 影響大 データ 木構造 今まで気づかなかった重要な条件を知り サービスやプロセスを改良することができる 69
  • 70. 解決する課題 目的変数に影響が大きい変数・境界値・順序を 算出することができる ■丌具合発生率が大きい製造工程にはどのような特徴があるのか? 今まで気づかなかった重要な条件を知り サービスやプロセスを改良することができる 70
  • 71. 解決する課題 目的変数に影響が大きい変数・境界値・順序を 算出することができる ■丌具合発生率が大きい製造工程にはどのような特徴があるのか? ⇒ 丌具合原因の特定・改善 今まで気づかなかった重要な条件を知り サービスやプロセスを改良することができる 71
  • 72. 解決する課題 目的変数に影響が大きい変数・境界値・順序を 算出することができる ■丌具合発生率が大きい製造工程にはどのような特徴があるのか? ⇒ 丌具合原因の特定・改善 ■広告効果が高いユーザーにはどのような特徴があるのか? 今まで気づかなかった重要な条件を知り サービスやプロセスを改良することができる 72
  • 73. 解決する課題 目的変数に影響が大きい変数・境界値・順序を 算出することができる ■丌具合発生率が大きい製造工程にはどのような特徴があるのか? ⇒ 丌具合原因の特定・改善 ■広告効果が高いユーザーにはどのような特徴があるのか? ⇒ 投資対効果の高いターゲット選定 今まで気づかなかった重要な条件を知り サービスやプロセスを改良することができる 73
  • 74. 解決する課題 目的変数に影響が大きい変数・境界値・順序を 算出することができる ■丌具合発生率が大きい製造工程にはどのような特徴があるのか? ⇒ 丌具合原因の特定・改善 ■広告効果が高いユーザーにはどのような特徴があるのか? ⇒ 投資対効果の高いターゲット選定 ■優良ユーザーはどのような楽しみかたをしているか? 今まで気づかなかった重要な条件を知り サービスやプロセスを改良することができる 74
  • 75. 解決する課題 目的変数に影響が大きい変数・境界値・順序を 算出することができる ■丌具合発生率が大きい製造工程にはどのような特徴があるのか? ⇒ 丌具合原因の特定・改善 ■広告効果が高いユーザーにはどのような特徴があるのか? ⇒ 投資対効果の高いターゲット選定 ■優良ユーザーはどのような楽しみかたをしているか? ⇒ より継続的に楽しんでもらえるサービス改良 今まで気づかなかった重要な条件を知り サービスやプロセスを改良することができる 75
  • 76. 解決する課題 目的変数に影響が大きい変数・境界値・順序を 算出することができる ■丌具合発生率が大きい製造工程にはどのような特徴があるのか? ⇒ 丌具合原因の特定・改善 ■広告効果が高いユーザーにはどのような特徴があるのか? ⇒ 投資対効果の高いターゲット選定 ■優良ユーザーはどのような楽しみかたをしているか? ⇒ より継続的に楽しんでもらえるサービス改良 今まで気づかなかった重要な条件を知り サービスやプロセスを改良することができる 76
  • 77. 決定木 とは 木構造の条件分岐で 分類・予測(回帰)を行う 例: 植物の分類 Iris(アヤメ)データ 花葉と花びらの長さ・幅から 種類の分類構造算出 説明変数 目的変数 花葉(長さ・幅) 花びら(長さ・幅) 種類 77
  • 78. 決定木 とは 木構造の条件分岐で 分類・予測(回帰)を行う 例: 植物の分類 分類 花びらの長さ Iris(アヤメ)データ 花葉と花びらの長さ・幅から 花びらの幅 種類の分類構造算出 説明変数 目的変数 花葉(長さ・幅) 花びら(長さ・幅) 種類 setosa virginica versicolor 78
  • 79. 決定木 とは 木構造の条件分岐で 分類・予測(回帰)を行う 例: 植物の分類 分類 花びらの長さ Iris(アヤメ)データ 花葉と花びらの長さ・幅から 花びらの幅 種類の分類構造算出 virginica setosa setosa virginica versicolor virginica versicolor virginica 79
  • 80. 決定木 とは 木構造の条件分岐で 分類・予測(回帰)を行う 例: ブレーキ後 停車距離 予測 carsデータ 車速度と ブレーキ後の停車距離の関係構造算出 説明変数 目的変数 ブレーキ後の 車の速度 停車までの距離 80
  • 81. 決定木 とは 木構造の条件分岐で 分類・予測(回帰)を行う 例: ブレーキ後 停車距離 予測 回帰(予測) スピード(speed) carsデータ 車速度と ブレーキ後の停車距離の関係構造算出 説明変数 目的変数 ブレーキ後の 車の速度 停車までの距離 ブレーキ後の停車距離 81
  • 82. 決定木 とは 木構造の条件分岐で 分類・予測(回帰)を行う 例: ブレーキ後 停車距離 予測 回帰(予測) スピード(speed) carsデータ 車速度と ブレーキ後の停車距離の関係構造算出 ブレーキ後の停車距離 82
  • 83. 決定木: 分岐基準 条件ノード A を条件ノードALとARに分けるとき 以下のΔIを最大化する分割を行う Classification And Regression Trees (CART) (Breiman et al, 1984) 分類木 Entropy GINI係数 ※ :条件ノード A で クラス k をとる確率 回帰木 尤離度(deviance) ※ :条件ノード A での目標変数 t の平均値 83
  • 84. AGENDA ◆講師紹介 ◆Random Forestとは ◆決定木 ◆決定木とは ◆R言語での実行 ◆集団学習 ◆Random Forest ◆アルゴリズム ◆R言語での実行 ◆参考資料 ◆最後に
  • 85. 決定木の実行 パッケージインストール # 決定木のインストール install.packages("mvpart") library(mvpart) 85
  • 86. 決定木の実行 パッケージインストール # 決定木のインストール install.packages("mvpart") library(mvpart) # Species(種類)を分類変数として 樹木モデル を生成 # iris(アヤメ)データを使用 tree <- rpart(Species~., data = iris, method = "class") サンプルデータ iris(アヤメ)データ:よい性質を持ち よく使用される (R環境で標準提供されている) 説明変数 目的変数 花葉(長さ・幅) 花びら(長さ・幅) 種類 Sepal.Length Sepal.Width Petal.Length Petal.Width Species 5.1 3.5 1.4 0.2 setosa 4.9 3.0 1.4 0.2 setosa 4.7 3.2 1.3 0.2 setosa 4.6 3.1 1.5 0.2 setosa 5.0 3.6 1.4 0.2 setosa Iris Sanguinea 86
  • 87. 決定木の実行 生成された決定木の表示 #Tree の表示 (全分岐での分布表示(all=TRUE) 、個数も表示(use.n =TRUE)) plot.rpart(tree) text.rpart(tree, all = TRUE, use.n = TRUE) 花びらの長さ 花びらの幅 setosa versicolor virginica 87
  • 88. 決定木を用いた予測 predtree <- predict(tree, data = newdata, type = "class") 88
  • 89. 決定木の実行 学習・予測データに分け 学習用データで決定木作成 # iris(アヤメ)データを使用 data <- iris # 学習用データとテスト用データをランダムサンプリング ndata <- nrow(data)#データ行数 ridx <- sample(ndata, ndata*0.5) #50%のランダム抽出で学習・予測データ分割 data.learn <- data[ridx,] #学習用データ作成 data.test <- data[-ridx,] #予測用データ作成 # Species(種類)を分類変数として 決定木 を生成 tree <- rpart(Species~., data = data.learn, method = "class") 89
  • 90. 決定木の実行 樹木モデル を用いた予測 # 樹木モデルを用いた予測 (新データ data.test に対する種類分類を予測) predtree <- predict(tree, data.test, type = "class") 90
  • 91. 決定木の実行 樹木モデル を用いた予測 # 決定木を用いた予測 (新データ data.test に対する種類分類を予測) predtree <- predict(tree, data.test, type = "class") # 解との比較 table(predtree,data.test$Species) 予測結果: Tree 予測 predtree setosa versicolor virginica setosa 24 0 0 versicolor 0 22 3 virginica 0 3 23 91
  • 92. Random Forest とは 決定木の集団学習により 高精度の分類・予測を行う 学習用データ Random Sampling 1 Sampling 2 … Sampling B Forest Forest Tree 1 Tree 2 … Tree B 予測対象 Result 1 Result 2 … Result B 分類・予測結果 92
  • 93. Random Forest とは 決定木の集団学習により 高精度の分類・予測を行う 学習用データ Random Sampling 1 Sampling 2 … Sampling B Forest Forest Tree 1 Tree 2 … Tree B 予測対象 Result 1 Result 2 … Result B 分類・予測結果 93
  • 94. AGENDA ◆講師紹介 ◆Random Forestとは ◆決定木 ◆決定木とは ◆R言語での実行 ◆集団学習 ◆Random Forest ◆アルゴリズム ◆R言語での実行 ◆参考資料 ◆最後に
  • 96. 集団学習 とは 複数モデル生成し 結果を統合 精度を向上させる 機械学習のアルゴリズム 96
  • 97. 集団学習 とは 複数モデル生成し 結果を統合 精度を向上させる 機械学習のアルゴリズム ■異なるサンプル、異なる重みの 複数の学習モデルを生成 97
  • 98. 集団学習 とは 複数モデル生成し 結果を統合 精度を向上させる 機械学習のアルゴリズム ■異なるサンプル、異なる重みの 複数の学習モデルを生成 ■各モデルの結果を統合・組合せにより 精度・汎用性を向上 98
  • 99. 集団学習 とは 複数モデル生成し 結果を統合 精度を向上させる 機械学習のアルゴリズム ■異なるサンプル、異なる重みの 複数の学習モデルを生成 ■各モデルの結果を統合・組合せにより 精度・汎用性を向上 結果の統合 ・分類: 多数決 ・回帰: 平均値 99
  • 100. 集団学習 とは 複数モデル生成し 結果を統合 精度を向上させる 機械学習のアルゴリズム ■異なるサンプル、異なる重みの 複数の学習モデルを生成 ■各モデルの結果を統合・組合せにより 精度・汎用性を向上 結果の統合 ・分類: 多数決 ・回帰: 平均値 100
  • 101. AGENDA ◆講師紹介 ◆Random Forestとは ◆決定木 ◆決定木とは ◆R言語での実行 ◆集団学習 ◆Random Forest ◆アルゴリズム ◆R言語での実行 ◆参考資料 ◆最後に
  • 102. AGENDA ◆講師紹介 ◆Random Forestとは ◆決定木 ◆決定木とは ◆R言語での実行 ◆集団学習 ◆Random Forest ◆アルゴリズム ◆R言語での実行 ◆参考資料 ◆最後に
  • 103. Random Forest 樹木モデルの集団学習による 高精度の分類・予測(回帰) 学習用データ Random Sampling 1 Sampling 2 … Sampling B Forest Forest Tree 1 Tree 2 … Tree B 予測対象 Result 1 Result 2 … Result B 分類・予測結果 103
  • 105. Random Forest アルゴリズム: 学習 Random Forest 105
  • 106. Random Forest アルゴリズム: 学習 ブートストラップ サンプリング 学習データから重複を許しランダムに B組のサンプル集合抽出 学習用データ Random Sampling 1 Sampling 2 … Sampling B Forest 106
  • 107. Random Forest アルゴリズム: 学習 ランダム抽出変数での決定木生成 各ノード展開で M個の説明変数からm個変数をランダム抽出 学習用データ Random Sampling 1 Sampling 2 … Sampling B Forest Tree 1 107
  • 108. Random Forest アルゴリズム: 学習 全サンプル集合で 決定木を生成 学習用データ Random Sampling 1 Sampling 2 … Sampling B Forest Tree 1 Tree 2 … Tree B 108
  • 109. Random Forest アルゴリズム: 学習 複数の木モデル = Forest (森) モデル 学習用データ Random Sampling 1 Sampling 2 … Sampling B Forest Tree 1 Tree 2 … Tree B 109
  • 110. Random Forest アルゴリズム: 学習 複数の木モデル = Forest (森) モデル 学習用データ Random Sampling 1 Sampling 2 … Sampling B Forest Forest Tree 1 Tree 2 … Tree B 110
  • 112. Random Forest アルゴリズム 全木モデルで 分類・回帰予測の結果算出 学習用データ Random Sampling 1 Sampling 2 … Sampling B Forest Forest Tree 1 Tree 2 … Tree B 予測対象 Result 1 Result 2 … Result B 112
  • 113. Random Forest アルゴリズム 全木モデルの結果を統合する 分類:多数決、回帰予測:平均 学習用データ Random Sampling 1 Sampling 2 … Sampling B Forest Forest Tree 1 Tree 2 … Tree B 予測対象 Result 1 Result 2 … Result B 分類・予測結果 113
  • 114. Random Forest アルゴリズム 木モデルの集団学習による 高精度の分類・予測(回帰) 学習用データ Random Sampling 1 Sampling 2 … Sampling B Forest Forest Tree 1 Tree 2 … Tree B 予測対象 Result 1 Result 2 … Result B 分類・予測結果 114
  • 115. Random Forest : 長所 Random Forest の 主な長所 ・精度が高い ・説明変数が数百、数千でも効率的に作動 ・目的変数に対する説明変数の重要度を推定 ・欠損値を持つデータでも有効に動作 ・個体数がアンバランスでもエラーバランスが保たれる 115
  • 116. Random Forest : 長所 決定木、Support Vector Machine(SVM)、等 他分類器に比べ分類・予測精度が高い 例:11人の著者の10テーマ110編の文章分類 精度:高い (49個の特徴語。100回の学習・テストでの比較) Random Forest Bagging AdaBoost F1値平均 ニューラルネット 樹木モデル (量子ベクトル化) (CART) SVM K近傍法 カーネルK近傍法 引用元: 「ESTRELA」 2009年05月号 統計的テキスト解析(15) ~テキストの分類分析2~ http://mjin.doshisha.ac.jp/R/200905_70.pdf 116
  • 117. AGENDA ◆講師紹介 ◆Random Forestとは ◆決定木 ◆決定木とは ◆R言語での実行 ◆集団学習 ◆Random Forest ◆アルゴリズム ◆R言語での実行 ◆参考資料 ◆最後に
  • 118. Random Forest の実行 パッケージインストール # randomForest のインストール install.packages("randomForest") library(randomForest) 118
  • 119. Random Forest の実行 学習用・予測用データ作成 # iris(アヤメ)データを使用 data <- iris # 学習用データとテスト用データをランダムサンプリング ndata <- nrow(data)#データ行数 ridx <- sample(ndata, ndata*0.5) #50%のランダム抽出で学習・予測データ分割 data.learn <- data[ridx,] #学習用データ作成 data.test <- data[-ridx,] #予測用データ作成 サンプルデータ iris(アヤメ)データ:よい性質を持ち よく使用される (R環境で標準提供されている) 説明変数 目的変数 花葉(長さ・幅) 花びら(長さ・幅) 種類 Sepal.Length Sepal.Width Petal.Length Petal.Width Species 5.1 3.5 1.4 0.2 setosa 4.9 3.0 1.4 0.2 setosa 4.7 3.2 1.3 0.2 setosa 4.6 3.1 1.5 0.2 setosa 5.0 3.6 1.4 0.2 setosa Iris Sanguinea 119
  • 120. Random Forest の実行 Random Forest の生成 # Species(種類)を分類変数として Random Forest を生成 forest <- randomForest(Species~.,data = data.learn) 120
  • 121. Random Forest の実行 Random Forest の生成 # Species(種類)を分類変数として Random Forest を生成 forest <- randomForest(Species~.,data = data.learn) 関数 randomForest(formula, data = NULL, …, ..., subset, na.action=na.fail) 主要な引数 内容 formula モデルの形式 x, y 目的変数と説明変数 (formula 代わりに用いる) data, subset 用いるデータ na.action 欠損値の表記型の指定 ntree 生成する木の数 (デフォルトは 500) mtry 分岐に用いる変数の数 (デフォルト, 分類 √M, 回帰 M/3, M:変数総数) importance 変数の重要度出力 (デフォルトは FALSE) 121
  • 122. Random Forest の実行 生成されたForest を用いた 高精度の予測 # Forestを用いた予測の実行 pred.forest <- predict(forest, newdata = data.test, type = "class") # 解との比較 table(pred.forest, data.test[,5]) 122
  • 123. Random Forest の実行 生成されたForest を用いた 高精度の予測 # Forestを用いた予測の実行 pred.forest <- predict(forest, newdata = data.test, type = "class") # 解との比較 table(pred.forest, data.test[,5]) 予測結果: Random Forest 予測 pred.forest setosa versicolor virginica setosa 27 0 0 versicolor 0 28 0 virginica 0 0 20 分類間違いなし 123
  • 124. Random Forest の実行 生成されたForest を用いた 高精度の予測 # Forestを用いた予測の実行 pred.forest <- predict(forest, newdata = data.test, type = "class") # 解との比較 table(pred.forest, data.test[,5]) 予測結果: Random Forest 予測 ※比較参照 予測結果:分類木 (rpart) pred.forest setosa versicolor virginica pred.dt setosa versicolor virginica setosa 27 0 0 setosa 27 0 0 versicolor 0 28 0 versicolor 0 26 1 virginica 0 0 20 virginica 0 2 19 分類間違いなし 124
  • 125. 樹木モデルとの比較 きわどいところも 分類できている 予測結果: Random Forest 予測 ※比較参照 予測結果:分類木 (rpart) pred.forest setosa versicolor virginica pred.dt setosa versicolor virginica setosa 27 0 0 setosa 27 0 0 versicolor 0 28 0 versicolor 0 26 1 virginica 0 0 20 virginica 0 2 19 分類木のエラー箇所 virginica setosa virginica versicolor 125
  • 126. Random Forest の実行 重要度算出 各変数の目的変数に対する重要度 重要度 グラフ表示 #重要度 グラフ表示 varImpPlot(forest) #重要度 出力 Importance(forest) 重要度 出力 > importance(forest) MeanDecreaseGini Sepal.Length 4.791776 Sepal.Width 2.102875 Petal.Length 20.811569 Petal.Width 20.627166 126
  • 128. AGENDA ◆講師紹介 ◆Random Forestとは ◆決定木 ◆決定木とは ◆R言語での実行 ◆集団学習 ◆Random Forest ◆アルゴリズム ◆R言語での実行 ◆参考資料 ◆最後に
  • 129. 参考資料:R/CART/Random Forest Rによるデータサイエンス Rによる統計解析 ~データ解析の基礎から最新手法まで ~ ■CART: L. Breiman, J. H. Friedman, R. A. Olshen and. C. J. Stone: “Classification and Regression Trees.”, Wadsworth (1984) ■Random Forest: L. Breiman. Random forests. Machine Learning, 45, 5–32 (2001)
  • 130. AGENDA ◆講師紹介 ◆Random Forestとは ◆決定木 ◆決定木とは ◆R言語での実行 ◆集団学習 ◆Random Forest ◆アルゴリズム ◆R言語での実行 ◆参考資料 ◆最後に
  • 131. 最後に 蓄積されたデータを有効活用してきたい 131
  • 132. 最後に 蓄積されたデータを有効活用してきたい Google Group: http://groups.google.com/group/webmining-tokyo 132
  • 133. 最後に データマイニング+WEB勉強会 発表者を募集しています 連絡 Google Group: http://groups.google.com/group/webmining-tokyo Twitter : http://twitter.com/hamadakoichi 133
  • 134. 最後に 134
  • 135. 最後に 日本初 R言語の人材募集要項 http://www.dena.jp/recruit/sp2/career/guide09.html 135
  • 136. よりよい世界の実現 より蓄積されたデータを有効活用し 世界の未来をよりよいものにしていきたい データマイニング+WEB勉強会@東京 Google Group: http://groups.google.com/group/webmining-tokyo 136
  • 137. よりよい世界の実現 よりよい世界を実現したい 137
  • 138. よりよい世界の実現 よりよい世界を実現したい 一緒に実現する仲間を募集しています 大規模ソーシャルメディアのデータマイニング (2100万会員 1日20億アクション以上) (※2100万会員モバゲータウンはデータマイニングの宝の山/Tech総研 より抜粋) ・統計解析/データマイニング/機械学習/自然言語処理 ・大規模分散処理 R Hadoop/Pig/Hive/Zebra Mahout …etc ぜひご連絡下さい koichi.hamada@gmail.com 138
  • 140. AGENDA ◆講師紹介 ◆Random Forestとは ◆決定木 ◆決定木とは ◆R言語での実行 ◆集団学習 ◆Random Forest ◆アルゴリズム ◆R言語での実行 ◆参考資料 ◆最後に