R 中的分区树:party 与 rpart

机器算法验证 r 大车 rpart 分区
2022-02-17 13:23:48

自从我查看分区树以来已经有一段时间了。上次我做这种事情时,我喜欢 R 中的派对(由 Hothorn 创建)。通过采样进行条件推理的想法对我来说很有意义。但 rpart 也具有吸引力。

在当前的应用程序中(我无法提供详细信息,但它涉及试图在大量被捕者中确定谁将入狱)我不能使用随机森林、装袋、提升等高级方法 - 我需要一个易于解释的规则。

我还希望按照 Zhang & Singer (2010) Recursive Partitioning and Applications中的建议手动控制哪些节点分裂该书附带的免费软件允许这样做,但在用户输入方面相当原始。

有什么建议或建议吗?

2个回答

我同意@Iterator 的观点,即该方法更容易为 rpart 解释。但是,如果您正在寻找易于解释的规则,派对(没有袋装树)在解释预测方面不会失去任何东西 - 您仍然只有一棵树。如果您也有兴趣查看结果变量的驱动因素(不仅仅是纯粹的预测能力),我仍然认为该党是要走的路 - 解释决策树(如 rpart)在选择哪个方面可能会有很大的偏差变量很重要,以及它如何产生分裂。Party 使用置换测试并统计确定哪些变量最重要以及如何进行拆分。因此,party 没有偏向于具有多个级别的分类变量,例如 rpart,而是使用统计测试来找到最佳结构。

rpart[注意:请参阅下面的更新 1。] 我发现party. 然而,后者要复杂得多,并且可能会提供更好的模型。我有时解释的方式party是将其称为生成局部线性(或 GLM)模型的基础。我通过指出rpart落入叶节点的所有元素(即由分割限制的框/区域)的结果是恒定的来建立这一点。即使通过本地模型可能会有所改进,但除了不断的预测之外,您什么也得不到。

相反,party开发拆分以可能优化区域的模型。它实际上使用了与模型最优性不同的标准,但您需要衡量自己解释差异的能力,以确定您是否能很好地解释它。它的论文对于研究人员来说很容易获得,但对于那些不愿意考虑更简单的方法(如随机森林、提升等)的人来说可能是相当具有挑战性的。在数学上,我认为这party更复杂......尽管如此,CART 模型更容易解释,无论是在方法论和结果方面,这些都为引入更复杂的基于树的模型提供了一个不错的垫脚石。

简而言之,我会说你必须做rpart的清晰,你可以使用party准确/性能,但我不会不介绍party就介绍rpart.


更新 1. 我的回答基于我对party一两年前的理解。它已经长大了很多,但我会修改我的答案,说我仍然推荐rpart它的简洁性和传统性,如果“非花哨”是您的客户/合作者的重要标准。然而,party在将某人介绍给rpart. 在引入涉及更多概念的包和方法之前,最好从简单的上下文中从损失函数、分割标准等开始。