我正在使用R中的rpart创建决策树。我还可以使用path.rpart()函数打印出决策树生成的规则。
对于空气质量数据,我将规则输出为
$`8`
[1] "root" "Temp< 82.5" "Wind>=7.15" "Solar.R< 79.5"
$`18`
[1] "root" "Temp< 82.5" "Wind>=7.15" "Solar.R>=79.5"
[5] "Temp< 77.5"
$`19`
[1] "root" "Temp< 82.5" "Wind>=7.15" "Solar.R>=79.5"
5] "Temp>=77.5"
$`5`
[1] "root" "Temp< 82.5" "Wind< 7.15"
等等。
有没有办法可以编写一个代码,将这些约束放在我的初始表空气质量上,以获得遵循这些规则的行 这相当于
airquality[which(airquality$Temp<82.5 & airquality$Wind>=7.15 & Solar.R<79.5)]
第一条规则。
非常感谢任何帮助。提前致谢。
答案 0 :(得分:3)
path.rpart提供了一个很好的概述,但是MrFlick已经编写了一些代码来显示哪些观察结果属于特定节点。看here。
这只关注rpart树。要查看预测值下降到哪个节点,请查看this post。
请参阅我包含的示例代码。该功能来自第一个答案。第二个答案的最后一部分。
> df
name value
total7 total7 0.020
total8 total8 0.219
答案 1 :(得分:2)
rules = rpart(airquality)
table(rules$where)
airquality[rules$where==6,]
您是否会在不编码规则的情况下为您提供拆分数据框。我不确定这是不是你想要的。