SlideShare une entreprise Scribd logo
1  sur  93
データマイニングセミナー
           2010/10/07




樹木モデルとランダムフォレスト
  Tree-based Models and Random Forests


  -機械学習による分類・予測-

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




                                      3
資料

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

     http://www.slideshare.net/hamadakoichi
AGENDA
   ◆Random Forestとは
   ◆樹木モデル
     ◆樹木モデルとは
     ◆R言語での実行
   ◆集団学習
   ◆Random Forest
     ◆アルゴリズム
     ◆R言語での実行
     ◆Mahout:Random Forest
   ◆参考資料
AGENDA
   ◆Random Forestとは
   ◆樹木モデル
     ◆樹木モデルとは
     ◆R言語での実行
   ◆集団学習
   ◆Random Forest
     ◆アルゴリズム
     ◆R言語での実行
     ◆Mahout:Random Forest
   ◆参考資料
Random Forest とは




                   集団学習により




                             7
Random Forest とは




                   集団学習により

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




                             8
Random Forest とは




                   集団学習により

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

             機械学習アルゴリズム




                             9
Random Forest とは




                   集団学習により

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

             機械学習アルゴリズム


               “Random forests”
              (L. Breiman, 2001)

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

  Random      Sampling 1   Sampling 2   …   Sampling B

   Forest
            Forest
                Tree 1      Tree 2      …     Tree B

予測対象




               Result 1     Result 2    …    Result B


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


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




                                  12
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
                                                                   13
Random Forest とは
                樹木モデルの集団学習により
                 高精度の分類・予測を行う
                学習用データ

  Random      Sampling 1   Sampling 2   …   Sampling B

   Forest
            Forest
                Tree 1      Tree 2      …     Tree B

予測対象




               Result 1     Result 2    …    Result B


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

  Random      Sampling 1   Sampling 2   …   Sampling B

   Forest
            Forest
                Tree 1      Tree 2      …     Tree B

予測対象




               Result 1     Result 2    …    Result B


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

  Random      Sampling 1   Sampling 2   …   Sampling B

   Forest
            Forest
                Tree 1      Tree 2      …     Tree B

予測対象




               Result 1     Result 2    …    Result B


               分類・予測結果                                   16
AGENDA
   ◆Random Forestとは
   ◆樹木モデル
     ◆樹木モデルとは
     ◆R言語での実行
   ◆集団学習
   ◆Random Forest
     ◆アルゴリズム
     ◆R言語での実行
     ◆Mahout:Random Forest
   ◆参考資料
樹木モデル とは
   目的変数に影響が大きい変数・境界値・順序を
        算出することができる




                           18
樹木モデル とは
   目的変数に影響が大きい変数・境界値・順序を
        算出することができる

            影響大
 データ              木構造




                           19
樹木モデル とは
   目的変数に影響が大きい変数・境界値・順序を
        算出することができる

               影響大
 データ                   木構造




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




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




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




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




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




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




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




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




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



                                                      virginica


                                       versicolor


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


                         virginica         setosa



        setosa
                                                                             virginica
                 versicolor    virginica

                                                    versicolor   virginica


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




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




                     ブレーキ後の停車距離

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




                     ブレーキ後の停車距離

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


      Entropy
      GINI係数

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

      尤離度(deviance)

      ※          :条件ノード A での目標変数 t の平均値                      34
AGENDA
   ◆Random Forestとは
   ◆樹木モデル
     ◆樹木モデルとは
     ◆R言語での実行
   ◆集団学習
   ◆Random Forest
     ◆アルゴリズム
     ◆R言語での実行
     ◆Mahout:Random Forest
   ◆参考資料
樹木モデルの実行

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




                                      36
樹木モデルの実行

                        パッケージインストール
 # 樹木モデルのインストール
 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                                                                       37
樹木モデルの実行

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




                                        花びらの幅




                setosa




                           versicolor     virginica    38
樹木モデルを用いた予測

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




                                                            39
樹木モデルの実行
                   学習・予測データに分け
                 学習用データで樹木モデル作成

 # 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")



                                                                 40
樹木モデルの実行

                樹木モデル を用いた予測

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




                                                        41
樹木モデルの実行

                           樹木モデル を用いた予測

 # 樹木モデルを用いた予測 (新データ 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




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

  Random      Sampling 1   Sampling 2   …   Sampling B

   Forest
            Forest
                Tree 1      Tree 2      …     Tree B

予測対象




               Result 1     Result 2    …    Result B


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

  Random      Sampling 1   Sampling 2   …   Sampling B

   Forest
            Forest
                Tree 1      Tree 2      …     Tree B

予測対象




               Result 1     Result 2    …    Result B


               分類・予測結果                                   44
AGENDA
   ◆Random Forestとは
   ◆樹木モデル
     ◆樹木モデルとは
     ◆R言語での実行
   ◆集団学習
   ◆Random Forest
     ◆アルゴリズム
     ◆R言語での実行
     ◆Mahout:Random Forest
   ◆参考資料
集団学習 とは




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




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

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




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

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

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




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

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

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


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

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

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


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

  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




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

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

              学習用データ

  Random    Sampling 1   Sampling 2   …   Sampling B

   Forest




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

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

               学習用データ

  Random     Sampling 1   Sampling 2   …   Sampling B

   Forest
               Tree 1




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

  Random    Sampling 1   Sampling 2   …   Sampling B

   Forest
              Tree 1      Tree 2      …     Tree B




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

  Random    Sampling 1   Sampling 2   …   Sampling B

   Forest
              Tree 1      Tree 2      …     Tree B




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

  Random      Sampling 1   Sampling 2   …   Sampling B

   Forest
            Forest
                Tree 1      Tree 2      …     Tree B




                                                         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


                                                         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
