SlideShare a Scribd company logo
1 of 85
第7回データマイニング+WEB勉強会@東京
        2010/09/26




      はじめてでもわかる
 Random Forest入門
  Introduction to Random Forest


  -集団学習による分類・予測-


     hamadakoichi
       濱田 晃一
AGENDA
   ◆自己紹介
   ◆Random Forestとは
     ◆概要
     ◆樹木モデル
     ◆集団学習
   ◆アルゴリズム
   ◆R言語での実行
   ◆Mahout:Random Forest
   ◆参考資料
   ◆最後に
AGENDA
   ◆自己紹介
   ◆Random Forestとは
     ◆概要
     ◆樹木モデル
     ◆集団学習
   ◆アルゴリズム
   ◆R言語での実行
   ◆Mahout:Random Forest
   ◆参考資料
   ◆最後に
hamadakoichi
   濱田晃一
http://iddy.jp/profile/hamadakoichi




                                      4
自己紹介:hamadakoichi 濱田晃一




                         5
自己紹介:hamadakoichi 濱田晃一




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

              主催者です



                         6
自己紹介: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          7
自己紹介:hamadakoichi 濱田晃一

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




                                    8
自己紹介:hamadakoichi 濱田晃一

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




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

  Youtube Channel: http://www.youtube.com/hamadakoichi   9
自己紹介:hamadakoichi 濱田晃一

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




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

  現在: 毎週末 3時間ダンスコーチ
  Youtube Channel: http://www.youtube.com/hamadakoichi   10
数理解析手法の実ビジネスへの適用
            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",




                                                                                                          11
数理解析手法の実ビジネスへの適用:活動例
                         活動例
                  活動の統一グラフモデルを構築・解析
                        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の所有関係を表す
                                                                                                                   12
数理解析手法の実ビジネスへの適用:活動例
                                              一品一様の業務プロセスの
                                            動的なプロセス制御数理体系を構築
  全体生産リードタイム中央値を                                                                                                                                                                                                 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            0   0               0   0               0   0           0   0            0   0               0   0
                                                                                                                                                                                                                                                              141.6h(5.9日)
                                                                                                                                                                                                                                                                00 00
                                            9:              9:               9:                  9:                  9:              9:               9:                  9:                  9:              9:               9:                  9:                  9:              9:
                                   /   20          /   27           /   04              /   11              /   18          /   25           /   01              /   08              /   15          /   22           /   29              /   06              /   13          /   20
                          /   09          /   09           /   10           /   10             /   10              /   10           /   11           /   11             /   11              /   11           /   11           /   12             /   12              /   12
                       04              04               04               04                 04                  04               04               04                 04                  04               04               04                 04                  04
                  20           20                  20               20              20                  20                  20               20              20                  20                  20               20              20                  20
                                                                                                                                             週 集 計 開 始 日 時




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

一品一様な業務プロセスを含む
統計解析・制御数理モデル
     ・統計的な有効変数算出
     ・統計数理モデル化
        -優先順位制御
        -実行タイミング制御
        -統計フィードバック
        -適正リソース量算出
     ・予測数理体系
論文(体系の一部)
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)                         14
参加者
  自己紹介Time

(1分以内ずつ:計30分程度)


                  15
AGENDA
   ◆自己紹介
   ◆Random Forestとは
     ◆概要
     ◆樹木モデル
     ◆集団学習
   ◆アルゴリズム
   ◆R言語での実行
   ◆Mahout:Random Forest
   ◆参考資料
   ◆最後に
AGENDA
   ◆自己紹介
   ◆Random Forestとは
     ◆概要
     ◆樹木モデル
     ◆集団学習
   ◆アルゴリズム
   ◆R言語での実行
   ◆Mahout:Random Forest
   ◆参考資料
   ◆最後に
AGENDA
   ◆自己紹介
   ◆Random Forestとは
     ◆概要
     ◆樹木モデル
     ◆集団学習
   ◆アルゴリズム
   ◆R言語での実行
   ◆Mahout:Random Forest
   ◆参考資料
   ◆最後に
Random Forest とは




                   集団学習により




                             19
Random Forest とは




                   集団学習により

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




                             20
Random Forest とは




                   集団学習により

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

             機械学習アルゴリズム



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

  Random      Sampling 1   Sampling 2   …   Sampling B

   Forest
            Forest
                Tree 1      Tree 2      …     Tree B

予測対象




               Result 1     Result 2    …    Result B


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

  Random      Sampling 1   Sampling 2   …   Sampling B

   Forest
            Forest
                Tree 1      Tree 2      …     Tree B

予測対象




               Result 1     Result 2    …    Result B


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

  Random      Sampling 1   Sampling 2   …   Sampling B

   Forest
            Forest
                Tree 1      Tree 2      …     Tree B

予測対象




               Result 1     Result 2    …    Result B


               分類・予測結果                                   24
AGENDA
   ◆自己紹介
   ◆Random Forestとは
     ◆概要
     ◆樹木モデル
     ◆集団学習
   ◆アルゴリズム
   ◆R言語での実行
   ◆Mahout:Random Forest
   ◆参考資料
   ◆最後に
樹木モデル とは
                木構造の条件分岐で
               分類・予測(回帰)を行う
例: 植物の分類
Iris(アヤメ)データ
花葉と花びらの長さ・幅から
種類の分類構造算出
 説明変数                  目的変数
花葉(長さ・幅)   花びら(長さ・幅)    種類




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



                                                      virginica


                                       versicolor


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


                         virginica         setosa



        setosa
                                                                             virginica
                 versicolor    virginica

                                                    versicolor   virginica


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




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




                     ブレーキ後の停車距離

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




                     ブレーキ後の停車距離

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


      Entropy
      GINI係数

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

      尤離度(deviance)

      ※          :条件ノード A での目標変数 t の平均値                      32
Random Forest とは
                樹木モデルの集団学習により
                 高精度の分類・予測を行う
                学習用データ

  Random      Sampling 1   Sampling 2   …   Sampling B

   Forest
            Forest
                Tree 1      Tree 2      …     Tree B

予測対象




               Result 1     Result 2    …    Result B


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

  Random      Sampling 1   Sampling 2   …   Sampling B

   Forest
            Forest
                Tree 1      Tree 2      …     Tree B

予測対象




               Result 1     Result 2    …    Result B


               分類・予測結果                                   34
AGENDA
   ◆自己紹介
   ◆Random Forestとは
     ◆概要
     ◆樹木モデル
     ◆集団学習
   ◆アルゴリズム
   ◆R言語での実行
   ◆Mahout:Random Forest
   ◆参考資料
   ◆最後に
集団学習 とは




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




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

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




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

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

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




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

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

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


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

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

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


                             41
AGENDA
   ◆自己紹介
   ◆Random Forestとは
     ◆概要
     ◆樹木モデル
     ◆集団学習
   ◆アルゴリズム
   ◆R言語での実行
   ◆Mahout:Random Forest
   ◆参考資料
   ◆最後に
Random Forest
                Tree Modelの集団学習による
                 高精度の分類・予測(回帰)
                学習用データ

  Random      Sampling 1   Sampling 2   …   Sampling B

   Forest
            Forest
                Tree 1      Tree 2      …     Tree B

予測対象




               Result 1     Result 2    …    Result B


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


