SlideShare une entreprise Scribd logo
1  sur  21
Télécharger pour lire hors ligne
決定木学習
下畑光夫
2014.6.18
決定木学習とは
 目的変数と説明変数のデータから木構造の分類器を生成
 トップダウンに、再帰的に、データを分割していく
2
生成手順①: 分割
3
天気 気温 湿度 風
最初はデータ全体について
説明変数で様々な分割を試す
基本は2分割
晴れ 曇り 雨 強い 弱い18~29 65~96
生成手順②: 分割基準
4
天気 気温 湿度 風
晴れ 曇り 雨 強い 弱い18~29 65~96
分割基準 対応ツール
Information Gain C4.5
Gini係数 CART
検定統計量 CHAID
分割した2つのデータについて
右の指標のいずれかを計算し、
もっとも分類能力の高い分割を採用
生成手順③: 再帰的分割
 分割されたサブデータに対し、同じ分割処理を施していく
 停止条件に達するまで分割を行う
 多くの場合、木が育ちすぎるので、刈り込み(pruning)を行う
5
「晴れ」データだけに対して
分割処理
「雨」データだけに対して
分割処理
Irisに決定木学習
6
Versicolor
Virginica
Setosa
決定木学習の特徴
7
可読性が高い = 後編集も容易
説明、目的変数とも連続値、カテゴリ値、順序尺度を設定可能
データの分布の型を問わない
外れ値に対して頑健
長所
短所
分類性能が高い手法ではない (SVMの方がよいといわれる)
木が過度に分岐することが多い = 過学習、オーバーフィッティング
(学習設定や刈り込みが必要)
データが少し変わるだけで全く違う木が生成されることがある(不安定)
線形性のあるデータには適していない
XORの分類はできない ・・・ 2変数の同時利用ができない
線形性のあるデータに決定木学習
8
※ "cars"データにmvpartを適用
あまり適しているとはいえない・・・
線形性があるデータは回帰モデルのほうが妥当
9
dist = 3.93 × speed - 17.6
決定木学習はXORの分類が不能
10
XOR
Y
X
x > 0 & y > 0
が表現できれば・・・
決定木学習はよく使われている (1)
11
1 C4.5
2 K-Means
3 Support Vector Machine
4 Apriori
5 EM
6 PageRank
7 AdaBoost
8 kNN
9 Naive Bayes
10 CART IEEE ICDM, 2006
Data Miningで使われるTop10アルゴリズム
決定木学習は1位と10位に入っている
決定木学習はよく使われている (2)
12http://www.kdnuggets.com/polls/2011/algorithms-analytics-data-mining.html
例題
 架空のテストマーケティング調査 (乱数で作成)
 対象都市: 東京、大阪、高知 カテゴリ変数
 対象年代: 20代, 30代, 40代, 50代, 60代 順序変数
 対象性別: 男性、女性 カテゴリ変数
 調査内容:「この商品を買いますか?」
※ 東京で、女性で、若いほど買う傾向が高くなるように仕込み
 有望なセグメントを判別したい
13
各項目での買う・買わないの集計表
14
女性ほど買う
若いほど買う ・・・【論点】どの年代で2分するといいのか?
大都市ほど買う ・・・【論点】都市をどう2分するといいのか?
男性 女性
020406080
東京 大阪 高知
020406080
20代 30代 40代 50代 60代
020406080
20代 30代 40代 50代 60代
020406080
「年代」での決定木(順序尺度)
15
20代,30代 40代,50代,60代
O
74/46
X
43/137
年代
20,30代と40,50,60代の2つに分けると
買う・買わないが最も偏るよう分類される
東京 大阪 高知
020406080
「住所」での決定木(カテゴリ値)
16
O
67/33
X
50/150
住所
東京 高知,大阪
「東京」と「大阪、高知」の2つに分けると
買う・買わないが最も偏るよう分類される
全項目の組み合わせでの買う・買わないを考える
17
購買傾向をORで結合すると・・・ 女性 or 20代 or 東京 広すぎ
購買傾向をANDで結合すると・・・ 女性 and 20代 and 東京 絞りすぎ・妥当?
男性 女性
020406080
東京 大阪 高知
020406080
20代 30代 40代 50代 60代020406080
ANDとORをどう組み合わせると有望セグメントが見つかるか?
全変数を用いた決定木
18
女性
東京
東京
男性
高知,大阪
高知,大阪
O
53/7
O
26/4
X
12/48
O
22/8
X
0/20
X
4/96
性別
住所年代
年代住所
①
③②
① 女性 & 20,30代 購入率:88.3%
② 女性 & 40,50,60代 & 東京 購入率:86.7%
③ 男性 & 東京&20,30,40代 購入率:73.3%
有望セグメント・・・(購入率 > 50%)
20代,30代 40代,50代,60代
20代,30代,40代 50代,60代
発展編(1)・・・決定木学習+アンサンブル学習
 多数の決定木を作成し、多数決や平均により結果を算出する
 ブースティング: 誤判定したデータを加重して次の決定木を作成。これを反復
 ブートストラップ: データをサンプリングし、それぞれのデータから決定木を作成
 性能向上+頑健性向上
