如何解决我可以在表中存储 ctree 拆分规则和终端节点图吗? 拆分规则绘制子树
我想创建一个表格来总结条件推理树 (ctree) 的拆分规则,以便每个预测变量都在单独的列中,而每一行都是一个终端节点,每个预测变量都有对应的值。例如:
IrisTree <- ctree(Species ~ .,data = iris)
这导致这棵树:
并以如下方式存储结果:
此外,我想将在终端节点产生的每个图嵌入最后一列,但我正在努力寻找一种单独存储图的方法。可能吗?
解决方法
拆分规则
拆分摘要可以建立在(仍未导出的)函数.list.rules.party()
上:
partykit:::.list.rules.party(IrisTree)
## 2
## "Petal.Length <= 1.9"
## 5
## "Petal.Length > 1.9 & Petal.Width <= 1.7 & Petal.Length <= 4.8"
## 6
## "Petal.Length > 1.9 & Petal.Width <= 1.7 & Petal.Length > 4.8"
## 7
## "Petal.Length > 1.9 & Petal.Width > 1.7"
有关拆分摘要的进一步处理,另请参阅以下答案:
- Get decision tree rule/path pattern for every row of predicted dataset for rpart/ctree package in R
- How to extract the split points of mob()
绘制子树
通过对树进行适当的子集化,可以轻松获得各个图。一般来说,如果 tree
是一个 party
对象,那么 tree[i]
是根植于节点 party
的 i
对象。这些仍然可以像以前一样绘制。
因此,当仅选择和绘制终端节点时,这会为您提供来自该终端节点的面板:
plot(IrisTree[5])
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。