Random Forest アルゴリズム
                樹木モデルの集団学習による
                高精度の分類・予測(回帰)
                学習用データ

  Random      Sampling 1   Sampling 2   …   Sampling B

   Forest
            Forest
                Tree 1      Tree 2      …     Tree B

予測対象




               Result 1     Result 2    …    Result B


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


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




                                  66
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
                                                                   67
AGENDA
   ◆Random Forestとは
   ◆樹木モデル
     ◆樹木モデルとは
     ◆R言語での実行
   ◆集団学習
   ◆Random Forest
     ◆アルゴリズム
     ◆R言語での実行
     ◆Mahout:Random Forest
   ◆参考資料
Random Forest の実行

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




                                     69
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                                                                  70
Random Forest の実行

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




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

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

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




                                                                       73
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

                    分類間違いなし



                                                                       74
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

                    分類間違いなし



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

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




                                                                                       76
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

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

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




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

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




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

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




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

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




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

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




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

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




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

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




           http://mahout.apache.org
                                      85
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            86
Mahout : Random Forest
   mahout.df(Decision Forest) Packageで実装されている




                                                87
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 集合) 表現・データ取得   88
AGENDA
   ◆Random Forestとは
   ◆樹木モデル
     ◆樹木モデルとは
     ◆R言語での実行
   ◆集団学習
   ◆Random Forest
     ◆アルゴリズム
     ◆R言語での実行
     ◆Mahout:Random Forest
   ◆参考資料
参考資料:R/CART/Random Forest

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




                   http://www.slideshare.net/hamadakoichi/r-r-3201648




■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)
参考資料:Mahout/Hadoop/Recommendation




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




http://www.slideshare.net/yanaoki/hadoop-4113186 http://www.slideshare.net/hamadakoichi/ss-4552939
ご清聴ありがとうございました




                 92
AGENDA
   ◆Random Forestとは
   ◆樹木モデル
     ◆樹木モデルとは
     ◆R言語での実行
   ◆集団学習
   ◆Random Forest
     ◆アルゴリズム
     ◆R言語での実行
     ◆Mahout:Random Forest
   ◆参考資料

Contenu connexe

Tendances

勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)RyuichiKanoh
 
[DL輪読会]ドメイン転移と不変表現に関するサーベイ
[DL輪読会]ドメイン転移と不変表現に関するサーベイ[DL輪読会]ドメイン転移と不変表現に関するサーベイ
[DL輪読会]ドメイン転移と不変表現に関するサーベイDeep Learning JP
 
“機械学習の説明”の信頼性
“機械学習の説明”の信頼性“機械学習の説明”の信頼性
“機械学習の説明”の信頼性Satoshi Hara
 
深層学習の不確実性 - Uncertainty in Deep Neural Networks -
深層学習の不確実性 - Uncertainty in Deep Neural Networks -深層学習の不確実性 - Uncertainty in Deep Neural Networks -
深層学習の不確実性 - Uncertainty in Deep Neural Networks -tmtm otm
 
社会心理学者のための時系列分析入門_小森
社会心理学者のための時系列分析入門_小森社会心理学者のための時系列分析入門_小森
社会心理学者のための時系列分析入門_小森Masashi Komori
 
画像キャプションの自動生成
画像キャプションの自動生成画像キャプションの自動生成
画像キャプションの自動生成Yoshitaka Ushiku
 
[DL輪読会]Revisiting Deep Learning Models for Tabular Data (NeurIPS 2021) 表形式デー...
[DL輪読会]Revisiting Deep Learning Models for Tabular Data  (NeurIPS 2021) 表形式デー...[DL輪読会]Revisiting Deep Learning Models for Tabular Data  (NeurIPS 2021) 表形式デー...
[DL輪読会]Revisiting Deep Learning Models for Tabular Data (NeurIPS 2021) 表形式デー...Deep Learning JP
 
再現性問題は若手研究者の突破口
再現性問題は若手研究者の突破口再現性問題は若手研究者の突破口
再現性問題は若手研究者の突破口Yuki Yamada
 
[DL輪読会]Grokking: Generalization Beyond Overfitting on Small Algorithmic Datasets
[DL輪読会]Grokking: Generalization Beyond Overfitting on Small Algorithmic Datasets[DL輪読会]Grokking: Generalization Beyond Overfitting on Small Algorithmic Datasets
[DL輪読会]Grokking: Generalization Beyond Overfitting on Small Algorithmic DatasetsDeep Learning JP
 
Active Learning 入門
Active Learning 入門Active Learning 入門
Active Learning 入門Shuyo Nakatani
 
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learningゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement LearningPreferred Networks
 
SHAP値の考え方を理解する(木構造編)
SHAP値の考え方を理解する(木構造編)SHAP値の考え方を理解する(木構造編)
SHAP値の考え方を理解する(木構造編)Kazuyuki Wakasugi
 
ランダムフォレスト
ランダムフォレストランダムフォレスト
ランダムフォレストKinki University
 
組合せ最適化入門:線形計画から整数計画まで
組合せ最適化入門:線形計画から整数計画まで組合せ最適化入門:線形計画から整数計画まで
組合せ最適化入門:線形計画から整数計画までShunji Umetani
 
トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?hoxo_m
 
pymcとpystanでベイズ推定してみた話
pymcとpystanでベイズ推定してみた話pymcとpystanでベイズ推定してみた話
pymcとpystanでベイズ推定してみた話Classi.corp
 
相関と因果について考える:統計的因果推論、その(不)可能性の中心
相関と因果について考える:統計的因果推論、その(不)可能性の中心相関と因果について考える:統計的因果推論、その(不)可能性の中心
相関と因果について考える:統計的因果推論、その(不)可能性の中心takehikoihayashi
 
構造方程式モデルによる因果推論: 因果構造探索に関する最近の発展
構造方程式モデルによる因果推論: 因果構造探索に関する最近の発展構造方程式モデルによる因果推論: 因果構造探索に関する最近の発展
構造方程式モデルによる因果推論: 因果構造探索に関する最近の発展Shiga University, RIKEN
 

Tendances (20)

勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
 
[DL輪読会]ドメイン転移と不変表現に関するサーベイ
[DL輪読会]ドメイン転移と不変表現に関するサーベイ[DL輪読会]ドメイン転移と不変表現に関するサーベイ
[DL輪読会]ドメイン転移と不変表現に関するサーベイ
 
“機械学習の説明”の信頼性
“機械学習の説明”の信頼性“機械学習の説明”の信頼性
“機械学習の説明”の信頼性
 
深層学習の不確実性 - Uncertainty in Deep Neural Networks -
深層学習の不確実性 - Uncertainty in Deep Neural Networks -深層学習の不確実性 - Uncertainty in Deep Neural Networks -
深層学習の不確実性 - Uncertainty in Deep Neural Networks -
 
社会心理学者のための時系列分析入門_小森
社会心理学者のための時系列分析入門_小森社会心理学者のための時系列分析入門_小森
社会心理学者のための時系列分析入門_小森
 
画像キャプションの自動生成
画像キャプションの自動生成画像キャプションの自動生成
画像キャプションの自動生成
 
[DL輪読会]Revisiting Deep Learning Models for Tabular Data (NeurIPS 2021) 表形式デー...
[DL輪読会]Revisiting Deep Learning Models for Tabular Data  (NeurIPS 2021) 表形式デー...[DL輪読会]Revisiting Deep Learning Models for Tabular Data  (NeurIPS 2021) 表形式デー...
[DL輪読会]Revisiting Deep Learning Models for Tabular Data (NeurIPS 2021) 表形式デー...
 
再現性問題は若手研究者の突破口
再現性問題は若手研究者の突破口再現性問題は若手研究者の突破口
再現性問題は若手研究者の突破口
 
[DL輪読会]Grokking: Generalization Beyond Overfitting on Small Algorithmic Datasets
[DL輪読会]Grokking: Generalization Beyond Overfitting on Small Algorithmic Datasets[DL輪読会]Grokking: Generalization Beyond Overfitting on Small Algorithmic Datasets
[DL輪読会]Grokking: Generalization Beyond Overfitting on Small Algorithmic Datasets
 
Active Learning 入門
Active Learning 入門Active Learning 入門
Active Learning 入門
 
一般化線形モデル (GLM) & 一般化加法モデル(GAM)
一般化線形モデル (GLM) & 一般化加法モデル(GAM) 一般化線形モデル (GLM) & 一般化加法モデル(GAM)
一般化線形モデル (GLM) & 一般化加法モデル(GAM)
 
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learningゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
 
SHAP値の考え方を理解する(木構造編)
SHAP値の考え方を理解する(木構造編)SHAP値の考え方を理解する(木構造編)
SHAP値の考え方を理解する(木構造編)
 
ランダムフォレスト
ランダムフォレストランダムフォレスト
ランダムフォレスト
 
組合せ最適化入門:線形計画から整数計画まで
組合せ最適化入門:線形計画から整数計画まで組合せ最適化入門:線形計画から整数計画まで
組合せ最適化入門:線形計画から整数計画まで
 
トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?
 
pymcとpystanでベイズ推定してみた話
pymcとpystanでベイズ推定してみた話pymcとpystanでベイズ推定してみた話
pymcとpystanでベイズ推定してみた話
 
coordinate descent 法について
coordinate descent 法についてcoordinate descent 法について
coordinate descent 法について
 
相関と因果について考える:統計的因果推論、その(不)可能性の中心
相関と因果について考える:統計的因果推論、その(不)可能性の中心相関と因果について考える:統計的因果推論、その(不)可能性の中心
相関と因果について考える:統計的因果推論、その(不)可能性の中心
 
構造方程式モデルによる因果推論: 因果構造探索に関する最近の発展
構造方程式モデルによる因果推論: 因果構造探索に関する最近の発展構造方程式モデルによる因果推論: 因果構造探索に関する最近の発展
構造方程式モデルによる因果推論: 因果構造探索に関する最近の発展
 

En vedette

機会学習ハッカソン:ランダムフォレスト
機会学習ハッカソン:ランダムフォレスト機会学習ハッカソン:ランダムフォレスト
機会学習ハッカソン:ランダムフォレストTeppei Baba
 
「R言語による Random Forest 徹底入門 -集団学習による分類・予測-」 - #TokyoR #11
「R言語による Random Forest 徹底入門 -集団学習による分類・予測-」 - #TokyoR  #11「R言語による Random Forest 徹底入門 -集団学習による分類・予測-」 - #TokyoR  #11
「R言語による Random Forest 徹底入門 -集団学習による分類・予測-」 - #TokyoR #11Koichi Hamada
 