19
ブートストラップ方式の
RandomForestの概要図
発展編(2) ・・・ハイブリッド型決定木
決定木学習と回帰分析の組み合わせ
20
ptratio
p < 0.001
1
20.1 20.1
tax
p < 0.001
2
265 265
Node 3 (n = 84)
3.1 9.3
1
54
Node 4 (n = 226)
3.1 9.3
1
54
nox
p < 0.001
5
0.668 0.668
Node 6 (n = 111)
3.1 9.3
1
54
Node 7 (n = 85)
3.1 9.3
1
54
4 5 6 7 8
1020304050
Boston$rm
Boston$medv
※ 決定係数=0.4835
決定係数 0.86 0.78 0.06 0.03
傾き 11.9 10.0 3.50 1.22
異なる回帰モデルになるようにデータを分割
データ全体
(Bostonの住宅価格と部屋数の分布)
21

Contenu connexe

Tendances

Tendances (20)

「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料 「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
 
一般化線形モデル (GLM) & 一般化加法モデル(GAM)
一般化線形モデル (GLM) & 一般化加法モデル(GAM) 一般化線形モデル (GLM) & 一般化加法モデル(GAM)
一般化線形モデル (GLM) & 一般化加法モデル(GAM)
 
Bayesian Neural Networks : Survey
Bayesian Neural Networks : SurveyBayesian Neural Networks : Survey
Bayesian Neural Networks : Survey
 
スパースモデリング入門
スパースモデリング入門スパースモデリング入門
スパースモデリング入門
 
機械学習モデルのハイパパラメータ最適化
機械学習モデルのハイパパラメータ最適化機械学習モデルのハイパパラメータ最適化
機械学習モデルのハイパパラメータ最適化
 
ベータ分布の謎に迫る
ベータ分布の謎に迫るベータ分布の謎に迫る
ベータ分布の謎に迫る
 
クラシックな機械学習入門:付録:よく使う線形代数の公式
クラシックな機械学習入門:付録:よく使う線形代数の公式クラシックな機械学習入門:付録:よく使う線形代数の公式
クラシックな機械学習入門:付録:よく使う線形代数の公式
 
トピックモデルの基礎と応用
トピックモデルの基礎と応用トピックモデルの基礎と応用
トピックモデルの基礎と応用
 
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
 
階層モデルの分散パラメータの事前分布について
階層モデルの分散パラメータの事前分布について階層モデルの分散パラメータの事前分布について
階層モデルの分散パラメータの事前分布について
 
GEE(一般化推定方程式)の理論
GEE(一般化推定方程式)の理論GEE(一般化推定方程式)の理論
GEE(一般化推定方程式)の理論
 
pymcとpystanでベイズ推定してみた話
pymcとpystanでベイズ推定してみた話pymcとpystanでベイズ推定してみた話
pymcとpystanでベイズ推定してみた話
 
第4回DARM勉強会 (構造方程式モデリング)
第4回DARM勉強会 (構造方程式モデリング)第4回DARM勉強会 (構造方程式モデリング)
第4回DARM勉強会 (構造方程式モデリング)
 
強化学習その1
強化学習その1強化学習その1
強化学習その1
 
質的変数の相関・因子分析
質的変数の相関・因子分析質的変数の相関・因子分析
質的変数の相関・因子分析
 
正準相関分析
正準相関分析正準相関分析
正準相関分析
 
統計的学習の基礎_3章
統計的学習の基礎_3章統計的学習の基礎_3章
統計的学習の基礎_3章
 
StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章
StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章
StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章
 
トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?
 
機械学習モデルの判断根拠の説明
機械学習モデルの判断根拠の説明機械学習モデルの判断根拠の説明
機械学習モデルの判断根拠の説明
 

En vedette

機会学習ハッカソン:ランダムフォレスト
機会学習ハッカソン:ランダムフォレスト機会学習ハッカソン:ランダムフォレスト
機会学習ハッカソン:ランダムフォレスト
Teppei Baba
 
