2012-09-22 85 views
2

我從安裝包樹一樹的模擬數據與一個輸出和R.如何在R的散點圖中繪製分類樹的分割條件?

像下面的圖片兩個預測,我想畫虛線與我在R.模型有沒有辦法做到那?我試圖繪製條件= 0行,但行是從數據的最小值到最大值。

enter image description here

這是我做的,到目前爲止有虹膜數據和硬編碼的條件,最後兩節課

iristree<-tree(Species ~.,data=iris) 
    iristree #find split criterions 
node), split, n, deviance, yval, (yprob) 
    * denotes terminal node 

1) root 150 329.600 setosa (0.33333 0.33333 0.33333) 
    2) Petal.Length < 2.45 50 0.000 setosa (1.00000 0.00000 0.00000) * 
    3) Petal.Length > 2.45 100 138.600 versicolor (0.00000 0.50000 0.50000) 
    6) Petal.Width < 1.75 54 33.320 versicolor (0.00000 0.90741 0.09259) 
     12) Petal.Length < 4.95 48 9.721 versicolor (0.00000 0.97917 0.02083) 
     24) Sepal.Length < 5.15 5 5.004 versicolor (0.00000 0.80000 0.20000) * 
     25) Sepal.Length > 5.15 43 0.000 versicolor (0.00000 1.00000 0.00000) * 
     13) Petal.Length > 4.95 6 7.638 virginica (0.00000 0.33333 0.66667) * 
    7) Petal.Width > 1.75 46 9.635 virginica (0.00000 0.02174 0.97826) 
     14) Petal.Length < 4.95 6 5.407 virginica (0.00000 0.16667 0.83333) * 
     15) Petal.Length > 4.95 40 0.000 virginica (0.00000 0.00000 1.00000) * 

    .... 
plot(iris$Petal.Length, iris$Petal.Width, pch=21, 
     bg=c("red","green3","blue")[unclass(iris$Species)], 
     main="Edgar Anderson's Iris Data") 
lines(c(0,8),c(1.75,1.75)) # manually put split criterions 
lines(c(4.95,4.95),c(0,3)) # manually put split criterions 

和產生

enter image description here

,我打算底部和左邊的行被刪除。

+0

您能否提供一個可重複使用的模型示例?您可以通過顯示創建它的代碼(以及可重現的輸入)或在輸出中使用'dput'來完成此操作。 –

+0

@DavidRobinson更新了我的答案。謝謝你的評論。 –

回答

2

我在tree包中找到了partition.tree包。有了這個功能,我可以製作下面的照片。 enter image description here

雖然這不是我想要的,但它是我可以工作的最接近的東西。

相關問題