Xgboost for share
Xgboost for shareXgboost for share
Xgboost for shareShota Yasui
 
Feature Selection with R / in JP
Feature Selection with R / in JPFeature Selection with R / in JP
Feature Selection with R / in JPSercan Ahi
 
合成変量とアンサンブル:回帰森と加法モデルの要点
合成変量とアンサンブル:回帰森と加法モデルの要点合成変量とアンサンブル:回帰森と加法モデルの要点
合成変量とアンサンブル:回帰森と加法モデルの要点Ichigaku Takigawa
 
実践多クラス分類 Kaggle Ottoから学んだこと
実践多クラス分類 Kaggle Ottoから学んだこと実践多クラス分類 Kaggle Ottoから学んだこと
実践多クラス分類 Kaggle Ottoから学んだことnishio
 
アンサンブル学習
アンサンブル学習アンサンブル学習
アンサンブル学習Hidekazu Tanaka
 
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京Koichi Hamada
 

En vedette (8)

機会学習ハッカソン:ランダムフォレスト
機会学習ハッカソン:ランダムフォレスト機会学習ハッカソン:ランダムフォレスト
機会学習ハッカソン:ランダムフォレスト
 
「R言語による Random Forest 徹底入門 -集団学習による分類・予測-」 - #TokyoR #11
「R言語による Random Forest 徹底入門 -集団学習による分類・予測-」 - #TokyoR  #11「R言語による Random Forest 徹底入門 -集団学習による分類・予測-」 - #TokyoR  #11
「R言語による Random Forest 徹底入門 -集団学習による分類・予測-」 - #TokyoR #11
 
Xgboost for share
Xgboost for shareXgboost for share
Xgboost for share
 
Feature Selection with R / in JP
Feature Selection with R / in JPFeature Selection with R / in JP
Feature Selection with R / in JP
 
合成変量とアンサンブル:回帰森と加法モデルの要点
合成変量とアンサンブル:回帰森と加法モデルの要点合成変量とアンサンブル:回帰森と加法モデルの要点
合成変量とアンサンブル:回帰森と加法モデルの要点
 
実践多クラス分類 Kaggle Ottoから学んだこと
実践多クラス分類 Kaggle Ottoから学んだこと実践多クラス分類 Kaggle Ottoから学んだこと
実践多クラス分類 Kaggle Ottoから学んだこと
 
アンサンブル学習
アンサンブル学習アンサンブル学習
アンサンブル学習
 
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
 

Similaire à 「樹木モデルとランダムフォレスト-機械学習による分類・予測-」-データマイニングセミナー

森林の3次元構造リモートセンシングと生態系プロセスモデルとの統合に関する研究
森林の3次元構造リモートセンシングと生態系プロセスモデルとの統合に関する研究森林の3次元構造リモートセンシングと生態系プロセスモデルとの統合に関する研究
森林の3次元構造リモートセンシングと生態系プロセスモデルとの統合に関する研究Hitoshi Taguchi
 
アンサンブル木モデル解釈のためのモデル簡略化法
アンサンブル木モデル解釈のためのモデル簡略化法アンサンブル木モデル解釈のためのモデル簡略化法
アンサンブル木モデル解釈のためのモデル簡略化法Satoshi Hara
 
高解像度リモートセンシングデータを用いた森林被害検出手法の開発
高解像度リモートセンシングデータを用いた森林被害検出手法の開発高解像度リモートセンシングデータを用いた森林被害検出手法の開発
高解像度リモートセンシングデータを用いた森林被害検出手法の開発Hitoshi Taguchi
 
20190725 taguchi decision_tree_for_pubshare
20190725 taguchi decision_tree_for_pubshare20190725 taguchi decision_tree_for_pubshare
20190725 taguchi decision_tree_for_pubsharetaguchi naoya
 
Transfer forest(PRMU Jun 2014)
Transfer forest(PRMU Jun 2014)Transfer forest(PRMU Jun 2014)
Transfer forest(PRMU Jun 2014)Masamitsu Tsuchiya
 
Interpreting Tree Ensembles with inTrees
Interpreting Tree Ensembles with  inTreesInterpreting Tree Ensembles with  inTrees
Interpreting Tree Ensembles with inTreesSatoshi Kato
 

Similaire à 「樹木モデルとランダムフォレスト-機械学習による分類・予測-」-データマイニングセミナー (6)

森林の3次元構造リモートセンシングと生態系プロセスモデルとの統合に関する研究
森林の3次元構造リモートセンシングと生態系プロセスモデルとの統合に関する研究森林の3次元構造リモートセンシングと生態系プロセスモデルとの統合に関する研究
森林の3次元構造リモートセンシングと生態系プロセスモデルとの統合に関する研究
 
アンサンブル木モデル解釈のためのモデル簡略化法
アンサンブル木モデル解釈のためのモデル簡略化法アンサンブル木モデル解釈のためのモデル簡略化法
アンサンブル木モデル解釈のためのモデル簡略化法
 
高解像度リモートセンシングデータを用いた森林被害検出手法の開発
高解像度リモートセンシングデータを用いた森林被害検出手法の開発高解像度リモートセンシングデータを用いた森林被害検出手法の開発
高解像度リモートセンシングデータを用いた森林被害検出手法の開発
 