はじめてでもわかるベイズ分類器 -基礎からMahout実装まで-
はじめてでもわかるベイズ分類器 -基礎からMahout実装まで-はじめてでもわかるベイズ分類器 -基礎からMahout実装まで-
はじめてでもわかるベイズ分類器 -基礎からMahout実装まで-
Naoki Yanai
 
パターン認識 第10章 決定木
パターン認識 第10章 決定木 パターン認識 第10章 決定木
パターン認識 第10章 決定木
Miyoshi Yuya
 
ロジスティック回帰の考え方・使い方 - TokyoR #33
ロジスティック回帰の考え方・使い方 - TokyoR #33ロジスティック回帰の考え方・使い方 - TokyoR #33
ロジスティック回帰の考え方・使い方 - TokyoR #33
horihorio
 
Simple perceptron by TJO
Simple perceptron by TJOSimple perceptron by TJO
Simple perceptron by TJO
Takashi J OZAKI
 
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 Talks
Yuya Unno
 
Rによるデータサイエンス13「樹木モデル」
Rによるデータサイエンス13「樹木モデル」Rによるデータサイエンス13「樹木モデル」
Rによるデータサイエンス13「樹木モデル」
Takeshi Mikami
 

En vedette (20)

機会学習ハッカソン:ランダムフォレスト
機会学習ハッカソン:ランダムフォレスト機会学習ハッカソン:ランダムフォレスト
機会学習ハッカソン:ランダムフォレスト
 
はじめてでもわかるベイズ分類器 -基礎からMahout実装まで-
はじめてでもわかるベイズ分類器 -基礎からMahout実装まで-はじめてでもわかるベイズ分類器 -基礎からMahout実装まで-
はじめてでもわかるベイズ分類器 -基礎からMahout実装まで-
 
今日から使える! みんなのクラスタリング超入門
今日から使える! みんなのクラスタリング超入門今日から使える! みんなのクラスタリング超入門
今日から使える! みんなのクラスタリング超入門
 
SVMについて
SVMについてSVMについて
SVMについて
 
パターン認識 第10章 決定木
パターン認識 第10章 決定木 パターン認識 第10章 決定木
パターン認識 第10章 決定木
 
トピックモデルを用いた 潜在ファッション嗜好の推定
トピックモデルを用いた 潜在ファッション嗜好の推定トピックモデルを用いた 潜在ファッション嗜好の推定
トピックモデルを用いた 潜在ファッション嗜好の推定
 
一般向けのDeep Learning
一般向けのDeep Learning一般向けのDeep Learning
一般向けのDeep Learning
 
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
 
ロジスティック回帰の考え方・使い方 - TokyoR #33
ロジスティック回帰の考え方・使い方 - TokyoR #33ロジスティック回帰の考え方・使い方 - TokyoR #33
ロジスティック回帰の考え方・使い方 - TokyoR #33
 
Simple perceptron by TJO
Simple perceptron by TJOSimple perceptron by TJO
Simple perceptron by TJO
 
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築
 
機械学習チュートリアル@Jubatus Casual Talks
機械学習チュートリアル@Jubatus Casual Talks機械学習チュートリアル@Jubatus Casual Talks
機械学習チュートリアル@Jubatus Casual Talks
 
機械学習によるデータ分析まわりのお話
機械学習によるデータ分析まわりのお話機械学習によるデータ分析まわりのお話
機械学習によるデータ分析まわりのお話
 
Pythonとdeep learningで手書き文字認識
Pythonとdeep learningで手書き文字認識Pythonとdeep learningで手書き文字認識
Pythonとdeep learningで手書き文字認識
 
scikit-learnを用いた機械学習チュートリアル
scikit-learnを用いた機械学習チュートリアルscikit-learnを用いた機械学習チュートリアル
scikit-learnを用いた機械学習チュートリアル
 
Rによるデータサイエンス13「樹木モデル」
Rによるデータサイエンス13「樹木モデル」Rによるデータサイエンス13「樹木モデル」
Rによるデータサイエンス13「樹木モデル」
 
Pythonで機械学習入門以前
Pythonで機械学習入門以前Pythonで機械学習入門以前
Pythonで機械学習入門以前
 
ルールベースから機械学習への道 公開用
ルールベースから機械学習への道 公開用ルールベースから機械学習への道 公開用
ルールベースから機械学習への道 公開用
 
30分でわかる『R』によるデータ分析|データアーティスト
30分でわかる『R』によるデータ分析|データアーティスト30分でわかる『R』によるデータ分析|データアーティスト
30分でわかる『R』によるデータ分析|データアーティスト
 
実戦投入する機械学習
実戦投入する機械学習実戦投入する機械学習
実戦投入する機械学習
 

決定木学習