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

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

on

  • 14,797 views

「樹木モデルとランダムフォレスト(Tree-based Models and Random Forest) -機械学習による分類・予測-」。 Tree-based Model, Random Forest ...

「樹木モデルとランダムフォレスト(Tree-based Models and Random Forest) -機械学習による分類・予測-」。 Tree-based Model, Random Forest の入門的な内容です。機械学習・データマイニングセミナー 2010/10/07 。 hamadakoichi 濱田晃一

Statistics

Views

Total Views
14,797
Views on SlideShare
11,738
Embed Views
3,059

Actions

Likes
22
Downloads
0
Comments
0

10 Embeds 3,059

http://d.hatena.ne.jp 2994
https://twitter.com 27
http://s.deeeki.com 26
http://webcache.googleusercontent.com 4
http://192.168.33.10 2
https://si0.twimg.com 2
http://cache.yahoofs.jp 1
http://search.yahoo.co.jp 1
http://dimlau-px.appspot.com 1
http://slideshare-download.seesaa.net 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

  • データマイニングセミナー 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/Recommendationhttp://www.slideshare.net/hamadakoichi/mahoutweb http://www.slideshare.net/karubi/web-mining-0620http://www.slideshare.net/yanaoki/hadoop-4113186 http://www.slideshare.net/hamadakoichi/ss-4552939
  • ご清聴ありがとうございました 92
  • AGENDA ◆Random Forestとは ◆樹木モデル ◆樹木モデルとは ◆R言語での実行 ◆集団学習 ◆Random Forest ◆アルゴリズム ◆R言語での実行 ◆Mahout:Random Forest ◆参考資料