学習

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




  Random
   Forest




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

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

              学習用データ

  Random    Sampling 1   Sampling 2   …   Sampling B

   Forest




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

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

               学習用データ

  Random     Sampling 1   Sampling 2   …   Sampling B

   Forest
               Tree 1




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

  Random    Sampling 1   Sampling 2   …   Sampling B

   Forest
              Tree 1      Tree 2      …     Tree B




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

  Random    Sampling 1   Sampling 2   …   Sampling B

   Forest
              Tree 1      Tree 2      …     Tree B




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

  Random      Sampling 1   Sampling 2   …   Sampling B

   Forest
            Forest
                Tree 1      Tree 2      …     Tree B




                                                         50
学習と予測


予測

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

  Random      Sampling 1   Sampling 2   …   Sampling B

   Forest
            Forest
                Tree 1      Tree 2      …     Tree B

予測対象




               Result 1     Result 2    …    Result B


                                                         52
Random Forest アルゴリズム

              全Tree Model の結果を統合する
                     分類:多数決、回帰予測:平均

                学習用データ

  Random      Sampling 1   Sampling 2   …   Sampling B

   Forest
            Forest
                Tree 1      Tree 2      …     Tree B

予測対象




               Result 1     Result 2    …    Result B


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

  Random      Sampling 1   Sampling 2   …   Sampling B

   Forest
            Forest
                Tree 1      Tree 2      …     Tree B

予測対象




               Result 1     Result 2    …    Result B


               分類・予測結果                                   54
Random Forest
                Random Forest の
                    主な特長


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




                                  55
AGENDA
   ◆自己紹介
   ◆Random Forestとは
     ◆概要
     ◆樹木モデル
     ◆集団学習
   ◆アルゴリズム
   ◆R言語での実行
   ◆Mahout:Random Forest
   ◆参考資料
   ◆最後に
Random Forest の実行

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




                                     57
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                                                                  58
Random Forest の実行

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




                                                       59
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)

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

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




                                                                       61
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

                    分類間違いなし



                                                                       62
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

                    分類間違いなし



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

 予測結果: 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




                                                                                       64
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

                                             65
AGENDA
   ◆自己紹介
   ◆Random Forestとは
     ◆概要
     ◆樹木モデル
     ◆集団学習
   ◆アルゴリズム
   ◆R言語での実行
   ◆Mahout:Random Forest
   ◆参考資料
   ◆最後に
Mahoutとは
         Open Sourceでスケーラブルな
       機械学習・データマイニングのライブラリ

     ・Apache プロジェクト
     ・機械学習・データマイニングのライブラリ
     ・Java オープンソース
     ・Hadoop(大規模 分散処理基盤)上で動作
      (Hadoop:象, Mahout: 象使い)




             http://mahout.apache.org
                                        67
Mahoutとは
         Open Sourceでスケーラブルな
       機械学習・データマイニングのライブラリ

     ・Apache プロジェクト
     ・機械学習・データマイニングのライブラリ
     ・Java オープンソース
     ・Hadoop(大規模 分散処理基盤)上で動作
      (Hadoop:象, Mahout: 象使い)




             http://mahout.apache.org
                                        68
Mahoutとは
         Open Sourceでスケーラブルな
       機械学習・データマイニングのライブラリ

     ・Apache プロジェクト
     ・機械学習・データマイニングのライブラリ
     ・Java オープンソース
     ・Hadoop(大規模 分散処理基盤)上で動作
      (Hadoop:象, Mahout: 象使い)




             http://mahout.apache.org
                                        69
Mahoutとは
         Open Sourceでスケーラブルな
       機械学習・データマイニングのライブラリ

     ・Apache プロジェクト
     ・機械学習・データマイニングのライブラリ
     ・Java オープンソース
     ・Hadoop(大規模 分散処理基盤)上で動作
      (Hadoop:象, Mahout: 象使い)




             http://mahout.apache.org
                                        70
Mahoutとは
         Open Sourceでスケーラブルな
       機械学習・データマイニングのライブラリ

     ・Apache プロジェクト
     ・機械学習・データマイニングのライブラリ
     ・Java オープンソース
     ・Hadoop(大規模 分散処理基盤)上で動作
      (Hadoop:象, Mahout: 象使い)




             http://mahout.apache.org
                                        71
Mahoutとは
         Open Sourceでスケーラブルな
       機械学習・データマイニングのライブラリ

     ・Apache プロジェクト
     ・機械学習・データマイニングのライブラリ
     ・Java オープンソース
     ・Hadoop(大規模 分散処理基盤)上で動作
     ・Hadoop:象, Mahout: 象使い




           http://mahout.apache.org
                                      72
Mahoutとは
         Open Sourceでスケーラブルな
       機械学習・データマイニングのライブラリ

     ・Apache プロジェクト
     ・機械学習・データマイニングのライブラリ
     ・Java オープンソース
     ・Hadoop(大規模 分散処理基盤)上で動作
     ・Hadoop:象, Mahout: 象使い




           http://mahout.apache.org
                                      73
Mahoutとは
           Open Sourceでスケーラブルな
         機械学習・データマイニングのライブラリ

                               Applications



                                                           Examples


                Freq.
    Genetic     Pattern     Classification    Clustering    Recommenders
                Mining

                            Math
     Utilities                                     Collections    Apache
                            Vectors/Matrices/
     Lucene/Vectorizer                             (primitives)   Hadoop
                            SVD

      http://cwiki.apache.org/confluence/display/MAHOUT/Algorithms
      http://www.slideshare.net/gsingers/intro-to-apache-mahout            74
Mahout : Random Forest
   mahout.df(Decision Forest) Packageで実装されている




                                                75
Mahout : Random Forest
   mahout.df(Decision Forest) Packageで実装されている
 主要クラス
   Decision Tree構築:        org.apache.mahout.df.builder.TreeBuilder
      Interface            内容
      TreeBuilder          樹木モデル(Decision Tree)構築のInterface
      Class                内容
      DefaultTreeBuilder   樹木モデル(Decision Tree)構築の実装クラス
   Forest予測:               org.apache.mahout.df.callback
      Class                内容
      ForestPredictions    Decision Forestの予測結果を算出する

   Decision Forest構築: org.apache.mahout.df.mapreduce
      Class                内容
      Builder              Decision Forestを構築する
   Decision Forest:        org.apache.mahout.df.DecisionForest
      Interface            内容
      DecisionForest       Decision Forest (Decision Tree 集合) 表現・データ取得   76
AGENDA
   ◆自己紹介
   ◆Random Forestとは
     ◆概要
     ◆樹木モデル
     ◆集団学習
   ◆アルゴリズム
   ◆R言語での実行
   ◆Mahout:Random Forest
   ◆参考資料
   ◆最後に
参考資料:R / Random Forest




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




■CART元論文:
Breiman, L. , et.al, "Classification and Regression Trees", Wadsworth (1984)
■Random Forest元論文:
Breiman, L., et.al, “Random Forests”, Machine Learning (2001)
参考資料:Mahout/Hadoop/Recommendation




http://www.slideshare.net/hamadakoichi/mahoutweb http://www.slideshare.net/karubi/web-mining-0620




http://www.slideshare.net/yanaoki/hadoop-4683332 http://www.slideshare.net/hamadakoichi/ss-4552939
AGENDA
   ◆自己紹介
   ◆Random Forestとは
     ◆概要
     ◆樹木モデル
     ◆集団学習
   ◆アルゴリズム
   ◆R言語での実行
   ◆Mahout:Random Forest
   ◆参考資料
   ◆最後に
