繁体   English   中英

R函数获取rpart应用的规则

[英]R function to get the rules applied by rpart

iris <- read.csv("iris.csv") #iris data available in R
library(rpart)
iris.rpart <- rpart(Species~Sepal.length+Sepal.width+Petal.width+Petal.length, 
                 data=iris)
plotcp(iris.rpart)
printcp(iris.rpart)
iris.rpart1 <- prune(iris.rpart, cp=0.047)
plot(iris.rpart1,uniform=TRUE)
text(iris.rpart1, use.n=TRUE, cex=0.6)

我试图在虹膜数据上完成rpart。 但是,是否可以通过在R中使用某些函数来获取rpart对此当前树准备所应用的规则,以便我们知道在向数据集添加更多新点时如何进行分类?

rpart.plot包具有这样的功能rpart.rules用于生成一组的规则树。 例如

library(rpart.plot)
iris.rpart <- rpart(Species~., data=iris)
rpart.rules(iris.rpart)

   Species  seto vers virg
    setosa [1.00  .00  .00] when Petal.Length <  2.5
versicolor [ .00  .91  .09] when Petal.Length >= 2.5 & Petal.Width <  1.8
 virginica [ .00  .02  .98] when Petal.Length >= 2.5 & Petal.Width >= 1.8

options(width=1000)
rpart.predict(iris.rpart, newdata=iris[50:52,], rules=TRUE)

为您提供用于进行每个预测的规则:

   setosa versicolor virginica
50      1    0.00000  0.000000 because Petal.Length <  2.5
51      0    0.90741  0.092593 because Petal.Length >= 2.5 & Petal.Width <  1.8
52      0    0.90741  0.092593 because Petal.Length >= 2.5 & Petal.Width <  1.8

有关更多示例,请参见rpart.plot小插图的第4章。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM