Deb*_*bie 2 r party decision-tree
我有一个包含6个分类变量的数据集,其级别从5到28.我从ctree()(聚会包)获得了17个终端节点的输出.我跟随了来自ctree()的@Galled的输入- 如何获取每个终端节点的拆分条件列表?达到我想要的输出.
但是,运行代码后出现以下错误:
Error in data.frame(ResulTable, Means, Counts) :
arguments imply differing number of rows: 17, 2
Run Code Online (Sandbox Code Playgroud)
我试过添加这些额外的行:
ResulTable <- rbind(ResulTable, cbind(Node = Node, Path = Path2))
ResulTable$Node <- rownames(ResulTable)
melt(ResulTable)
Run Code Online (Sandbox Code Playgroud)
但到目前为止没有成功.有关它出错的地方的任何指示?
我建议使用新的partykit实现ctree()而不是旧的party包,然后你可以使用该功能.list.rules.party().这尚未正式导出,但可用于提取所需信息.
library("partykit")
airq <- subset(airquality, !is.na(Ozone))
ct <- ctree(Ozone ~ ., data = airq)
partykit:::.list.rules.party(ct)
## 3 5
## "Temp <= 82 & Wind <= 6.9" "Temp <= 82 & Wind > 6.9 & Temp <= 77"
## 6 8
## "Temp <= 82 & Wind > 6.9 & Temp > 77" "Temp > 82 & Wind <= 10.3"
## 9
## "Temp > 82 & Wind > 10.3"
Run Code Online (Sandbox Code Playgroud)