最後に

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




                           81
最後に

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




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

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




 連絡
  Google Group: http://groups.google.com/group/webmining-tokyo
  Twitter     : http://twitter.com/hamadakoichi
                                                                 83
ご清聴ありがとうございました




                 84
AGENDA
   ◆自己紹介
   ◆Random Forestとは
     ◆概要
     ◆樹木モデル
     ◆集団学習
   ◆アルゴリズム
   ◆R言語での実行
   ◆Mahout:Random Forest
   ◆参考資料
   ◆最後に

More Related Content

What's hot

最適輸送の計算アルゴリズムの研究動向
最適輸送の計算アルゴリズムの研究動向最適輸送の計算アルゴリズムの研究動向
最適輸送の計算アルゴリズムの研究動向ohken
 
PRML輪読#1
PRML輪読#1PRML輪読#1
PRML輪読#1matsuolab
 
機械学習のための数学のおさらい
機械学習のための数学のおさらい機械学習のための数学のおさらい
機械学習のための数学のおさらいHideo Terada
 
金融時系列のための深層t過程回帰モデル
金融時系列のための深層t過程回帰モデル金融時系列のための深層t過程回帰モデル
金融時系列のための深層t過程回帰モデルKei Nakagawa
 
【メタサーベイ】基盤モデル / Foundation Models
【メタサーベイ】基盤モデル / Foundation Models【メタサーベイ】基盤モデル / Foundation Models
【メタサーベイ】基盤モデル / Foundation Modelscvpaper. challenge
 
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)Shota Imai
 
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリングmlm_kansai
 
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)RyuichiKanoh
 
トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?hoxo_m
 
『バックドア基準の入門』@統数研研究集会
『バックドア基準の入門』@統数研研究集会『バックドア基準の入門』@統数研研究集会
『バックドア基準の入門』@統数研研究集会takehikoihayashi
 
統計的因果推論 勉強用 isseing333
統計的因果推論 勉強用 isseing333統計的因果推論 勉強用 isseing333
統計的因果推論 勉強用 isseing333Issei Kurahashi
 
最適輸送入門
最適輸送入門最適輸送入門
最適輸送入門joisino
 
機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)Kota Matsui
 
pymcとpystanでベイズ推定してみた話
pymcとpystanでベイズ推定してみた話pymcとpystanでベイズ推定してみた話
pymcとpystanでベイズ推定してみた話Classi.corp
 
リクルート式 自然言語処理技術の適応事例紹介
リクルート式 自然言語処理技術の適応事例紹介リクルート式 自然言語処理技術の適応事例紹介
リクルート式 自然言語処理技術の適応事例紹介Recruit Technologies
 
ブースティング入門
ブースティング入門ブースティング入門
ブースティング入門Retrieva inc.
 
ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京
ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京
ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京Koichi Hamada
 
Attentionの基礎からTransformerの入門まで
Attentionの基礎からTransformerの入門までAttentionの基礎からTransformerの入門まで
Attentionの基礎からTransformerの入門までAGIRobots
 
はじめてのパターン認識 第5章 k最近傍法(k_nn法)
はじめてのパターン認識 第5章 k最近傍法(k_nn法)はじめてのパターン認識 第5章 k最近傍法(k_nn法)
はじめてのパターン認識 第5章 k最近傍法(k_nn法)Motoya Wakiyama
 

What's hot (20)

最適輸送の計算アルゴリズムの研究動向
最適輸送の計算アルゴリズムの研究動向最適輸送の計算アルゴリズムの研究動向
最適輸送の計算アルゴリズムの研究動向
 
PRML輪読#1
PRML輪読#1PRML輪読#1
PRML輪読#1
 
機械学習のための数学のおさらい
機械学習のための数学のおさらい機械学習のための数学のおさらい
機械学習のための数学のおさらい
 
金融時系列のための深層t過程回帰モデル
金融時系列のための深層t過程回帰モデル金融時系列のための深層t過程回帰モデル
金融時系列のための深層t過程回帰モデル
 
【メタサーベイ】基盤モデル / Foundation Models
【メタサーベイ】基盤モデル / Foundation Models【メタサーベイ】基盤モデル / Foundation Models
【メタサーベイ】基盤モデル / Foundation Models
 
Stan超初心者入門
Stan超初心者入門Stan超初心者入門
Stan超初心者入門
 
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
 
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング
 
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
 
トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?
 
『バックドア基準の入門』@統数研研究集会
『バックドア基準の入門』@統数研研究集会『バックドア基準の入門』@統数研研究集会
『バックドア基準の入門』@統数研研究集会
 
統計的因果推論 勉強用 isseing333
統計的因果推論 勉強用 isseing333統計的因果推論 勉強用 isseing333
統計的因果推論 勉強用 isseing333
 
最適輸送入門
最適輸送入門最適輸送入門
最適輸送入門
 
機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)
 
pymcとpystanでベイズ推定してみた話
pymcとpystanでベイズ推定してみた話pymcとpystanでベイズ推定してみた話
pymcとpystanでベイズ推定してみた話
 
リクルート式 自然言語処理技術の適応事例紹介
リクルート式 自然言語処理技術の適応事例紹介リクルート式 自然言語処理技術の適応事例紹介
リクルート式 自然言語処理技術の適応事例紹介
 
ブースティング入門
ブースティング入門ブースティング入門
ブースティング入門
 
ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京
ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京
ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京
 
Attentionの基礎からTransformerの入門まで
Attentionの基礎からTransformerの入門までAttentionの基礎からTransformerの入門まで
Attentionの基礎からTransformerの入門まで
 
はじめてのパターン認識 第5章 k最近傍法(k_nn法)
はじめてのパターン認識 第5章 k最近傍法(k_nn法)はじめてのパターン認識 第5章 k最近傍法(k_nn法)
はじめてのパターン認識 第5章 k最近傍法(k_nn法)
 

Viewers also liked

機会学習ハッカソン:ランダムフォレスト
機会学習ハッカソン:ランダムフォレスト機会学習ハッカソン:ランダムフォレスト
機会学習ハッカソン:ランダムフォレストTeppei Baba
 
トピックモデルを用いた 潜在ファッション嗜好の推定
トピックモデルを用いた 潜在ファッション嗜好の推定トピックモデルを用いた 潜在ファッション嗜好の推定
トピックモデルを用いた 潜在ファッション嗜好の推定Takashi Kaneda
 
はじめてでもわかるベイズ分類器 -基礎からMahout実装まで-
はじめてでもわかるベイズ分類器 -基礎からMahout実装まで-はじめてでもわかるベイズ分類器 -基礎からMahout実装まで-
はじめてでもわかるベイズ分類器 -基礎からMahout実装まで-Naoki Yanai
 
パターン認識 第10章 決定木
パターン認識 第10章 決定木 パターン認識 第10章 決定木
パターン認識 第10章 決定木 Miyoshi Yuya
 
今日から使える! みんなのクラスタリング超入門
今日から使える! みんなのクラスタリング超入門今日から使える! みんなのクラスタリング超入門
今日から使える! みんなのクラスタリング超入門toilet_lunch
 
Simple perceptron by TJO
Simple perceptron by TJOSimple perceptron by TJO
Simple perceptron by TJOTakashi J OZAKI
 
