Your SlideShare is downloading. ×
Rによる決定木解析の一例
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Rによる決定木解析の一例

4,393
views

Published on


0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,393
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
39
Comments
0
Likes
5
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. 2011.12.06 データ解析 Rによる決定木解析 M1 大木基至
  • 2. 決定木とは? 回帰分析とは明示的な関数を用いずに,データを分類す る手法 説明変数の値を何らかの基準をもとに分岐させ,判別・ 予測のモデルを構築 分岐の過程を図示することができるため,分析結果の可 読性が高い。 データマイニングで使われるトップ10アルゴリズムとし ても紹介されている。[1] [1] XindongWu · Vipin Kumar · J. Ross Quinlan · JoydeepGhosh · Qiang Yang etc.:Top 10 algorithms in data mining, Knowledge Information Systems, vol.14, pp.1-37, 2008 2011.12.06 データ解析中間発表会 1/ 9
  • 3. ノードと分岐 データ全体 根ノード 葉ノード データが木の枝のように分かれる。 2011.12.06 データ解析中間発表会 2/ 9
  • 4. クラス分類の仕方 特徴(説明変数)とクラス(目的変数)をもった データを利用して,クラス分類を行う。 イメージ:XとYの説明変数2つで3つのクラスを分類 Y 2回目 の分岐 :Y=5 x>7 X 1回目の分岐:X=7 2011.12.06 データ解析中間発表会 Y>5 Y≦5 3/ 9
  • 5. 分類の指標 C5.0 エントロピーに基づくゲイン比で分類 CHAID 統計検定(連続変数:F検定,カテゴリー変数:カイ 2乗検定)の有意確率を基準に分類 CART 不純度(バラツキの大きさ)を表すGINI係数で分類 ノードを分類させることで,不純度が減少する (バラツキが少なくなる) ような分岐点を探す。 今回はCARTによる指標で解析 2011.12.06 データ解析中間発表会 4/ 9
  • 6. RでCART ・mypartパッケージをCRANからダウンロード #mvpartパッケージのインストール >install.packages(“mvpart”) ・Fisherのirisデータを使用 - がく(Sepal),花びら(Petal),3種類のアヤメ(iris) > head(iris) Sepal.LengthSepal.WidthPetal.LengthPetal.Width 1 5.1 3.5 1.4 0.2 setosa 2 4.9 3.0 1.4 0.2 setosa 3 4.7 3.2 1.3 0.2 setosa 4 4.6 3.1 1.5 0.2 setosa 5 5.0 3.6 1.4 0.2 setosa 6 5.4 3.9 1.7 0.4 setosa 2011.12.06 データ解析中間発表会 Species 5/ 9
  • 7. RでCART #irisデータを奇数行(訓練データ)と偶数行(評価データ)に分割 >nn<- 2*(1 : nrow(iris))-1 > train.iris <- iris[nn, ] > test.iris <- iris[-nn, ] #決定木モデル > cart.model <- rpart(Species~., train.iris) > print(cart.model, digit=3) … 1) root 75 50 setosa (0.333 0.333 0.333) 2) Petal.Length< 2.45 25 0 setosa (1.000 0.000 0.000) * 3) Petal.Length>=2.45 50 25 versicolor (0.000 0.500 0.500) 6) Petal.Width< 1.65 25 1 versicolor (0.000 0.960 0.040) * 7) Petal.Width>=1.65 25 1 virginica (0.000 0.040 0.960) * 2011.12.06 データ解析中間発表会 6/ 9
  • 8. RでCART #木を描く > plot(cart.model, uniform=T, branch=0.6, margin=0.5) > text(cart.model, use.n=T, all=T) 2011.12.06 データ解析中間発表会 7/ 9
  • 9. RでCART #評価のため表を作成。 >cart.predict<- predict(cart.model, test.iris[,-5], type="class") > table(test.iris[,5], cart.predict) cart.predict setosaversicolorvirginica setosa 25 0 0 versicolor 0 24 1 virginica 0 3 22 #正解率 > result <- table(test.iris$Species, cart.predict) >(result[1,1]+result[2,2]+result[3,3])/(result[1,1]+result[2,2]+result[3,3]+result[3,2]+re sult[2,3]) 0.9466667 2011.12.06 データ解析中間発表会 8/ 9
  • 10. まとめ 決定木モデルをRで作成した。 Irisデータを使って分析を行った。 木の剪定処理が必要 他の分類手法と比較 2011.12.06 データ解析中間発表会 9/ 9