More Related Content
PDF
PDF
PDF
PDF
PDF
ImageJを使った画像解析実習〜数・形態・分布の解析〜 PDF
PPTX
PDF
What's hot
PDF
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」 PDF
PDF
漸近理論をスライド1枚で(フォローアッププログラムクラス講義07132016) PDF
PDF
PDF
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料 PDF
基礎からのベイズ統計学 輪読会資料 第4章 メトロポリス・ヘイスティングス法 PDF
PPTX
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PPTX
PDF
PPTX
PPTX
Viewers also liked
PDF
PDF
レコメンドアルゴリズムの基本と周辺知識と実装方法 PDF
Newman アルゴリズムによるソーシャルグラフのクラスタリング PDF
PDF
PDF
PDF
ロジスティック回帰の考え方・使い方 - TokyoR #33 PDF
PDF
PDF
機械学習チュートリアル@Jubatus Casual Talks PDF
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京 PPTX
PPTX
PDF
PDF
トピックモデルを用いた 潜在ファッション嗜好の推定 PDF
Kaggle bosch presentation material for Kaggle Tokyo Meetup #2 PPTX
30分でわかる『R』によるデータ分析|データアーティスト PDF
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築 PDF
はじめてでもわかるベイズ分類器 -基礎からMahout実装まで- PDF
Similar to Rによるデータサイエンス13「樹木モデル」
PDF
PDF
PDF
PDF
PDF
PDF
PDF
「樹木モデルとランダムフォレスト-機械学習による分類・予測-」-データマイニングセミナー PDF
PPTX
Interpreting Tree Ensembles with inTrees PDF
PDF
PDF
PDF
PPTX
PDF
PPTX
0610 TECH & BRIDGE MEETING PDF
PDF
PDF
第3回集合知プログラミング勉強会 #TokyoCI グループを見つけ出す PDF
Appendix document of Chapter 6 for Mining Text Data More from Takeshi Mikami
PDF
PDF
協調フィルタリング・アソシエーション分析によるレコメンド手法の紹介 PDF
MapReduceによるConnected Components(連結成分)の見つけ方 PDF
PDF
GitHubの機能を活用したGitHub Flowによる開発の進め方 PDF
rdflintのvscode拡張の紹介とその実装方法 PDF
PDF
PDF
PDF
データサイエンスアイドル「小日向美穂」と考える「つながり」 PDF
CircleCIを使ったSpringBoot/GAEアプリ開発の効率化ノウハウ PDF
HBase CompleteBulkLoadその仕組み&発生した問題 PDF
RDFのチェックツール「rdflint」とコミュニティによるオープンデータの作成 PDF
データエンジニアのお仕事、過去現在未来 / Yokohama North Meetup #12「LT新年会2026」 2026.1.15 @大倉山記念... PDF
PDF
RDFチェックツール「rdflint」のご紹介 (LODチャレンジ2019受賞作品紹介 基盤技術部門優秀賞) PDF
PDF
Spark MLlib ML Pipelines の概要 及びpysparkからの扱い方 PDF
Google Cloud Dataflowによる データ変換処理入門 PDF
アーリース情報技術株式会社 会社案内 (2019/02/13) Rによるデータサイエンス13「樹木モデル」
- 1.
Rによるデータサイエンス第13章
「樹木モデル」
テキスト「Rによるデータサイエンス」に沿って
Rでの樹木モデルの扱い方を解説します。
2011年10月22日 第18回R勉強会@東京
@takemikami
- 2.
13.1
樹木モデルとは
樹木モデルとは
• 説明変数を何らかの基準をもとに分岐させて
構築した判別・予測のモデル
• 分岐の過程を木構造で示すことが出来る
• 問題に応じた呼び方
– 判別分析:分類木・決定木
– 回帰分析:回帰木
- 3.
13.1
樹木モデルとは
判別分析の例 アヤメの品種分類
• がく片の大きさから
アヤメの品種を判別する分析
• 説明変数:がく片の大きさ
• 目的変数:アヤメの品種
setosa
vergicolor
virginica
- 4.
- 5.
13.1
樹木モデルとは
回帰分析の例 自動車の速度と停止に要する距離
• 自動車の速度から
ブレーキから停止までにかかる距離の予測
• 説明変数:自動車の速度
• 目的変数:停止までにかかる距離
速度
停止までにかかる距離
- 6.
13.1
樹木モデルとは
回帰分析の例 自動車の速度と停止に要する距離
• 自動車の速度と止まるまでの距離を木構造
で分析
- 7.
13.2
樹木モデルの基礎
樹木モデルの基礎
• 樹木モデルのアルゴリズム
– 生成・生長:分岐の方法
– 剪定:モデルの簡潔化
生成・生長
今日用いられているアルゴリズム
アルゴリズム
分岐・剪定の方法
CHAID
カイ2乗統計量、F統計量
C4.5/C5.0/See5
利得比
剪定
CART
ジニ多様性指標、情報利得
- 8.
13.2
樹木モデルの基礎
具体例 夏休み海水浴に行く・行かない①
• 風・気温から海水浴に行くかを判断
元データ
行動パターン判断結果
No
風
気温
海水浴
気温:高
気温:中
気温:低
1
弱
高
行く
風:弱
行く
行く
行かない
2
弱
低
行かない
風:強
行かない
行かない
行かない
3
弱
高
行く
4
弱
中
行く
これを樹木モデルに
5
弱
低
行かない
当てはめて考えてみる
6
弱
高
行かない
7
強
高
行かない
8
強
低
行かない
9
強
中
行かない
目的変数:海水浴行く・行かない
10
強
高
行く
説明変数:風・気温
- 9.
13.2
樹木モデルの基礎
具体例 夏休み海水浴に行く・行かない②
• ジニ係数(Gini
Index)を用いて分岐点を計算
t:ノード数 i:クラス p:比率
• 分布の不純度の尺度
値が大きいほど、不純度が高い(データがば
らついている)
- 10.
13.2
樹木モデルの基礎
具体例 夏休み海水浴に行く・行かない③
• 分岐前の状態のジニ係数を算出
No
風
気温
海水浴
1
弱
高
行く
GI(分岐前)
2
弱
低
行かない
=
1-‐[(4/10)2
+
(6/10)2]
=
0.48
3
弱
高
行く
4
弱
中
行く
5
弱
低
行かない
6
弱
高
行かない
7
強
高
行かない
8
強
低
行かない
9
強
中
行かない
10
強
高
行く
- 11.
13.2
樹木モデルの基礎
具体例 夏休み海水浴に行く・行かない④
• 風の強弱を分岐点とするジニ係数を算出
No
風
気温
海水浴
1
弱
高
行く
GI(風=弱)
2
弱
低
行かない
=
1-‐[(3/6)2
+
(3/6)2]
=
0.5
3
弱
高
行く
4
弱
中
行く
GI(風=強・弱)
5
弱
低
行かない
=
GI分岐前
6
弱
高
行かない
–
6/10GI(風=弱)
-‐
4/10(風=強)
7
強
高
行かない
=
0.032
8
強
低
行かない
GI(風=強)
9
強
中
行かない
=
1-‐[(1/4)2
+
(3/4)2]
=
0.375
10
強
高
行く
- 12.
13.2
樹木モデルの基礎
具体例 夏休み海水浴に行く・行かない⑤
• 気温の高中低を分岐点とするジニ係数算出
No
風
気温
海水浴
GI(気温=高)
1
弱
高
行く
=
1-‐[(2/5)2
+
(3/5)2]
=
0.48
2
弱
低
行かない
GI(気温=中低)
3
弱
高
行く
=
1-‐[(4/5)2
+
(1/5)2]
=
0.32
4
弱
中
行く
GI(気温=高・中低)
5
弱
低
行かない
=
GI(分岐前)
6
弱
高
行かない
-‐
GI(気温=高)-‐GI(気温=中低)
7
強
高
行かない
=
0.08
8
強
低
行かない
同様に、
9
強
中
行かない
GI(気温=中・高低)=0.05
10
強
高
行く
GI(気温=低・高中)=0.137
- 13.
13.2
樹木モデルの基礎
具体例 夏休み海水浴に行く・行かない⑥
• (最も大きい)ジニ係数から分岐点を決める
GI(風=強・弱)
=
0.032
GI(気温=高・中低)
=
0.08
GI(気温=中・高低)
=
0.05
①
GI(気温=低・高中)
=
0.137
第1ノードは気温の高中・低で分岐。
同様にして第2ノード以降も求めていく
②
気温:高
気温:中
気温:低
風:弱
行かない
行かない
行かない
②
風:強
行く
行く
行かない
①
- 14.
13.3.2
分類木
分類木で使用するデータ
• がく片の大きさとアヤメの品種の対応データ
(説明変数)
がく片の大きさ
(目的変数)
アヤメの品種
アヤメの品種種別
データ50件づつ
- 15.
13.3.2
分類木
分類木 (1)木の生成①
• がく片の大きさからアヤメの品種を判別する
分類木を生成
- 16.
13.3.2
分類木
分類木 (1)木の生成②
ライブラリ読込。事前に
install.packages(“mvpart”)
の実行が必要
乱数の初期化
※後述する交差確認法の
結果を固定するため
分類木の生成
入力データ:iris
目的変数:SpeciesC
分類条件
該当値
構成比
ノードの 非該当
データ数
データ数
- 17.
13.3.2
分類木
分類木 (1)木の生成③
1)
3)
2)
6)
7)
12)
13)
分類木の描画
ラベル・グラフの描画
- 18.
13.3.2
分類木
分類木 (2)木の剪定①
• 交差確認法(cross
valida[on)の結果から、剪
定基準を判断
Min+1SE法:
交差確認法の結果
xerror最小値を中心とした標準偏差の1倍
範囲内の最大error値を基準
基準のxerror値
→0.10+0.030551
=
0.130551
目安の複雑度
- 19.
13.3.2
分類木
分類木 (2)木の剪定②
• 目安の複雑度を用いて剪定
目安の複雑度で剪定
分類木描画(下)
複雑度描画(右)
- 20.
13.3.2
分類木
分類木 (3)判別①
• (未知データの判別を想定して、)モデル作成
に用いていないデータを用意し、予測する
– 奇数行データ:学習用→モデル作成に使用
– 偶数行データ:テスト用→判別に使用
- 21.
13.3.2
分類木
分類木 (3)判別②
偶数行・奇数行
でデータ分割
学習データで
複雑度を表示(右)
分類木生成
予測・判別を実施
剪定の必要なしと
判断
- 22.
13.3.3
回帰木
回帰木で使用するデータ
• 自動車の速度とブレーキから停止までにかか
る距離のデータ
(説明変数)
速度
(目的変数)
停止までの距離
- 23.
13.3.3
回帰木
回帰木
(1)回帰木の生成①
• 自動車の速度からブレーキから停止までに
かかる距離の予測
- 24.
13.3.3
回帰木
回帰木
(1)回帰木の生成②
回帰木の生成
目的変数:dist
分類条件
ノードの 実測値
尤離度
データ数
- 25.
13.3.3
回帰木
回帰木
(2)回帰木の剪定①
• 選定基準の判断および剪定
目安の複雑度を確認(右)
目安の
複雑度で剪定
- 26.
13.3.4
多変量回帰木
多変量回帰木で使用するデータ
• 「蜘蛛の種類」と「蜘蛛狩りの環境」の分布
データ
(目的変数)
(説明変数)
蜘蛛の種類と数
蜘蛛狩りの環境
- 27.
13.3.4
多変量回帰木
多変量回帰木
(2)解析と結果①
多変量回帰木:
目的変数が複数ある回帰木
説明変数:蜘蛛狩りの環境
目的変数:蜘蛛の種類の分布
として多変量回帰木を生成
- 28.
- 29.
13.4
補遺
パッケージ:tree①
事前に
折れ線回帰図
install.packages(”tree”);
の実行が必要
折れ線回帰図の描画
- 30.
- 31.
13.4
補遺
パッケージ:Rweka①
事前に
install.packages("RWeka",
dependencies=TRUE);
の実行が必要
C4.5のアルゴリズムによる
分類木の生成
- 32.
13.4
補遺
パッケージ:Rweka②
事前に
install.packages(”party",
dependencies=TRUE);
library(party)
の実行が必要
- 33.
13.4
補遺
パッケージ:Rweka③
箱ひげ図の描画(左)
棒グラフの描画(右)