バンディットアルゴリズム入門と実践
バンディットアルゴリズム入門と実践バンディットアルゴリズム入門と実践
バンディットアルゴリズム入門と実践智之 村上
 
SVMについて
SVMについてSVMについて
SVMについてmknh1122
 
ロジスティック回帰の考え方・使い方 - TokyoR #33
ロジスティック回帰の考え方・使い方 - TokyoR #33ロジスティック回帰の考え方・使い方 - TokyoR #33
ロジスティック回帰の考え方・使い方 - TokyoR #33horihorio
 
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築Tatsuya Tojima
 
機械学習チュートリアル@Jubatus Casual Talks
機械学習チュートリアル@Jubatus Casual Talks機械学習チュートリアル@Jubatus Casual Talks
機械学習チュートリアル@Jubatus Casual TalksYuya Unno
 
機械学習によるデータ分析まわりのお話
機械学習によるデータ分析まわりのお話機械学習によるデータ分析まわりのお話
機械学習によるデータ分析まわりのお話Ryota Kamoshida
 
Pythonで機械学習入門以前
Pythonで機械学習入門以前Pythonで機械学習入門以前
Pythonで機械学習入門以前Kimikazu Kato
 
アンサンブル学習
アンサンブル学習アンサンブル学習
アンサンブル学習Hidekazu Tanaka
 
Pythonとdeep learningで手書き文字認識
Pythonとdeep learningで手書き文字認識Pythonとdeep learningで手書き文字認識
Pythonとdeep learningで手書き文字認識Ken Morishita
 
Random Forest による分類
Random Forest による分類Random Forest による分類
Random Forest による分類Ken'ichi Matsui
 
scikit-learnを用いた機械学習チュートリアル
scikit-learnを用いた機械学習チュートリアルscikit-learnを用いた機械学習チュートリアル
scikit-learnを用いた機械学習チュートリアル敦志 金谷
 

Viewers also liked (20)

機会学習ハッカソン:ランダムフォレスト
機会学習ハッカソン:ランダムフォレスト機会学習ハッカソン:ランダムフォレスト
機会学習ハッカソン:ランダムフォレスト
 
決定木学習
決定木学習決定木学習
決定木学習
 
トピックモデルを用いた 潜在ファッション嗜好の推定
トピックモデルを用いた 潜在ファッション嗜好の推定トピックモデルを用いた 潜在ファッション嗜好の推定
トピックモデルを用いた 潜在ファッション嗜好の推定
 
はじめてでもわかるベイズ分類器 -基礎からMahout実装まで-
はじめてでもわかるベイズ分類器 -基礎からMahout実装まで-はじめてでもわかるベイズ分類器 -基礎からMahout実装まで-
はじめてでもわかるベイズ分類器 -基礎からMahout実装まで-
 
パターン認識 第10章 決定木
パターン認識 第10章 決定木 パターン認識 第10章 決定木
パターン認識 第10章 決定木
 
今日から使える! みんなのクラスタリング超入門
今日から使える! みんなのクラスタリング超入門今日から使える! みんなのクラスタリング超入門
今日から使える! みんなのクラスタリング超入門
 
Simple perceptron by TJO
Simple perceptron by TJOSimple perceptron by TJO
Simple perceptron by TJO
 
バンディットアルゴリズム入門と実践
バンディットアルゴリズム入門と実践バンディットアルゴリズム入門と実践
バンディットアルゴリズム入門と実践
 
SVMについて
SVMについてSVMについて
SVMについて
 
ロジスティック回帰の考え方・使い方 - TokyoR #33
ロジスティック回帰の考え方・使い方 - TokyoR #33ロジスティック回帰の考え方・使い方 - TokyoR #33
ロジスティック回帰の考え方・使い方 - TokyoR #33
 
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築
 
一般向けのDeep Learning
一般向けのDeep Learning一般向けのDeep Learning
一般向けのDeep Learning
 
機械学習チュートリアル@Jubatus Casual Talks
機械学習チュートリアル@Jubatus Casual Talks機械学習チュートリアル@Jubatus Casual Talks
機械学習チュートリアル@Jubatus Casual Talks
 
機械学習によるデータ分析まわりのお話
機械学習によるデータ分析まわりのお話機械学習によるデータ分析まわりのお話
機械学習によるデータ分析まわりのお話
 
Pythonで機械学習入門以前
Pythonで機械学習入門以前Pythonで機械学習入門以前
Pythonで機械学習入門以前
 
アンサンブル学習
アンサンブル学習アンサンブル学習
アンサンブル学習
 
Pythonとdeep learningで手書き文字認識
Pythonとdeep learningで手書き文字認識Pythonとdeep learningで手書き文字認識
Pythonとdeep learningで手書き文字認識
 
Random Forest による分類
Random Forest による分類Random Forest による分類
Random Forest による分類
 
scikit-learnを用いた機械学習チュートリアル
scikit-learnを用いた機械学習チュートリアルscikit-learnを用いた機械学習チュートリアル
scikit-learnを用いた機械学習チュートリアル
 
Random Forestsとその応用
Random Forestsとその応用Random Forestsとその応用
Random Forestsとその応用
 

Similar to 「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京

Introduction to Mahout Clustering - #TokyoWebmining #6
Introduction to Mahout Clustering - #TokyoWebmining #6Introduction to Mahout Clustering - #TokyoWebmining #6
Introduction to Mahout Clustering - #TokyoWebmining #6Koichi Hamada
 
"Mahout Recommendation" - #TokyoWebmining 14th
"Mahout Recommendation" -  #TokyoWebmining 14th"Mahout Recommendation" -  #TokyoWebmining 14th
"Mahout Recommendation" - #TokyoWebmining 14thKoichi Hamada
 
「R言語による Random Forest 徹底入門 -集団学習による分類・予測-」 - #TokyoR #11
「R言語による Random Forest 徹底入門 -集団学習による分類・予測-」 - #TokyoR  #11「R言語による Random Forest 徹底入門 -集団学習による分類・予測-」 - #TokyoR  #11
「R言語による Random Forest 徹底入門 -集団学習による分類・予測-」 - #TokyoR #11Koichi Hamada
 
Mahout Canopy Clustering - #TokyoWebmining 9
Mahout Canopy Clustering - #TokyoWebmining 9Mahout Canopy Clustering - #TokyoWebmining 9
Mahout Canopy Clustering - #TokyoWebmining 9Koichi Hamada
 
Mahout JP - #TokyoWebmining 11th #MahoutJP
Mahout JP -  #TokyoWebmining 11th #MahoutJP Mahout JP -  #TokyoWebmining 11th #MahoutJP
Mahout JP - #TokyoWebmining 11th #MahoutJP Koichi Hamada
 
R言語による アソシエーション分析-組合せ・事象の規則を解明する-(第5回R勉強会@東京)
R言語による アソシエーション分析-組合せ・事象の規則を解明する-(第5回R勉強会@東京)R言語による アソシエーション分析-組合せ・事象の規則を解明する-(第5回R勉強会@東京)
R言語による アソシエーション分析-組合せ・事象の規則を解明する-(第5回R勉強会@東京)Koichi Hamada
 
Large Scale Data Mining of the Mobage Service - #PRMU 2011 #Mahout #Hadoop
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 #HadoopKoichi Hamada
 