20190725 taguchi decision_tree_for_pubshare
20190725 taguchi decision_tree_for_pubshare20190725 taguchi decision_tree_for_pubshare
20190725 taguchi decision_tree_for_pubshare
 
Transfer forest(PRMU Jun 2014)
Transfer forest(PRMU Jun 2014)Transfer forest(PRMU Jun 2014)
Transfer forest(PRMU Jun 2014)
 
Interpreting Tree Ensembles with inTrees
Interpreting Tree Ensembles with  inTreesInterpreting Tree Ensembles with  inTrees
Interpreting Tree Ensembles with inTrees
 

Plus de 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
 
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
 
"Mahout Recommendation" - #TokyoWebmining 14th
"Mahout Recommendation" -  #TokyoWebmining 14th"Mahout Recommendation" -  #TokyoWebmining 14th
"Mahout Recommendation" - #TokyoWebmining 14thKoichi Hamada
 
Mahout JP - #TokyoWebmining 11th #MahoutJP
Mahout JP -  #TokyoWebmining 11th #MahoutJP Mahout JP -  #TokyoWebmining 11th #MahoutJP
Mahout JP - #TokyoWebmining 11th #MahoutJP Koichi Hamada
 

Plus de 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部-機械学習・大規模分散処理
 
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
 
"Mahout Recommendation" - #TokyoWebmining 14th
"Mahout Recommendation" -  #TokyoWebmining 14th"Mahout Recommendation" -  #TokyoWebmining 14th
"Mahout Recommendation" - #TokyoWebmining 14th
 
Mahout JP - #TokyoWebmining 11th #MahoutJP
Mahout JP -  #TokyoWebmining 11th #MahoutJP Mahout JP -  #TokyoWebmining 11th #MahoutJP
Mahout JP - #TokyoWebmining 11th #MahoutJP
 

Dernier

NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 

Dernier (8)

NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 

