Answers:
如RJournal 1/2 2009(p。50)中所述,这种功能(或接近的功能)似乎在手摇铃包中可用,尽管我只是从命令行进行了检查。
对于您的示例,它产生以下输出:
Rule number: 3 [Kyphosis=present cover=19 (23%) prob=0.58]
Start< 8.5
Rule number: 23 [Kyphosis=present cover=7 (9%) prob=0.57]
Start>=8.5
Start< 14.5
Age>=55
Age< 111
Rule number: 22 [Kyphosis=absent cover=14 (17%) prob=0.14]
Start>=8.5
Start< 14.5
Age>=55
Age>=111
Rule number: 10 [Kyphosis=absent cover=12 (15%) prob=0.00]
Start>=8.5
Start< 14.5
Age< 55
Rule number: 4 [Kyphosis=absent cover=29 (36%) prob=0.00]
Start>=8.5
Start>=14.5
为了获得此输出,rattle/R/rpart.R
在删除Rtxt()
了asRules.rpart()
函数中的两个调用(也可以将其替换为print
)之后,我在工作空间中从源文件中获取源文件。然后,我只要输入
> asRules(fit)
该
rpart.plot
包3.0版(2018日)有一个函数
rpart.rules
生成一组规则的树。例如
library(rpart.plot)
fit <- rpart(Kyphosis ~ Age + Number + Start, data=kyphosis)
rpart.rules(fit)
给
Kyphosis
0.00 when Start >= 15
0.00 when Start is 9 to 15 & Age < 55
0.14 when Start is 9 to 15 & Age >= 111
0.57 when Start is 9 to 15 & Age is 55 to 111
0.58 when Start < 9
有关更多示例,请参见rpart.plot小插图的第4章 。
rpart.rules(fit, nn=TRUE)
得到的节点号(又名叶数)。