『モバゲーの大規模データマイニング基盤におけるHadoop活用』-Hadoop Conference Japan 2011- #hcj2011
『モバゲーの大規模データマイニング基盤におけるHadoop活用』-Hadoop Conference Japan 2011- #hcj2011 『モバゲーの大規模データマイニング基盤におけるHadoop活用』-Hadoop Conference Japan 2011- #hcj2011
『モバゲーの大規模データマイニング基盤におけるHadoop活用』-Hadoop Conference Japan 2011- #hcj2011 Koichi Hamada
 
ソーシャルウェブ と レコメンデーション -第4回データマイニング+WEB勉強会@東京
ソーシャルウェブ と レコメンデーション -第4回データマイニング+WEB勉強会@東京ソーシャルウェブ と レコメンデーション -第4回データマイニング+WEB勉強会@東京
ソーシャルウェブ と レコメンデーション -第4回データマイニング+WEB勉強会@東京Koichi Hamada
 
ソーシャルデザインパターン -評判と情報収集-
ソーシャルデザインパターン -評判と情報収集-ソーシャルデザインパターン -評判と情報収集-
ソーシャルデザインパターン -評判と情報収集-Koichi Hamada
 
AWSを活用要したSAPアップグレードプロジェクト事例
AWSを活用要したSAPアップグレードプロジェクト事例AWSを活用要したSAPアップグレードプロジェクト事例
AWSを活用要したSAPアップグレードプロジェクト事例Masaru Hiroki
 
2012年上半期 AWSパートナーアワード受賞社資料:SAPアップグレードプロジェクト事例 (株式会社クニエ様)
2012年上半期 AWSパートナーアワード受賞社資料:SAPアップグレードプロジェクト事例 (株式会社クニエ様)2012年上半期 AWSパートナーアワード受賞社資料:SAPアップグレードプロジェクト事例 (株式会社クニエ様)
2012年上半期 AWSパートナーアワード受賞社資料:SAPアップグレードプロジェクト事例 (株式会社クニエ様)Amazon Web Services Japan
 
20170525 jsug バッチは地味だが役に立つ
20170525 jsug バッチは地味だが役に立つ20170525 jsug バッチは地味だが役に立つ
20170525 jsug バッチは地味だが役に立つYuichi Hasegawa
 
バッチは地味だが役に立つ
バッチは地味だが役に立つバッチは地味だが役に立つ
バッチは地味だが役に立つapkiban
 
2014-10-27 #ssmjp 腹を割って話そう (運用xセキュリティ)
2014-10-27 #ssmjp 腹を割って話そう (運用xセキュリティ)2014-10-27 #ssmjp 腹を割って話そう (運用xセキュリティ)
2014-10-27 #ssmjp 腹を割って話そう (運用xセキュリティ)Operation Lab, LLC.
 
【17-C-4】「Axure RPによる画面プロトタイプを活用した要件定義の改善:野村総合研究所、NTTデータの事例紹介」松永充弘氏
【17-C-4】「Axure RPによる画面プロトタイプを活用した要件定義の改善:野村総合研究所、NTTデータの事例紹介」松永充弘氏【17-C-4】「Axure RPによる画面プロトタイプを活用した要件定義の改善:野村総合研究所、NTTデータの事例紹介」松永充弘氏
【17-C-4】「Axure RPによる画面プロトタイプを活用した要件定義の改善:野村総合研究所、NTTデータの事例紹介」松永充弘氏Developers Summit
 
NTTデータはどうやってCCPMを導入したのか?
NTTデータはどうやってCCPMを導入したのか?NTTデータはどうやってCCPMを導入したのか?
NTTデータはどうやってCCPMを導入したのか?shibao800
 
第5回SIA研究会(例会)プレゼン資料
第5回SIA研究会(例会)プレゼン資料第5回SIA研究会(例会)プレゼン資料
第5回SIA研究会(例会)プレゼン資料Tae Yoshida
 
yokyo-unv.
yokyo-unv.yokyo-unv.
yokyo-unv.hirano
 

Similar to 「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京 (20)

Introduction to Mahout Clustering - #TokyoWebmining #6
Introduction to Mahout Clustering - #TokyoWebmining #6Introduction to Mahout Clustering - #TokyoWebmining #6
Introduction to Mahout Clustering - #TokyoWebmining #6
 
"Mahout Recommendation" - #TokyoWebmining 14th
"Mahout Recommendation" -  #TokyoWebmining 14th"Mahout Recommendation" -  #TokyoWebmining 14th
"Mahout Recommendation" - #TokyoWebmining 14th
 
「R言語による Random Forest 徹底入門 -集団学習による分類・予測-」 - #TokyoR #11
「R言語による Random Forest 徹底入門 -集団学習による分類・予測-」 - #TokyoR  #11「R言語による Random Forest 徹底入門 -集団学習による分類・予測-」 - #TokyoR  #11
「R言語による Random Forest 徹底入門 -集団学習による分類・予測-」 - #TokyoR #11
 
Mahout Canopy Clustering - #TokyoWebmining 9
Mahout Canopy Clustering - #TokyoWebmining 9Mahout Canopy Clustering - #TokyoWebmining 9
Mahout Canopy Clustering - #TokyoWebmining 9
 
Mahout JP - #TokyoWebmining 11th #MahoutJP
Mahout JP -  #TokyoWebmining 11th #MahoutJP Mahout JP -  #TokyoWebmining 11th #MahoutJP
Mahout JP - #TokyoWebmining 11th #MahoutJP
 
R言語による アソシエーション分析-組合せ・事象の規則を解明する-(第5回R勉強会@東京)
R言語による アソシエーション分析-組合せ・事象の規則を解明する-(第5回R勉強会@東京)R言語による アソシエーション分析-組合せ・事象の規則を解明する-(第5回R勉強会@東京)
R言語による アソシエーション分析-組合せ・事象の規則を解明する-(第5回R勉強会@東京)
 
Large Scale Data Mining of the Mobage Service - #PRMU 2011 #Mahout #Hadoop
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
 
『モバゲーの大規模データマイニング基盤におけるHadoop活用』-Hadoop Conference Japan 2011- #hcj2011
『モバゲーの大規模データマイニング基盤におけるHadoop活用』-Hadoop Conference Japan 2011- #hcj2011 『モバゲーの大規模データマイニング基盤におけるHadoop活用』-Hadoop Conference Japan 2011- #hcj2011
『モバゲーの大規模データマイニング基盤におけるHadoop活用』-Hadoop Conference Japan 2011- #hcj2011
 
ソーシャルウェブ と レコメンデーション -第4回データマイニング+WEB勉強会@東京
ソーシャルウェブ と レコメンデーション -第4回データマイニング+WEB勉強会@東京ソーシャルウェブ と レコメンデーション -第4回データマイニング+WEB勉強会@東京
ソーシャルウェブ と レコメンデーション -第4回データマイニング+WEB勉強会@東京
 
ソーシャルデザインパターン -評判と情報収集-
ソーシャルデザインパターン -評判と情報収集-ソーシャルデザインパターン -評判と情報収集-
ソーシャルデザインパターン -評判と情報収集-
 
AWSを活用要したSAPアップグレードプロジェクト事例
AWSを活用要したSAPアップグレードプロジェクト事例AWSを活用要したSAPアップグレードプロジェクト事例
AWSを活用要したSAPアップグレードプロジェクト事例
 
