问题标签 [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 投票
1 回答
3216 浏览

r - 使用 rpart 对新因子(分类)变量进行预测

我正在使用 R 练习机器学习。我正在使用 rpart 方法进行培训。数据是来自 UCI 的成人数据集。链接如下

http://archive.ics.uci.edu/ml/datasets/Adult

为了简化实践,我只选择了几个属性,只将数据集减少到20%

使用“rpart”拟合模型大约需要一分钟(使用“gbm”或“rf”会更慢)

问题来自我对新数据值的预测。我创建一个新的数据框

它返回一个错误“教育有一个新的水平”。

我知道问题来自那些分类(因子)变量。不知何故,他们不承认“单身汉”是他们已经拥有的一个因素,而是一个新的字符串(新因素)。

0 投票
1 回答
749 浏览

r - 结合 DF 和 rpart$where?

如果我DF$where <- tree$where在使用作为我的数据来拟合 rpart 对象之后这样做DF,每一行是否会通过列映射到其对应的叶子where

谢谢!

0 投票
1 回答
914 浏览

r - rpart中的Minbucket和权重

rpart 和党的专家有几个问题。

1)我试图了解rpart和party中控制参数“minbucket”的区别。rpart 中的 minbucket 未加权是否正确(即使提供了适合树的权重)?

2) 谁能简要描述一下 rpart 算法中如何使用权重?我试图下载并查看源代码,但我无法理解它是一个新手。rpart 调用了一个 C 函数(C_rpart),这似乎是 rpart 的主要部分,但我找不到更多关于它的信息。

提前非常感谢。

0 投票
2 回答
2418 浏览

r - 如何从 rpart 对象获取新观察的终端节点?

说我有

如何从拟合对象中获取每个观察的终端节点TEST_KYPHOSIS

如何从每个测试观察映射到的终端节点获取摘要,例如偏差和预测值?

0 投票
1 回答
393 浏览

r - predict(rpart.model)的含义

鉴于:

这是否给出了训练数据的交叉验证预测?

我没有在 rpart 文档中找到任何对 CV 预测的确认。

10倍

0 投票
1 回答
610 浏览

r - 如何让 rpart 处理更多的因素?

我观察到,仅对于 rpart 包(用于决策树模型),当我增加数据中因子级别的数量时,包的速度会急剧下降。我和其他包比较过,而且只针对rpart,好像是这样。下面是在我的数据上尝试各种算法的图表。X 轴显示使用的因子水平数,Y 轴显示时间(以秒为单位)。如您所见,对于 rpart,因子数量增加的峰值是巨大的。在此处输入图像描述

通过在线阅读一些资源和堆栈溢出的页面,我了解到这与 rpart:::rpart.matrix 中的 for 循环有关,使用 [ls]apply 更改它会加快这部分代码的速度。

这是原始代码

这是建议加快循环的更改

但是,如何让整个 rpart 包加速?

是否可以下载 rpart 代码并进行这些更改?

另外,我知道速度变慢的原因是将分类变量转换为 0/1 类型的“扁平化变量”的代码。这真的有必要吗?在内部实现中是否可以通过为每个因素维护一个列表来区别对待分类变量,以标记使用该因素的行?

请指教。谢谢。

0 投票
1 回答
701 浏览

r - 从 rpart.object 取回原始名称

我保存了使用 R 中的 rpart 包创建的模型。我试图从这些保存的模型中检索一些信息;特别是来自rpart.object。虽然文档 - rpart doc - 很有帮助,但仍有一些不清楚的地方:

  1. 如何找出哪些变量是分类的,哪些是数字的?目前,我所做的是参考拆分矩阵中的“索引”列。我注意到仅对于数字变量,条目不是整数。有没有更清洁的方法来做到这一点?
  2. csplit矩阵指的是分类变量可以使用整数取的各种值,即 R 将原始名称映射到整数。有没有办法访问这个映射?例如。如果我的原始变量Country可以采用任何值France, Germany, Japan等,则 csplit 矩阵让我知道某个拆分基于Country == 1, 2. 在这里,rpart 分别替换了对France, Germanywith 的引用1, 2。如何France, Germany, Japan从模型文件中获取原始名称?另外,我怎么知道名称和整数之间的映射是什么?
0 投票
1 回答
417 浏览

r - 如何找到从 R 中的 rpart 树转换的 as.party 对象的偏差?

我在 R 中创建了一棵树。

现在,我想找出 rp.party 对象的偏差。有没有办法在不使用 rp 对象的情况下这样做?

谢谢!

0 投票
1 回答
29202 浏览

r - 使用 rpart 的决策树进行数据预测

我正在使用 R 对名为“d”的数据框进行分类,其中包含如下结构的数据:

初始数据集

数据有 576666 行,“classLabel”列有 3 个级别:一、二、三。

我正在使用 rpart 制作决策树:

我想预测“classLabel”的值newdata

我希望我的结果是一个由 4 行组成的矩阵,每行具有“classLabel”的三个可能值的概率newdata。但是我在 p 中得到的结果是一个 576666 行的数据框,如下所示:

在此处输入图像描述

predict运行该功能时,我还会收到以下警告:

我哪里做错了?!

0 投票
1 回答
7309 浏览

r - 获取 R 中 rpart/ctree 包的每一行预测数据集的决策树规则/路径模式

rpart我在 R 中使用and构建了一个决策树模型ctree。我还使用构建的模型预测了一个新数据集,并获得了预测的概率和类别。

但是,我想在单个字符串中提取规则/路径,以便遵循每个观察(在预测数据集中)。以表格格式存储这些数据,我可以在不打开 R 的情况下以自动方式解释预测。

这意味着我想获得关注。

我正在寻找的代码类型是

这可能需要扩展到多行