R - partykit - 自定义模型树节点和分割

标签 r tree decision-tree party

在 partykit 包中,有一种通过指定预测器和分割来构建自定义树的方法。例如:

data("WeatherPlay", package = "partykit")

#create a split
sp_o <- partysplit(3L, breaks = 75) 

#create a node
n1 <- partynode(id = 1L, split = sp_o, kids = lapply(2L:3L, partynode))

#and make a "tree" out of it
t2 <- party(
  n1,
  data = WeatherPlay,
  fitted = data.frame(
    "(fitted)" = fitted_node(n1, data = WeatherPlay),
    "(response)" = WeatherPlay$play,
    check.names = FALSE
  ),
  terms = terms(play ~ ., data = WeatherPlay),
)

t2 <- as.constparty(t2)
t2
plot(t2)

这对于模型树(由 mob() 返回)可能吗?我可以逐个节点构建树,然后将指定的函数拟合到终端节点吗?

最佳答案

原则上,可以手动构建一个“modelparty”对象(由mob()返回)。但是,您引用的示例中没有像 as.constparty() 这样的简单强制函数。原因是为了构建模型树,以及打印模型树,尤其是用模型树进行预测,需要有关模型的更多详细信息。

我建议首先构建树结构(“partynode”),然后填充整个$info槽(使用call公式公式术语拟合控制nreg)。然后应该可以调用 refit.modelparty() 来重新拟合所有终端节点中的模型。然后可以用它来填充 $node$info (使用 coefficientsobjfunnobs、. ..).

免责声明:所有这些都完全未经测试。但是,当然,您也可以创建自己的方式将模型存储在 "party" 对象中,而不是模仿 "modelparty" ,并且只需使用提供的更多基本构建 block 由 partykit 提供。

关于R - partykit - 自定义模型树节点和分割,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46217113/

相关文章:

r - 确定何时添加了 R 基本函数

r - ggplot2:在图例中显示缺失值颜色

秩树特例的算法

java - 二叉树的唯一编号节点

c++ - 增量熵计算

machine-learning - scikit、分类列、决策树

r - 使用另一个 data.frame 的列对 data.frame 进行排序

java - 如何在JTree java swing中显示BinaryTree

machine-learning - CNN 和决策树/森林有什么区别

R 计算分位数错误或不同?