2012年上半期 AWSパートナーアワード受賞社資料:SAPアップグレードプロジェクト事例 (株式会社クニエ様)
2012年上半期 AWSパートナーアワード受賞社資料:SAPアップグレードプロジェクト事例 (株式会社クニエ様)2012年上半期 AWSパートナーアワード受賞社資料:SAPアップグレードプロジェクト事例 (株式会社クニエ様)
2012年上半期 AWSパートナーアワード受賞社資料:SAPアップグレードプロジェクト事例 (株式会社クニエ様)
 
JasstTokyo2017
JasstTokyo2017JasstTokyo2017
JasstTokyo2017
 
20170525 jsug バッチは地味だが役に立つ
20170525 jsug バッチは地味だが役に立つ20170525 jsug バッチは地味だが役に立つ
20170525 jsug バッチは地味だが役に立つ
 
バッチは地味だが役に立つ
バッチは地味だが役に立つバッチは地味だが役に立つ
バッチは地味だが役に立つ
 
2014-10-27 #ssmjp 腹を割って話そう (運用xセキュリティ)
2014-10-27 #ssmjp 腹を割って話そう (運用xセキュリティ)2014-10-27 #ssmjp 腹を割って話そう (運用xセキュリティ)
2014-10-27 #ssmjp 腹を割って話そう (運用xセキュリティ)
 
【17-C-4】「Axure RPによる画面プロトタイプを活用した要件定義の改善:野村総合研究所、NTTデータの事例紹介」松永充弘氏
【17-C-4】「Axure RPによる画面プロトタイプを活用した要件定義の改善:野村総合研究所、NTTデータの事例紹介」松永充弘氏【17-C-4】「Axure RPによる画面プロトタイプを活用した要件定義の改善:野村総合研究所、NTTデータの事例紹介」松永充弘氏
【17-C-4】「Axure RPによる画面プロトタイプを活用した要件定義の改善:野村総合研究所、NTTデータの事例紹介」松永充弘氏
 
NTTデータはどうやってCCPMを導入したのか?
NTTデータはどうやってCCPMを導入したのか?NTTデータはどうやってCCPMを導入したのか?
NTTデータはどうやってCCPMを導入したのか?
 
第5回SIA研究会(例会)プレゼン資料
第5回SIA研究会(例会)プレゼン資料第5回SIA研究会(例会)プレゼン資料
第5回SIA研究会(例会)プレゼン資料
 
yokyo-unv.
yokyo-unv.yokyo-unv.
yokyo-unv.
 

More from Koichi Hamada

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

More from Koichi Hamada (20)

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