「樹木モデルとランダムフォレスト-機械学習による分類・予測-」-データマイニングセミナー

  • 1. データマイニングセミナー 2010/10/07 樹木モデルとランダムフォレスト Tree-based Models and Random Forests -機械学習による分類・予測- hamadakoichi 濱田 晃一
  • 2. AGENDA ◆Random Forestとは ◆樹木モデル ◆樹木モデルとは ◆R言語での実行 ◆集団学習 ◆Random Forest ◆アルゴリズム ◆R言語での実行 ◆Mahout:Random Forest ◆参考資料
  • 3. hamadakoichi 濱田晃一 http://iddy.jp/profile/hamadakoichi 3
  • 4. 資料 各種講師資料を公開しています http://www.slideshare.net/hamadakoichi
  • 5. AGENDA ◆Random Forestとは ◆樹木モデル ◆樹木モデルとは ◆R言語での実行 ◆集団学習 ◆Random Forest ◆アルゴリズム ◆R言語での実行 ◆Mahout:Random Forest ◆参考資料
  • 6. AGENDA ◆Random Forestとは ◆樹木モデル ◆樹木モデルとは ◆R言語での実行 ◆集団学習 ◆Random Forest ◆アルゴリズム ◆R言語での実行 ◆Mahout:Random Forest ◆参考資料
  • 7. Random Forest とは 集団学習により 7
  • 8. Random Forest とは 集団学習により 高精度の分類・予測を実現する 8
  • 9. Random Forest とは 集団学習により 高精度の分類・予測を実現する 機械学習アルゴリズム 9
  • 10. Random Forest とは 集団学習により 高精度の分類・予測を実現する 機械学習アルゴリズム “Random forests” (L. Breiman, 2001) 10
  • 11. Random Forest とは 樹木モデルの集団学習により 高精度の分類・予測を行う 学習用データ Random Sampling 1 Sampling 2 … Sampling B Forest Forest Tree 1 Tree 2 … Tree B 予測対象 Result 1 Result 2 … Result B 分類・予測結果 11
  • 12. Random Forest : 長所 Random Forest の 主な長所 ・精度が高い ・説明変数が数百、数千でも効率的に作動 ・目的変数に対する説明変数の重要度を推定 ・欠損値を持つデータでも有効に動作 ・個体数がアンバランスでもエラーバランスが保たれる 12
  • 13. 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 13
  • 14. Random Forest とは 樹木モデルの集団学習により 高精度の分類・予測を行う 学習用データ Random Sampling 1 Sampling 2 … Sampling B Forest Forest Tree 1 Tree 2 … Tree B 予測対象 Result 1 Result 2 … Result B 分類・予測結果 14
  • 15. Random Forest とは 樹木モデルの集団学習により 高精度の分類・予測を行う 学習用データ Random Sampling 1 Sampling 2 … Sampling B Forest Forest Tree 1 Tree 2 … Tree B 予測対象 Result 1 Result 2 … Result B 分類・予測結果 15
  • 16. Random Forest とは 樹木モデルの集団学習により 高精度の分類・予測を行う 学習用データ Random Sampling 1 Sampling 2 … Sampling B Forest Forest Tree 1 Tree 2 … Tree B 予測対象 Result 1 Result 2 … Result B 分類・予測結果 16
  • 17. AGENDA ◆Random Forestとは ◆樹木モデル ◆樹木モデルとは ◆R言語での実行 ◆集団学習 ◆Random Forest ◆アルゴリズム ◆R言語での実行 ◆Mahout:Random Forest ◆参考資料
  • 18. 樹木モデル とは 目的変数に影響が大きい変数・境界値・順序を 算出することができる 18
  • 19. 樹木モデル とは 目的変数に影響が大きい変数・境界値・順序を 算出することができる 影響大 データ 木構造 19
  • 20. 樹木モデル とは 目的変数に影響が大きい変数・境界値・順序を 算出することができる 影響大 データ 木構造 今まで気づかなかった重要な条件を知り サービスやプロセスを改良することができる 20
  • 21. 解決する課題 目的変数に影響が大きい変数・境界値・順序を 算出することができる ■丌具合発生率が大きい製造工程にはどのような特徴があるのか? 今まで気づかなかった重要な条件を知り サービスやプロセスを改良することができる 21
  • 22. 解決する課題 目的変数に影響が大きい変数・境界値・順序を 算出することができる ■丌具合発生率が大きい製造工程にはどのような特徴があるのか? ⇒ 丌具合原因の特定・改善 今まで気づかなかった重要な条件を知り サービスやプロセスを改良することができる 22
  • 23. 解決する課題 目的変数に影響が大きい変数・境界値・順序を 算出することができる ■丌具合発生率が大きい製造工程にはどのような特徴があるのか? ⇒ 丌具合原因の特定・改善 ■広告効果が高いユーザーにはどのような特徴があるのか? 今まで気づかなかった重要な条件を知り サービスやプロセスを改良することができる 23
  • 24. 解決する課題 目的変数に影響が大きい変数・境界値・順序を 算出することができる ■丌具合発生率が大きい製造工程にはどのような特徴があるのか? ⇒ 丌具合原因の特定・改善 ■広告効果が高いユーザーにはどのような特徴があるのか? ⇒ 投資対効果の高いターゲット選定 今まで気づかなかった重要な条件を知り サービスやプロセスを改良することができる 24
  • 25. 解決する課題 目的変数に影響が大きい変数・境界値・順序を 算出することができる ■丌具合発生率が大きい製造工程にはどのような特徴があるのか? ⇒ 丌具合原因の特定・改善 ■広告効果が高いユーザーにはどのような特徴があるのか? ⇒ 投資対効果の高いターゲット選定 ■優良ユーザーはどのような楽しみかたをしているか? 今まで気づかなかった重要な条件を知り サービスやプロセスを改良することができる 25
  • 26. 解決する課題 目的変数に影響が大きい変数・境界値・順序を 算出することができる ■丌具合発生率が大きい製造工程にはどのような特徴があるのか? ⇒ 丌具合原因の特定・改善 ■広告効果が高いユーザーにはどのような特徴があるのか? ⇒ 投資対効果の高いターゲット選定 ■優良ユーザーはどのような楽しみかたをしているか? ⇒ より継続的に楽しんでもらえるサービス改良 今まで気づかなかった重要な条件を知り サービスやプロセスを改良することができる 26
  • 27. 解決する課題 目的変数に影響が大きい変数・境界値・順序を 算出することができる ■丌具合発生率が大きい製造工程にはどのような特徴があるのか? ⇒ 丌具合原因の特定・改善 ■広告効果が高いユーザーにはどのような特徴があるのか? ⇒ 投資対効果の高いターゲット選定 ■優良ユーザーはどのような楽しみかたをしているか? ⇒ より継続的に楽しんでもらえるサービス改良 今まで気づかなかった重要な条件を知り サービスやプロセスを改良することができる 27
  • 28. 樹木モデル とは 木構造の条件分岐で 分類・予測(回帰)を行う 例: 植物の分類 Iris(アヤメ)データ 花葉と花びらの長さ・幅から 種類の分類構造算出 説明変数 目的変数 花葉(長さ・幅) 花びら(長さ・幅) 種類 28
  • 29. 樹木モデル とは 木構造の条件分岐で 分類・予測(回帰)を行う 例: 植物の分類 分類 花びらの長さ Iris(アヤメ)データ 花葉と花びらの長さ・幅から 花びらの幅 種類の分類構造算出 説明変数 目的変数 花葉(長さ・幅) 花びら(長さ・幅) 種類 setosa virginica versicolor 29
  • 30. 樹木モデル とは 木構造の条件分岐で 分類・予測(回帰)を行う 例: 植物の分類 分類 花びらの長さ Iris(アヤメ)データ 花葉と花びらの長さ・幅から 花びらの幅 種類の分類構造算出 virginica setosa setosa virginica versicolor virginica versicolor virginica 30
  • 31. 樹木モデル とは 木構造の条件分岐で 分類・予測(回帰)を行う 例: ブレーキ後 停車距離 予測 carsデータ 車速度と ブレーキ後の停車距離の関係構造算出 説明変数 目的変数 ブレーキ後の 車の速度 停車までの距離 31
  • 32. 樹木モデル とは 木構造の条件分岐で 分類・予測(回帰)を行う 例: ブレーキ後 停車距離 予測 回帰(予測) スピード(speed) carsデータ 車速度と ブレーキ後の停車距離の関係構造算出 説明変数 目的変数 ブレーキ後の 車の速度 停車までの距離 ブレーキ後の停車距離 32
  • 33. 樹木モデル とは 木構造の条件分岐で 分類・予測(回帰)を行う 例: ブレーキ後 停車距離 予測 回帰(予測) スピード(speed) carsデータ 車速度と ブレーキ後の停車距離の関係構造算出 ブレーキ後の停車距離 33
  • 34. 樹木モデル: 分岐基準 条件ノード A を条件ノードALとARに分けるとき 以下のΔIを最大化する分割を行う Classification And Regression Trees (CART) (Breiman et al, 1984) 分類木 Entropy GINI係数 ※ :条件ノード A で クラス k をとる確率 回帰木 尤離度(deviance) ※ :条件ノード A での目標変数 t の平均値 34
  • 35. AGENDA ◆Random Forestとは ◆樹木モデル ◆樹木モデルとは ◆R言語での実行 ◆集団学習 ◆Random Forest ◆アルゴリズム ◆R言語での実行 ◆Mahout:Random Forest ◆参考資料
  • 36. 樹木モデルの実行 パッケージインストール # 樹木モデルのインストール install.packages("mvpart") library(mvpart) 36
  • 37. 樹木モデルの実行 パッケージインストール # 樹木モデルのインストール 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 37
  • 38. 樹木モデルの実行 生成された樹木モデルの表示 #Tree の表示 (全分岐での分布表示(all=TRUE) 、個数も表示(use.n =TRUE)) plot.rpart(tree) text.rpart(tree, all = TRUE, use.n = TRUE) 花びらの長さ 花びらの幅 setosa versicolor virginica 38
  • 40. 樹木モデルの実行 学習・予測データに分け 学習用データで樹木モデル作成 # 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") 40
  • 41. 樹木モデルの実行 樹木モデル を用いた予測 # 樹木モデルを用いた予測 (新データ data.test に対する種類分類を予測) predtree <- predict(tree, data.test, type = "class") 41
  • 42. 樹木モデルの実行 樹木モデル を用いた予測 # 樹木モデルを用いた予測 (新データ 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 42
  • 43. Random Forest とは 樹木モデルの集団学習により 高精度の分類・予測を行う 学習用データ 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 Sampling 1 Sampling 2 … Sampling B Forest Forest Tree 1 Tree 2 … Tree B 予測対象 Result 1 Result 2 … Result B 分類・予測結果 44
  • 45. AGENDA ◆Random Forestとは ◆樹木モデル ◆樹木モデルとは ◆R言語での実行 ◆集団学習 ◆Random Forest ◆アルゴリズム ◆R言語での実行 ◆Mahout:Random Forest ◆参考資料
  • 47. 集団学習 とは 複数モデル生成し 結果を統合 精度を向上させる 機械学習のアルゴリズム 47
  • 48. 集団学習 とは 複数モデル生成し 結果を統合 精度を向上させる 機械学習のアルゴリズム ■異なるサンプル、異なる重みの 複数の学習モデルを生成 48
  • 49. 集団学習 とは 複数モデル生成し 結果を統合 精度を向上させる 機械学習のアルゴリズム ■異なるサンプル、異なる重みの 複数の学習モデルを生成 ■各モデルの結果を統合・組合せにより 精度・汎用性を向上 49
  • 50. 集団学習 とは 複数モデル生成し 結果を統合 精度を向上させる 機械学習のアルゴリズム ■異なるサンプル、異なる重みの 複数の学習モデルを生成 ■各モデルの結果を統合・組合せにより 精度・汎用性を向上 結果の統合 ・分類: 多数決 ・回帰: 平均値 50
  • 51. 集団学習 とは 複数モデル生成し 結果を統合 精度を向上させる 機械学習のアルゴリズム ■異なるサンプル、異なる重みの 複数の学習モデルを生成 ■各モデルの結果を統合・組合せにより 精度・汎用性を向上 結果の統合 ・分類: 多数決 ・回帰: 平均値 51
  • 52. AGENDA ◆Random Forestとは ◆樹木モデル ◆樹木モデルとは ◆R言語での実行 ◆集団学習 ◆Random Forest ◆アルゴリズム ◆R言語での実行 ◆Mahout:Random Forest ◆参考資料
  • 53. AGENDA ◆Random Forestとは ◆樹木モデル ◆樹木モデルとは ◆R言語での実行 ◆集団学習 ◆Random Forest ◆アルゴリズム ◆R言語での実行 ◆Mahout:Random Forest ◆参考資料
  • 54. Random Forest 樹木モデルの集団学習による 高精度の分類・予測(回帰) 学習用データ Random Sampling 1 Sampling 2 … Sampling B Forest Forest Tree 1 Tree 2 … Tree B 予測対象 Result 1 Result 2 … Result B 分類・予測結果 54
  • 56. Random Forest アルゴリズム: 学習 Random Forest 56
  • 57. Random Forest アルゴリズム: 学習 ブートストラップ サンプリング 学習データから重複を許しランダムに B組のサンプル集合抽出 学習用データ Random Sampling 1 Sampling 2 … Sampling B Forest 57
  • 58. Random Forest アルゴリズム: 学習 ランダム抽出変数での樹木モデル生成 各ノード展開で M個の説明変数からm個変数をランダム抽出 学習用データ Random Sampling 1 Sampling 2 … Sampling B Forest Tree 1 58
  • 59. Random Forest アルゴリズム: 学習 全サンプル集合で 樹木モデルを生成 学習用データ Random Sampling 1 Sampling 2 … Sampling B Forest Tree 1 Tree 2 … Tree B 59
  • 60. Random Forest アルゴリズム: 学習 複数の樹木モデル = Forest (森) モデル 学習用データ Random Sampling 1 Sampling 2 … Sampling B Forest Tree 1 Tree 2 … Tree B 60
  • 61. Random Forest アルゴリズム: 学習 複数の樹木モデル = Forest (森) モデル 学習用データ Random Sampling 1 Sampling 2 … Sampling B Forest Forest Tree 1 Tree 2 … Tree B 61
  • 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. Random Forest アルゴリズム 樹木モデルの集団学習による 高精度の分類・予測(回帰) 学習用データ Random Sampling 1 Sampling 2 … Sampling B Forest Forest Tree 1 Tree 2 … Tree B 予測対象 Result 1 Result 2 … Result B 分類・予測結果 65
  • 66. Random Forest : 長所 Random Forest の 主な長所 ・精度が高い ・説明変数が数百、数千でも効率的に作動 ・目的変数に対する説明変数の重要度を推定 ・欠損値を持つデータでも有効に動作 ・個体数がアンバランスでもエラーバランスが保たれる 66
  • 67. 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 67
  • 68. AGENDA ◆Random Forestとは ◆樹木モデル ◆樹木モデルとは ◆R言語での実行 ◆集団学習 ◆Random Forest ◆アルゴリズム ◆R言語での実行 ◆Mahout:Random Forest ◆参考資料
  • 69. Random Forest の実行 パッケージインストール # randomForest のインストール install.packages("randomForest") library(randomForest) 69
  • 70. 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 70
  • 71. Random Forest の実行 Random Forest の生成 # Species(種類)を分類変数として Random Forest を生成 forest <- randomForest(Species~.,data = data.learn) 71
  • 72. 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) 72
  • 73. Random Forest の実行 生成されたForest を用いた 高精度の予測 # Forestを用いた予測の実行 pred.forest <- predict(forest, newdata = data.test, type = "class") # 解との比較 table(pred.forest, data.test[,5]) 73
  • 74. 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 分類間違いなし 74
  • 75. 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 分類間違いなし 75
  • 76. 樹木モデルとの比較 きわどいところも 分類できている 予測結果: 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 76
  • 77. 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 77
  • 78. AGENDA ◆Random Forestとは ◆樹木モデル ◆樹木モデルとは ◆R言語での実行 ◆集団学習 ◆Random Forest ◆アルゴリズム ◆R言語での実行 ◆Mahout:Random Forest ◆参考資料
  • 79. Mahoutとは Open Sourceでスケーラブルな 機械学習・データマイニングのライブラリ ・Apache プロジェクト ・機械学習・データマイニングのライブラリ ・Java オープンソース ・Hadoop(大規模 分散処理基盤)上で動作 (Hadoop:象, Mahout: 象使い) http://mahout.apache.org 79
  • 80. Mahoutとは Open Sourceでスケーラブルな 機械学習・データマイニングのライブラリ ・Apache プロジェクト ・機械学習・データマイニングのライブラリ ・Java オープンソース ・Hadoop(大規模 分散処理基盤)上で動作 (Hadoop:象, Mahout: 象使い) http://mahout.apache.org 80
  • 81. Mahoutとは Open Sourceでスケーラブルな 機械学習・データマイニングのライブラリ ・Apache プロジェクト ・機械学習・データマイニングのライブラリ ・Java オープンソース ・Hadoop(大規模 分散処理基盤)上で動作 (Hadoop:象, Mahout: 象使い) http://mahout.apache.org 81
  • 82. Mahoutとは Open Sourceでスケーラブルな 機械学習・データマイニングのライブラリ ・Apache プロジェクト ・機械学習・データマイニングのライブラリ ・Java オープンソース ・Hadoop(大規模 分散処理基盤)上で動作 (Hadoop:象, Mahout: 象使い) http://mahout.apache.org 82
  • 83. Mahoutとは Open Sourceでスケーラブルな 機械学習・データマイニングのライブラリ ・Apache プロジェクト ・機械学習・データマイニングのライブラリ ・Java オープンソース ・Hadoop(大規模 分散処理基盤)上で動作 (Hadoop:象, Mahout: 象使い) http://mahout.apache.org 83
  • 84. Mahoutとは Open Sourceでスケーラブルな 機械学習・データマイニングのライブラリ ・Apache プロジェクト ・機械学習・データマイニングのライブラリ ・Java オープンソース ・Hadoop(大規模 分散処理基盤)上で動作 ・Hadoop:象, Mahout: 象使い http://mahout.apache.org 84
  • 85. Mahoutとは Open Sourceでスケーラブルな 機械学習・データマイニングのライブラリ ・Apache プロジェクト ・機械学習・データマイニングのライブラリ ・Java オープンソース ・Hadoop(大規模 分散処理基盤)上で動作 ・Hadoop:象, Mahout: 象使い http://mahout.apache.org 85
  • 86. 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 86
  • 87. Mahout : Random Forest mahout.df(Decision Forest) Packageで実装されている 87
  • 88. 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 集合) 表現・データ取得 88
  • 89. AGENDA ◆Random Forestとは ◆樹木モデル ◆樹木モデルとは ◆R言語での実行 ◆集団学習 ◆Random Forest ◆アルゴリズム ◆R言語での実行 ◆Mahout:Random Forest ◆参考資料
  • 90. 参考資料:R/CART/Random Forest Rによるデータサイエンス Rによる統計解析 ~データ解析の基礎から最新手法まで ~ http://www.slideshare.net/hamadakoichi/r-r-3201648 ■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)
  • 93. AGENDA ◆Random Forestとは ◆樹木モデル ◆樹木モデルとは ◆R言語での実行 ◆集団学習 ◆Random Forest ◆アルゴリズム ◆R言語での実行 ◆Mahout:Random Forest ◆参考資料