问题标签 [rpart]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
29683 浏览

r - 如何在插入符号包中制作树图?

我正在使用 caret 包来使用 rpart 包对数据进行建模。

结果我得到了对象't',我试图绘制这个对象来获得树状图。但结果看起来像这样: 在此处输入图像描述

有没有办法从插入符号火车对象制作树状图?

0 投票
2 回答
1807 浏览

r - rpart 没有构建完整的树——cp 有问题吗?

我正在尝试通过将 control 设置为来构建完整的树rpart.control(minsplit=2, minbucket = 1,cp=0),但它不起作用。我认为原因可能是具有 4 个拆分的摘要树cp= 0,但是这棵树不完整,所以它cp应该 > 0。
我还检查了数据,并且可以进行更多拆分。这是我的代码:

0 投票
1 回答
761 浏览

r - 在 rpart r 中接收非常小的树

我有大约 300,000 条记录,我正在尝试拟合二进制分类解释变量“Requested”。

我使用了以下代码:

然而,这棵树非常简单,只有一个分裂(就像一个倒置的 V)。

有谁知道如何使它更复杂?(包括节点上的其他自变量)谢谢!

0 投票
0 回答
173 浏览

r - rpart执行过程中如何查看建树的进度?

rpart有没有办法查看在任何时间点建造了多少树?有没有办法查看构建或添加或拆分每个节点的进度?如果是这样,我该怎么做?

0 投票
0 回答
1932 浏览

r - rpart 在每个节点中查找观察值

我已经使用 rpart 创建了一个决策树,我想知道如何准确找到哪些训练数据案例落入每个终端节点。

我按照此链接中的答案进行操作: 如何计算落在树的每个节点中的观察值, 但由于某种原因,$where 函数仅生成终端节点的向量,而没有行号指示哪种情况对应于哪个终端节点。但是,如果我对使用 tree 包制作的树执行完全相同的操作,我将获得带有相应终端节点的行号列表(标识每个案例)。我注意到唯一的区别是对于 rpart 包,$where 产生一个“int”向量,而对于 tree 包,$where 产生一个“Named int”向量。我想知道如何为由 rpart 制成的树生成相同的“命名 int”向量?

我还尝试了以下建议的答案: Find the data elements in a data frame that pass the rule for a node in a tree model? 但它对我不起作用,因为 rpart 在创建模型时删除了 16 个观察值,因此结果模型中的观察数与用于创建模型的原始数据框不匹配。

对不起,如果答案似乎很明显,新手 R 用户在这里!

这是我用来创建树的代码,它是用于根据行为特征预测自闭症诊断的树:

0 投票
1 回答
4906 浏览

r - 从 varImp() 获取最重要的变量名

我正在使用函数 varImp()。

我拟合了一棵树,然后使用 varImp() 查看哪些变量最重要。我想从 varImp() 的输出中提取最重要的变量名。但是输出似乎是一个列表,无法获取变量名称,只有变量重要性的数字权重。

我尝试将输出转换为数据框并使用 names() ,但都不允许我获取重要的变量名称。

这是一个例子:

0 投票
1 回答
2147 浏览

r - rpart不分裂明显的节点

我正在使用一个包含大约 54K 记录和 5 个类(pop)的数据集,其中一个类无关紧要。我正在使用 caret 包和以下内容来运行 rpart:

我得到以下树:

很明显,节点 5 应该进一步拆分,但 rpart 并没有这样做。我尝试使用cp = .001tocp =.1minbucket = 1000as 作为附加参数,但没有任何改进。

感谢您对此的任何帮助。

0 投票
1 回答
236 浏览

r - CART 中的交互

我正在尝试使用 Rpart 将决策树制成表格。我正在使用的代码如下,因此可以复制粘贴。

然后查看绘制的树,我正在使用

此外,在我的代码中,所有这些都在一个 for 循环中,因为我正在模拟 100 个这样的数据集。为简单起见,这里没有包括所有内容。

当您输入 printcp(fit) 时,我知道如何提取“树构造中实际使用的变量”并将它们制成表格,以便计算每个变量被选中的次数。现在,问题是,我想捕捉 x2 和 y 以及 x3 和 y 之间的潜在交互,当然,还要将这些交互出现的次数制成表格。现在,为此,本质上,当人们查看树的图表时(使用 plot(fit)),每次 y 是 x2 或 x3 的即时子分支时,我想以某种方式创建一个向量来跟踪那。我说直接子分支是因为如果假设 x2 被细分为 n3,然后 n3 分支为 y,那么不,我不会将其视为 x2 和 y 的双向交互。但是,如果 x2 分支到 y,那么是的,

我尝试为此使用 path.rpart,但它似乎无助于跟踪 x2 或 x3 是否立即分支到 y。然后,我想将 x2*y 交互的频率和 x3*y 交互的频率制成表格。

0 投票
0 回答
419 浏览

r - 在使用 rpart 包时控制预测变量的拆分次数

一般来说,我是第一次使用决策树模型,但不确定运行决策树得到的输出是否符合预期。数据集中有 700 多个预测变量可用。

我使用了 rpart 包并发布了以下声明:

输出仅显示 2 个关键预测变量(24 个月内的交易和 12 个月内的访问),如下所示: 规则编号:4 [GOOD=0.0735211267605634 cover=10650 (72%)] trans_24mth< 4.5 trans_24mth< 2.5

从早期在 SAS 中拟合的逻辑回归模型中,我知道这些变量与模型相关。

我的问题是我们是否可以控制模型中显示的变量数量?现在从 700 个变量中似乎只有 2 个变量出现。我们有没有办法强制 rpart 语句在规则中显示更多变量?这一个仅显示交易变量作为预测变量;但是说我想看看数据集中的人口统计/心理变量是否也在识别模型中的好/坏方面发挥任何作用?在此先感谢您的帮助

0 投票
2 回答
1378 浏览

r - 如何使用 rpart 中的所有功能?

我正在使用rpart包进行决策树分类。我有一个包含大约 4000 个特征(列)的数据框。我想rpart()为我的模型使用所有功能。我怎样才能做到这一点?基本上,rpart()会要求我以这种方式使用该功能:

我的特征是文档中的单词,所以我有超过 4k 的特征。每个特征都用一个词来表示。有没有可能在不编写它们的情况下使用所有功能?