微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我可以在表中存储 ctree 拆分规则和终端节点图吗? 拆分规则绘制子树

如何解决我可以在表中存储 ctree 拆分规则和终端节点图吗? 拆分规则绘制子树

我想创建一个表格来总结条件推理树 (ctree) 的拆分规则,以便每个预测变量都在单独的列中,而每一行都是一个终端节点,每个预测变量都有对应的值。例如:

IrisTree <- ctree(Species ~ .,data = iris)

这导致这棵树:

ctree on iris data

并以如下方式存储结果:

summary table

此外,我想将在终端节点产生的每个图嵌入最后一列,但我正在努力寻找一种单独存储图的方法。可能吗?

解决方法

拆分规则

拆分摘要可以建立在(仍未导出的)函数.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" 

有关拆分摘要的进一步处理,另请参阅以下答案:

绘制子树

通过对树进行适当的子集化,可以轻松获得各个图。一般来说,如果 tree 是一个 party 对象,那么 tree[i] 是根植于节点 partyi 对象。这些仍然可以像以前一样绘制。

因此,当仅选择和绘制终端节点时,这会为您提供来自该终端节点的面板:

plot(IrisTree[5])

terminal node 5 from iris tree

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。