Suche senden
Hochladen
Rによる分類木 入門
•
16 gefällt mir
•
10,997 views
Hiro47
Folgen
アウトライン雑です
Weniger lesen
Mehr lesen
Daten & Analysen
Technologie
Business
Melden
Teilen
Melden
Teilen
1 von 28
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
R Study Tokyo03
R Study Tokyo03
Yohei Sato
星野「調査観察データの統計科学」第3章
星野「調査観察データの統計科学」第3章
Shuyo Nakatani
PRML 4.1 Discriminant Function
PRML 4.1 Discriminant Function
Shintaro Takemura
Rでのtry関数によるエラー処理
Rでのtry関数によるエラー処理
wada, kazumi
パターン認識 第10章 決定木
パターン認識 第10章 決定木
Miyoshi Yuya
機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門
hoxo_m
心理学のためのPsychパッケージ
心理学のためのPsychパッケージ
考司 小杉
星野「調査観察データの統計科学」第1&2章
星野「調査観察データの統計科学」第1&2章
Shuyo Nakatani
Empfohlen
R Study Tokyo03
R Study Tokyo03
Yohei Sato
星野「調査観察データの統計科学」第3章
星野「調査観察データの統計科学」第3章
Shuyo Nakatani
PRML 4.1 Discriminant Function
PRML 4.1 Discriminant Function
Shintaro Takemura
Rでのtry関数によるエラー処理
Rでのtry関数によるエラー処理
wada, kazumi
パターン認識 第10章 決定木
パターン認識 第10章 決定木
Miyoshi Yuya
機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門
hoxo_m
心理学のためのPsychパッケージ
心理学のためのPsychパッケージ
考司 小杉
星野「調査観察データの統計科学」第1&2章
星野「調査観察データの統計科学」第1&2章
Shuyo Nakatani
はじめよう多変量解析~主成分分析編~
はじめよう多変量解析~主成分分析編~
宏喜 佐野
MCMCによるベイズ因子分析法について
MCMCによるベイズ因子分析法について
考司 小杉
Stan超初心者入門
Stan超初心者入門
Hiroshi Shimizu
無限関係モデル (続・わかりやすいパターン認識 13章)
無限関係モデル (続・わかりやすいパターン認識 13章)
Shuyo Nakatani
負の二項分布について
負の二項分布について
Hiroshi Shimizu
グラフィカル Lasso を用いた異常検知
グラフィカル Lasso を用いた異常検知
Yuya Takashina
最低6回は見よ
最低6回は見よ
Toshiyuki Shimono
ノンパラベイズ入門の入門
ノンパラベイズ入門の入門
Shuyo Nakatani
Cmdstanr入門とreduce_sum()解説
Cmdstanr入門とreduce_sum()解説
Hiroshi Shimizu
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
Ken'ichi Matsui
【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル
【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル
Masashi Komori
Rで因子分析 商用ソフトで実行できない因子分析のあれこれ
Rで因子分析 商用ソフトで実行できない因子分析のあれこれ
Hiroshi Shimizu
03 「重回帰分析」の入門
03 「重回帰分析」の入門
Shuhei Ichikawa
最適化計算の概要まとめ
最適化計算の概要まとめ
Yuichiro MInato
Rパッケージ“KFAS”を使った時系列データの解析方法
Rパッケージ“KFAS”を使った時系列データの解析方法
Hiroki Itô
Rで潜在ランク分析
Rで潜在ランク分析
Hiroshi Shimizu
パターン認識第9章 学習ベクトル量子化
パターン認識第9章 学習ベクトル量子化
Miyoshi Yuya
PRML 3.5.2, 3.5.3, 3.6
PRML 3.5.2, 3.5.3, 3.6
Kohei Tomita
PRML輪読#3
PRML輪読#3
matsuolab
Stanの便利な事後処理関数
Stanの便利な事後処理関数
daiki hojo
Listを串刺し
Listを串刺し
Yoshiteru Kamiyama
【Unity道場】ゲーム制作に使う数学を学習しよう
【Unity道場】ゲーム制作に使う数学を学習しよう
Unity Technologies Japan K.K.
Weitere ähnliche Inhalte
Was ist angesagt?
はじめよう多変量解析~主成分分析編~
はじめよう多変量解析~主成分分析編~
宏喜 佐野
MCMCによるベイズ因子分析法について
MCMCによるベイズ因子分析法について
考司 小杉
Stan超初心者入門
Stan超初心者入門
Hiroshi Shimizu
無限関係モデル (続・わかりやすいパターン認識 13章)
無限関係モデル (続・わかりやすいパターン認識 13章)
Shuyo Nakatani
負の二項分布について
負の二項分布について
Hiroshi Shimizu
グラフィカル Lasso を用いた異常検知
グラフィカル Lasso を用いた異常検知
Yuya Takashina
最低6回は見よ
最低6回は見よ
Toshiyuki Shimono
ノンパラベイズ入門の入門
ノンパラベイズ入門の入門
Shuyo Nakatani
Cmdstanr入門とreduce_sum()解説
Cmdstanr入門とreduce_sum()解説
Hiroshi Shimizu
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
Ken'ichi Matsui
【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル
【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル
Masashi Komori
Rで因子分析 商用ソフトで実行できない因子分析のあれこれ
Rで因子分析 商用ソフトで実行できない因子分析のあれこれ
Hiroshi Shimizu
03 「重回帰分析」の入門
03 「重回帰分析」の入門
Shuhei Ichikawa
最適化計算の概要まとめ
最適化計算の概要まとめ
Yuichiro MInato
Rパッケージ“KFAS”を使った時系列データの解析方法
Rパッケージ“KFAS”を使った時系列データの解析方法
Hiroki Itô
Rで潜在ランク分析
Rで潜在ランク分析
Hiroshi Shimizu
パターン認識第9章 学習ベクトル量子化
パターン認識第9章 学習ベクトル量子化
Miyoshi Yuya
PRML 3.5.2, 3.5.3, 3.6
PRML 3.5.2, 3.5.3, 3.6
Kohei Tomita
PRML輪読#3
PRML輪読#3
matsuolab
Stanの便利な事後処理関数
Stanの便利な事後処理関数
daiki hojo
Was ist angesagt?
(20)
はじめよう多変量解析~主成分分析編~
はじめよう多変量解析~主成分分析編~
MCMCによるベイズ因子分析法について
MCMCによるベイズ因子分析法について
Stan超初心者入門
Stan超初心者入門
無限関係モデル (続・わかりやすいパターン認識 13章)
無限関係モデル (続・わかりやすいパターン認識 13章)
負の二項分布について
負の二項分布について
グラフィカル Lasso を用いた異常検知
グラフィカル Lasso を用いた異常検知
最低6回は見よ
最低6回は見よ
ノンパラベイズ入門の入門
ノンパラベイズ入門の入門
Cmdstanr入門とreduce_sum()解説
Cmdstanr入門とreduce_sum()解説
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル
【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル
Rで因子分析 商用ソフトで実行できない因子分析のあれこれ
Rで因子分析 商用ソフトで実行できない因子分析のあれこれ
03 「重回帰分析」の入門
03 「重回帰分析」の入門
最適化計算の概要まとめ
最適化計算の概要まとめ
Rパッケージ“KFAS”を使った時系列データの解析方法
Rパッケージ“KFAS”を使った時系列データの解析方法
Rで潜在ランク分析
Rで潜在ランク分析
パターン認識第9章 学習ベクトル量子化
パターン認識第9章 学習ベクトル量子化
PRML 3.5.2, 3.5.3, 3.6
PRML 3.5.2, 3.5.3, 3.6
PRML輪読#3
PRML輪読#3
Stanの便利な事後処理関数
Stanの便利な事後処理関数
Ähnlich wie Rによる分類木 入門
Listを串刺し
Listを串刺し
Yoshiteru Kamiyama
【Unity道場】ゲーム制作に使う数学を学習しよう
【Unity道場】ゲーム制作に使う数学を学習しよう
Unity Technologies Japan K.K.
[TL06] 日本の第一人者が C# の現状と今後を徹底解説! 「この素晴らしい C# に祝福を!」
[TL06] 日本の第一人者が C# の現状と今後を徹底解説! 「この素晴らしい C# に祝福を!」
de:code 2017
20140920 tokyo r43
20140920 tokyo r43
Takashi Kitano
東京都市大学 データ解析入門 2 行列分解 1
東京都市大学 データ解析入門 2 行列分解 1
hirokazutanaka
CRC-32
CRC-32
7shi
一般化線形混合モデル isseing333
一般化線形混合モデル isseing333
Issei Kurahashi
Rで学ぶロバスト推定
Rで学ぶロバスト推定
Shintaro Fukushima
R_note_02_ver1.0
R_note_02_ver1.0
Satoshi Kume
K060 中心極限定理clt
K060 中心極限定理clt
t2tarumi
Bee Style:vol.039
Bee Style:vol.039
Tsuyoshi Horigome
条件分岐とcmovとmaxps
条件分岐とcmovとmaxps
MITSUNARI Shigeo
LLVM最適化のこつ
LLVM最適化のこつ
MITSUNARI Shigeo
Casual learning machine learning with_excel_no5
Casual learning machine learning with_excel_no5
KazuhiroSato8
CheckMATE 実習
CheckMATE 実習
Yoshitaro Takaesu
Rで学ぶ逆変換(逆関数)法
Rで学ぶ逆変換(逆関数)法
Nagi Teramo
「ランダムフォレスト回帰」のハイパーパラメーター
「ランダムフォレスト回帰」のハイパーパラメーター
Jun Umezawa
Lotus DEvCon 2000 - LotusScript Tips and Techniques
Lotus DEvCon 2000 - LotusScript Tips and Techniques
Hiroaki Komine
入門機械学習読書会9章
入門機械学習読書会9章
Kazufumi Ohkawa
テーマ「最適化」
テーマ「最適化」
technocat
Ähnlich wie Rによる分類木 入門
(20)
Listを串刺し
Listを串刺し
【Unity道場】ゲーム制作に使う数学を学習しよう
【Unity道場】ゲーム制作に使う数学を学習しよう
[TL06] 日本の第一人者が C# の現状と今後を徹底解説! 「この素晴らしい C# に祝福を!」
[TL06] 日本の第一人者が C# の現状と今後を徹底解説! 「この素晴らしい C# に祝福を!」
20140920 tokyo r43
20140920 tokyo r43
東京都市大学 データ解析入門 2 行列分解 1
東京都市大学 データ解析入門 2 行列分解 1
CRC-32
CRC-32
一般化線形混合モデル isseing333
一般化線形混合モデル isseing333
Rで学ぶロバスト推定
Rで学ぶロバスト推定
R_note_02_ver1.0
R_note_02_ver1.0
K060 中心極限定理clt
K060 中心極限定理clt
Bee Style:vol.039
Bee Style:vol.039
条件分岐とcmovとmaxps
条件分岐とcmovとmaxps
LLVM最適化のこつ
LLVM最適化のこつ
Casual learning machine learning with_excel_no5
Casual learning machine learning with_excel_no5
CheckMATE 実習
CheckMATE 実習
Rで学ぶ逆変換(逆関数)法
Rで学ぶ逆変換(逆関数)法
「ランダムフォレスト回帰」のハイパーパラメーター
「ランダムフォレスト回帰」のハイパーパラメーター
Lotus DEvCon 2000 - LotusScript Tips and Techniques
Lotus DEvCon 2000 - LotusScript Tips and Techniques
入門機械学習読書会9章
入門機械学習読書会9章
テーマ「最適化」
テーマ「最適化」
Rによる分類木 入門
1.
による分類木 入門
2.
による分類木 入門 ※いろいろなサイト・本を 自分なりにまとめてみました。
3.
What’s classification tree? •
結果を分類するためにそのほかの値を見比べ、 最もきれいに2分割できる条件を探していく手 法 • 分岐の過程を図示することができるため, 分析結果の可読性が高い • 分類木と回帰木がある 3
4.
生成・生長 剪定 枝を伸ばす いらない枝を切り落とす What’s
classification tree?
5.
生成・生長 剪定 枝を伸ばす いらない枝を切り落とす What’s
classification tree?
6.
Example… 商品を サイズ 色
見た回数 買った M 普通 10 買った L 好き 5 買わない M 嫌い 3 買った M 好き 6 買わない L 好き 3 買わない M 普通 10 買わない M 嫌い 4 買った L 好き 6 目的変数がカテゴリカル(質的)な場合 6
7.
Example… 生成・生長 7
8.
・今回はCART(Classification And Regression
Trees)という 目的変数を2つの集合に分岐させる方法を紹介する ・具体的にはジニ係数(GI : Gini index)やエントロピー(entropy) という分類の不純度を計算する How to classify. 8
9.
10.
Example… 商品を サイズ 色
見た回数 買った M 普通 10 買った L 好き 5 買わない M 嫌い 3 買った M 好き 6 買わない L 好き 3 買わない M 普通 10 買わない M 嫌い 4 買った L 好き 6 目的変数がカテゴリカル(質的)な場合 10
11.
ex.) M L 好き
普通・嫌い 色 4.5 <4.5 見た回数 ジニ係数(不純度)の一番低い分岐点を採用 データ 買った 買わない 説明変数 サイズ ジニ係数 0.48 0.375 0.375 0.32 0.00.44 0.465 0.375 0.2 加重平均 加重平均 加重平均 11
12.
生成・生長 剪定 枝を伸ばす いらない枝を切り落とす What’s
classification tree?
13.
つまり っていう枝を探すってこと
14.
交差検証法(cross validation) How to
prune? ⑴データをテストデータと トレーニングデータに分ける ⑵トレーニングデータだけで モデルをつくる ⑶できたモデルとテストデータを比較し、 答え合わせをして、精度を求める ⑷⑴〜⑶をn回繰り返し、平均する 14
15.
交差検証法(cross validation) How to
prune? ⑴データをテストデータと トレーニングデータに分ける ⑵トレーニングデータだけで モデルをつくる ⑶できたモデルとテストデータを比較し、 答え合わせをして、精度を求める ⑷⑴〜⑶をn回繰り返し、平均する これを各ノードで行い、 制度の低いところを剪定する 15
16.
Demonstration with 16
17.
① ③② ⑥ ⑦ ⑫ ⑬ >
library(mvpart) > # 決定木のplot > iris.rp <-‐ rpart(Species~., data=iris) > iris.rp n= 150 node), split, n, loss, yval, (yprob) * denotes terminal node 1) root 150 100 setosa (0.33333333 0.33333333 0.33333333) 2) Petal.Length< 2.45 50 0 setosa (1.00000000 0.00000000 0.00000000) * 3) Petal.Length>=2.45 100 50 versicolor (0.00000000 0.50000000 0.50000000) 6) Petal.Width< 1.75 54 5 versicolor (0.00000000 0.90740741 0.09259259) 12) Petal.Length< 4.95 48 1 versicolor (0.00000000 0.97916667 0.02083333) * 13) Petal.Length>=4.95 6 2 virginica (0.00000000 0.33333333 0.66666667) * 7) Petal.Width>=1.75 46 1 virginica (0.00000000 0.02173913 0.97826087) * > plot(iris.rp,uniform=T,branch=0.6,margin=0) > text(iris.rp,uniform=T,use.n=T,all=T) 剪定前 17
18.
もう少しシンプルにきれいにしたかったら・・・ > library(partykit) >
plot(as.party(iris.rp),uniform=T,branch=0.6,margin=0.5) 18
19.
過学習してないか調べる > printcp(iris.rp)
Classification tree: rpart(formula = Species ~ ., data = iris) Variables actually used in tree construction: [1] Petal.Length Petal.Width Root node error: 100/150 = 0.66667 n= 150 CP nsplit rel error xerror xstd 1 0.50 0 1.00 1.21 0.048367 2 0.44 1 0.50 0.74 0.061232 3 0.02 2 0.06 0.11 0.031927 4 0.01 3 0.04 0.11 0.031927 > plotcp(iris.rp) 19
20.
過学習してないか調べる > printcp(iris.rp)
Classification tree: rpart(formula = Species ~ ., data = iris) Variables actually used in tree construction: [1] Petal.Length Petal.Width Root node error: 100/150 = 0.66667 n= 150 CP nsplit rel error xerror xstd 1 0.50 0 1.00 1.21 0.048367 2 0.44 1 0.50 0.74 0.061232 3 0.02 2 0.06 0.11 0.031927 4 0.01 3 0.04 0.11 0.031927 > plotcp(iris.rp) 20
21.
CP nsplit rel
error xerror xstd 1 0.50 0 1.00 1.21 0.048367 2 0.44 1 0.50 0.74 0.061232 3 0.02 2 0.06 0.11 0.031927 4 0.01 3 0.04 0.11 0.031927 21
22.
CP nsplit rel
error xerror xstd 1 0.50 0 1.00 1.21 0.048367 2 0.44 1 0.50 0.74 0.061232 3 0.02 2 0.06 0.11 0.031927 4 0.01 3 0.04 0.11 0.031927 22
23.
CP nsplit rel
error xerror xstd 1 0.50 0 1.00 1.21 0.048367 2 0.44 1 0.50 0.74 0.061232 3 0.02 2 0.06 0.11 0.031927 4 0.01 3 0.04 0.11 0.031927 23
24.
CP nsplit rel
error xerror xstd 1 0.50 0 1.00 1.21 0.048367 2 0.44 1 0.50 0.74 0.061232 3 0.02 2 0.06 0.11 0.031927 4 0.01 3 0.04 0.11 0.031927 どちらかの 値で剪定 24
25.
① ③② ⑥ ⑦> iris.rp2_1
<-‐ prune(iris.rp,cp=0.02) > iris.rp2_1 n= 150 node), split, n, loss, yval, (yprob) * denotes terminal node 1) root 150 100 setosa (0.33333333 0.33333333 0.33333333) 2) Petal.Length< 2.45 50 0 setosa (1.00000000 0.00000000 0.00000000) * 3) Petal.Length>=2.45 100 50 versicolor (0.00000000 0.50000000 0.50000000) 6) Petal.Width< 1.75 54 5 versicolor (0.00000000 0.90740741 0.09259259) * 7) Petal.Width>=1.75 46 1 virginica (0.00000000 0.02173913 0.97826087) * > plot(iris.rp2_1,uniform=T,branch=0.6,margin=0) > text(iris.rp2_1,uniform=T,use.n=T,all=T) 剪定後 25
26.
① ③② ⑥ ⑦> iris.rp2_2
<-‐ prune(iris.rp,cp=0.094) > iris.rp2_2 n= 150 node), split, n, loss, yval, (yprob) * denotes terminal node 1) root 150 100 setosa (0.33333333 0.33333333 0.33333333) 2) Petal.Length< 2.45 50 0 setosa (1.00000000 0.00000000 0.00000000) * 3) Petal.Length>=2.45 100 50 versicolor (0.00000000 0.50000000 0.50000000) 6) Petal.Width< 1.75 54 5 versicolor (0.00000000 0.90740741 0.09259259) * 7) Petal.Width>=1.75 46 1 virginica (0.00000000 0.02173913 0.97826087) * > plot(iris.rp2_2,uniform=T,branch=0.6,margin=0) > text(iris.rp2_2,uniform=T,use.n=T,all=T) 剪定後 26
27.
上と下の剪定基準値の間に両方あるから 結局、結果は同じ・・・ 27※詳細はよくわかりません m(_ _)m
28.
分類木の精度を測りたいなら・・・ 28 最後に > iris.tre <-‐
iris[2*(1:75)-‐1,] # 奇数行 > iris.test <-‐ iris[-‐(2*(1:75)-‐1),] # 偶数行 # 奇数行だけで分類木の生成 > iris.tre <-‐ rpart(Species~., data=iris.tre,method="class") > pred <-‐ predict(iris.tre, iris.test, type="class") # 偶数行でテストしてみる > table(pred, iris.test$Species) pred setosa versicolor virginica setosa 25 0 0 versicolor 0 24 3 virginica 0 1 22
Jetzt herunterladen