「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京

  • 1. 第7回データマイニング+WEB勉強会@東京 2010/09/26 はじめてでもわかる Random Forest入門 Introduction to Random Forest -集団学習による分類・予測- hamadakoichi 濱田 晃一
  • 2. AGENDA ◆自己紹介 ◆Random Forestとは ◆概要 ◆樹木モデル ◆集団学習 ◆アルゴリズム ◆R言語での実行 ◆Mahout:Random Forest ◆参考資料 ◆最後に
  • 3. AGENDA ◆自己紹介 ◆Random Forestとは ◆概要 ◆樹木モデル ◆集団学習 ◆アルゴリズム ◆R言語での実行 ◆Mahout:Random Forest ◆参考資料 ◆最後に
  • 4. hamadakoichi 濱田晃一 http://iddy.jp/profile/hamadakoichi 4
  • 7. 自己紹介: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 7
  • 8. 自己紹介:hamadakoichi 濱田晃一 文部大臣に褒められた 元 文部大臣・法務大臣 六法全書著者・元法学政治学研究科長 森山眞弓さん 菅野和夫さん 8
  • 9. 自己紹介:hamadakoichi 濱田晃一 Los Angelesでプロダンサーに褒められた ・HIP HOP/House ダンス歴13年 ・ダンス開始後 1年半でL.A.でプロダンサーに褒められる Youtube Channel: http://www.youtube.com/hamadakoichi 9
  • 10. 自己紹介:hamadakoichi 濱田晃一 毎週末3時間ダンスコーチをしています ■過去、東京と京都でも ダンス部を創設。 コーチをしていました 駒場物理ダンス部 京都大学基礎物理学研究所ダンス部 部長兼コーチ 部長兼コーチ 現在: 毎週末 3時間ダンスコーチ Youtube Channel: http://www.youtube.com/hamadakoichi 10
  • 11. 数理解析手法の実ビジネスへの適用 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", 11
  • 12. 数理解析手法の実ビジネスへの適用:活動例 活動例 活動の統一グラフモデルを構築・解析 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の所有関係を表す 12
  • 13. 数理解析手法の実ビジネスへの適用:活動例 一品一様の業務プロセスの 動的なプロセス制御数理体系を構築 全体生産リードタイム中央値を 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 0 0 0 0 0 0 0 0 0 0 0 0 141.6h(5.9日) 00 00 9: 9: 9: 9: 9: 9: 9: 9: 9: 9: 9: 9: 9: 9: / 20 / 27 / 04 / 11 / 18 / 25 / 01 / 08 / 15 / 22 / 29 / 06 / 13 / 20 / 09 / 09 / 10 / 10 / 10 / 10 / 11 / 11 / 11 / 11 / 11 / 12 / 12 / 12 04 04 04 04 04 04 04 04 04 04 04 04 04 04 20 20 20 20 20 20 20 20 20 20 20 20 20 20 週 集 計 開 始 日 時 13
  • 14. 数理解析手法の実ビジネスへの適用:活動例 ビジネスとともに 学術分野でも貢献 変動性から生じる動的な課題 ・リソースの競合 ・滞留 ・納期遅延 … 一品一様な業務プロセスを含む 統計解析・制御数理モデル ・統計的な有効変数算出 ・統計数理モデル化 -優先順位制御 -実行タイミング制御 -統計フィードバック -適正リソース量算出 ・予測数理体系 論文(体系の一部) 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) 14
  • 16. AGENDA ◆自己紹介 ◆Random Forestとは ◆概要 ◆樹木モデル ◆集団学習 ◆アルゴリズム ◆R言語での実行 ◆Mahout:Random Forest ◆参考資料 ◆最後に
  • 17. AGENDA ◆自己紹介 ◆Random Forestとは ◆概要 ◆樹木モデル ◆集団学習 ◆アルゴリズム ◆R言語での実行 ◆Mahout:Random Forest ◆参考資料 ◆最後に
  • 18. AGENDA ◆自己紹介 ◆Random Forestとは ◆概要 ◆樹木モデル ◆集団学習 ◆アルゴリズム ◆R言語での実行 ◆Mahout:Random Forest ◆参考資料 ◆最後に
  • 19. Random Forest とは 集団学習により 19
  • 20. Random Forest とは 集団学習により 高精度の分類・予測を実現する 20
  • 21. Random Forest とは 集団学習により 高精度の分類・予測を実現する 機械学習アルゴリズム 21
  • 22. Random Forest とは 樹木モデルの集団学習により 高精度の分類・予測を行う 学習用データ Random Sampling 1 Sampling 2 … Sampling B Forest Forest Tree 1 Tree 2 … Tree B 予測対象 Result 1 Result 2 … Result B 分類・予測結果 22
  • 23. Random Forest とは 樹木モデルの集団学習により 高精度の分類・予測を行う 学習用データ Random Sampling 1 Sampling 2 … Sampling B Forest Forest Tree 1 Tree 2 … Tree B 予測対象 Result 1 Result 2 … Result B 分類・予測結果 23
  • 24. Random Forest とは 樹木モデルの集団学習により 高精度の分類・予測を行う 学習用データ Random Sampling 1 Sampling 2 … Sampling B Forest Forest Tree 1 Tree 2 … Tree B 予測対象 Result 1 Result 2 … Result B 分類・予測結果 24
  • 25. AGENDA ◆自己紹介 ◆Random Forestとは ◆概要 ◆樹木モデル ◆集団学習 ◆アルゴリズム ◆R言語での実行 ◆Mahout:Random Forest ◆参考資料 ◆最後に
  • 26. 樹木モデル とは 木構造の条件分岐で 分類・予測(回帰)を行う 例: 植物の分類 Iris(アヤメ)データ 花葉と花びらの長さ・幅から 種類の分類構造算出 説明変数 目的変数 花葉(長さ・幅) 花びら(長さ・幅) 種類 26
  • 27. 樹木モデル とは 木構造の条件分岐で 分類・予測(回帰)を行う 例: 植物の分類 分類 花びらの長さ Iris(アヤメ)データ 花葉と花びらの長さ・幅から 花びらの幅 種類の分類構造算出 説明変数 目的変数 花葉(長さ・幅) 花びら(長さ・幅) 種類 setosa virginica versicolor 27
  • 28. 樹木モデル とは 木構造の条件分岐で 分類・予測(回帰)を行う 例: 植物の分類 分類 花びらの長さ Iris(アヤメ)データ 花葉と花びらの長さ・幅から 花びらの幅 種類の分類構造算出 virginica setosa setosa virginica versicolor virginica versicolor virginica 28
  • 29. 樹木モデル とは 木構造の条件分岐で 分類・予測(回帰)を行う 例: ブレーキ後 停車距離 予測 carsデータ 車速度と ブレーキ後の停車距離の関係構造算出 説明変数 目的変数 ブレーキ後の 車の速度 停車までの距離 29
  • 30. 樹木モデル とは 木構造の条件分岐で 分類・予測(回帰)を行う 例: ブレーキ後 停車距離 予測 回帰(予測) スピード carsデータ 車速度と ブレーキ後の停車距離の関係構造算出 説明変数 目的変数 ブレーキ後の 車の速度 停車までの距離 ブレーキ後の停車距離 30
  • 31. 樹木モデル とは 木構造の条件分岐で 分類・予測(回帰)を行う 例: ブレーキ後 停車距離 予測 回帰(予測) スピード(speed) carsデータ 車速度と ブレーキ後の停車距離の関係構造算出 ブレーキ後の停車距離 31
  • 32. 樹木モデル: 分岐基準 条件ノード A を条件ノードALとARに分けるとき 以下のΔIを最大化する分割を行う Classification And Regression Trees (CART) (Breiman et al, 1984) 分類木 Entropy GINI係数 ※ :条件ノード A で クラス k をとる確率 回帰木 尤離度(deviance) ※ :条件ノード A での目標変数 t の平均値 32
  • 33. Random Forest とは 樹木モデルの集団学習により 高精度の分類・予測を行う 学習用データ Random Sampling 1 Sampling 2 … Sampling B Forest Forest Tree 1 Tree 2 … Tree B 予測対象 Result 1 Result 2 … Result B 分類・予測結果 33
  • 34. Random Forest とは 樹木モデルの集団学習により 高精度の分類・予測を行う 学習用データ Random Sampling 1 Sampling 2 … Sampling B Forest Forest Tree 1 Tree 2 … Tree B 予測対象 Result 1 Result 2 … Result B 分類・予測結果 34
  • 35. AGENDA ◆自己紹介 ◆Random Forestとは ◆概要 ◆樹木モデル ◆集団学習 ◆アルゴリズム ◆R言語での実行 ◆Mahout:Random Forest ◆参考資料 ◆最後に
  • 37. 集団学習 とは 複数モデル生成し 結果を統合 精度を向上させる 機械学習のアルゴリズム 37
  • 38. 集団学習 とは 複数モデル生成し 結果を統合 精度を向上させる 機械学習のアルゴリズム ■異なるサンプル、異なる重みの 複数の学習モデルを生成 38
  • 39. 集団学習 とは 複数モデル生成し 結果を統合 精度を向上させる 機械学習のアルゴリズム ■異なるサンプル、異なる重みの 複数の学習モデルを生成 ■各モデルの結果を統合・組合せにより 精度・汎用性を向上 39
  • 40. 集団学習 とは 複数モデル生成し 結果を統合 精度を向上させる 機械学習のアルゴリズム ■異なるサンプル、異なる重みの 複数の学習モデルを生成 ■各モデルの結果を統合・組合せにより 精度・汎用性を向上 結果の統合 ・分類: 多数決 ・回帰: 平均値 40
  • 41. 集団学習 とは 複数モデル生成し 結果を統合 精度を向上させる 機械学習のアルゴリズム ■異なるサンプル、異なる重みの 複数の学習モデルを生成 ■各モデルの結果を統合・組合せにより 精度・汎用性を向上 結果の統合 ・分類: 多数決 ・回帰: 平均値 41
  • 42. AGENDA ◆自己紹介 ◆Random Forestとは ◆概要 ◆樹木モデル ◆集団学習 ◆アルゴリズム ◆R言語での実行 ◆Mahout:Random Forest ◆参考資料 ◆最後に
  • 43. Random Forest Tree Modelの集団学習による 高精度の分類・予測(回帰) 学習用データ Random Sampling 1 Sampling 2 … Sampling B Forest Forest Tree 1 Tree 2 … Tree B 予測対象 Result 1 Result 2 … Result B 分類・予測結果 43
  • 45. Random Forest アルゴリズム: 学習 Random Forest 45
  • 46. Random Forest アルゴリズム: 学習 ブートストラップ サンプリング 学習データから重複を許しランダムに B組のサンプル集合抽出 学習用データ Random Sampling 1 Sampling 2 … Sampling B Forest 46
  • 47. Random Forest アルゴリズム: 学習 ランダム抽出変数での樹木モデル生成 各ノード展開で M個の説明変数からm個変数をランダム抽出 学習用データ Random Sampling 1 Sampling 2 … Sampling B Forest Tree 1 47
  • 48. Random Forest アルゴリズム: 学習 全サンプル集合で 樹木モデルを生成 学習用データ Random Sampling 1 Sampling 2 … Sampling B Forest Tree 1 Tree 2 … Tree B 48
  • 49. Random Forest アルゴリズム: 学習 複数の樹木モデル = Forest (森) モデル 学習用データ Random Sampling 1 Sampling 2 … Sampling B Forest Tree 1 Tree 2 … Tree B 49
  • 50. Random Forest アルゴリズム: 学習 複数の樹木モデル = Forest (森) モデル 学習用データ Random Sampling 1 Sampling 2 … Sampling B Forest Forest Tree 1 Tree 2 … Tree B 50
  • 52. Random Forest アルゴリズム 全樹木モデルで 分類・回帰予測の結果算出 学習用データ Random Sampling 1 Sampling 2 … Sampling B Forest Forest Tree 1 Tree 2 … Tree B 予測対象 Result 1 Result 2 … Result B 52
  • 53. Random Forest アルゴリズム 全Tree Model の結果を統合する 分類:多数決、回帰予測:平均 学習用データ Random Sampling 1 Sampling 2 … Sampling B Forest Forest Tree 1 Tree 2 … Tree B 予測対象 Result 1 Result 2 … Result B 分類・予測結果 53
  • 54. Random Forest アルゴリズム Tree Modelの集団学習による 高精度の分類・予測(回帰) 学習用データ Random Sampling 1 Sampling 2 … Sampling B Forest Forest Tree 1 Tree 2 … Tree B 予測対象 Result 1 Result 2 … Result B 分類・予測結果 54
  • 55. Random Forest Random Forest の 主な特長 ・精度が高い ・説明変数が数百、数千でも効率的に作動 ・目的変数に対する説明変数の重要度を推定 ・欠損値を持つデータでも有効に動作 ・個体数がアンバランスでもエラーバランスが保たれる 55
  • 56. AGENDA ◆自己紹介 ◆Random Forestとは ◆概要 ◆樹木モデル ◆集団学習 ◆アルゴリズム ◆R言語での実行 ◆Mahout:Random Forest ◆参考資料 ◆最後に
  • 57. Random Forest の実行 パッケージインストール # randomForest のインストール install.packages("randomForest") library(randomForest) 57
  • 58. 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 58
  • 59. Random Forest の実行 Random Forest の生成 # Species(種類)を分類変数として Random Forest を生成 forest <- randomForest(Species~.,data = data.learn) 59
  • 60. 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) 60
  • 61. Random Forest の実行 生成されたForest を用いた 高精度の予測 # Forestを用いた予測の実行 pred.forest <- predict(forest, newdata = data.test, type = "class") # 解との比較 table(pred.forest, data.test[,5]) 61
  • 62. 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 分類間違いなし 62
  • 63. 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 分類間違いなし 63
  • 64. 樹木モデルとの比較 きわどいところも 分類できている 予測結果: 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 64
  • 65. 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 65
  • 66. AGENDA ◆自己紹介 ◆Random Forestとは ◆概要 ◆樹木モデル ◆集団学習 ◆アルゴリズム ◆R言語での実行 ◆Mahout:Random Forest ◆参考資料 ◆最後に
  • 67. Mahoutとは Open Sourceでスケーラブルな 機械学習・データマイニングのライブラリ ・Apache プロジェクト ・機械学習・データマイニングのライブラリ ・Java オープンソース ・Hadoop(大規模 分散処理基盤)上で動作 (Hadoop:象, Mahout: 象使い) http://mahout.apache.org 67
  • 68. Mahoutとは Open Sourceでスケーラブルな 機械学習・データマイニングのライブラリ ・Apache プロジェクト ・機械学習・データマイニングのライブラリ ・Java オープンソース ・Hadoop(大規模 分散処理基盤)上で動作 (Hadoop:象, Mahout: 象使い) http://mahout.apache.org 68
  • 69. Mahoutとは Open Sourceでスケーラブルな 機械学習・データマイニングのライブラリ ・Apache プロジェクト ・機械学習・データマイニングのライブラリ ・Java オープンソース ・Hadoop(大規模 分散処理基盤)上で動作 (Hadoop:象, Mahout: 象使い) http://mahout.apache.org 69
  • 70. Mahoutとは Open Sourceでスケーラブルな 機械学習・データマイニングのライブラリ ・Apache プロジェクト ・機械学習・データマイニングのライブラリ ・Java オープンソース ・Hadoop(大規模 分散処理基盤)上で動作 (Hadoop:象, Mahout: 象使い) http://mahout.apache.org 70
  • 71. Mahoutとは Open Sourceでスケーラブルな 機械学習・データマイニングのライブラリ ・Apache プロジェクト ・機械学習・データマイニングのライブラリ ・Java オープンソース ・Hadoop(大規模 分散処理基盤)上で動作 (Hadoop:象, Mahout: 象使い) http://mahout.apache.org 71
  • 72. Mahoutとは Open Sourceでスケーラブルな 機械学習・データマイニングのライブラリ ・Apache プロジェクト ・機械学習・データマイニングのライブラリ ・Java オープンソース ・Hadoop(大規模 分散処理基盤)上で動作 ・Hadoop:象, Mahout: 象使い http://mahout.apache.org 72
  • 73. Mahoutとは Open Sourceでスケーラブルな 機械学習・データマイニングのライブラリ ・Apache プロジェクト ・機械学習・データマイニングのライブラリ ・Java オープンソース ・Hadoop(大規模 分散処理基盤)上で動作 ・Hadoop:象, Mahout: 象使い http://mahout.apache.org 73
  • 74. Mahoutとは Open Sourceでスケーラブルな 機械学習・データマイニングのライブラリ Applications Examples Freq. Genetic Pattern Classification Clustering Recommenders Mining Math Utilities Collections Apache Vectors/Matrices/ Lucene/Vectorizer (primitives) Hadoop SVD http://cwiki.apache.org/confluence/display/MAHOUT/Algorithms http://www.slideshare.net/gsingers/intro-to-apache-mahout 74
  • 75. Mahout : Random Forest mahout.df(Decision Forest) Packageで実装されている 75
  • 76. Mahout : Random Forest mahout.df(Decision Forest) Packageで実装されている 主要クラス Decision Tree構築: org.apache.mahout.df.builder.TreeBuilder Interface 内容 TreeBuilder 樹木モデル(Decision Tree)構築のInterface Class 内容 DefaultTreeBuilder 樹木モデル(Decision Tree)構築の実装クラス Forest予測: org.apache.mahout.df.callback Class 内容 ForestPredictions Decision Forestの予測結果を算出する Decision Forest構築: org.apache.mahout.df.mapreduce Class 内容 Builder Decision Forestを構築する Decision Forest: org.apache.mahout.df.DecisionForest Interface 内容 DecisionForest Decision Forest (Decision Tree 集合) 表現・データ取得 76
  • 77. AGENDA ◆自己紹介 ◆Random Forestとは ◆概要 ◆樹木モデル ◆集団学習 ◆アルゴリズム ◆R言語での実行 ◆Mahout:Random Forest ◆参考資料 ◆最後に
  • 78. 参考資料:R / Random Forest Rによるデータサイエンス ~データ解析の基礎から最新手法まで ~ ■CART元論文: Breiman, L. , et.al, "Classification and Regression Trees", Wadsworth (1984) ■Random Forest元論文: Breiman, L., et.al, “Random Forests”, Machine Learning (2001)
  • 80. AGENDA ◆自己紹介 ◆Random Forestとは ◆概要 ◆樹木モデル ◆集団学習 ◆アルゴリズム ◆R言語での実行 ◆Mahout:Random Forest ◆参考資料 ◆最後に
  • 81. 最後に 蓄積されたデータを有効活用してきたい 81
  • 82. 最後に 蓄積されたデータを有効活用してきたい Google Group: http://groups.google.com/group/webmining-tokyo 82
  • 83. 最後に データマイニング+WEB勉強会 発表者を募集しています 連絡 Google Group: http://groups.google.com/group/webmining-tokyo Twitter : http://twitter.com/hamadakoichi 83
  • 85. AGENDA ◆自己紹介 ◆Random Forestとは ◆概要 ◆樹木モデル ◆集団学習 ◆アルゴリズム ◆R言語での実行 ◆Mahout:Random Forest ◆参考資料 ◆最後に