问题标签 [random-forest]

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 回答
1989 浏览

data-mining - Weka 的回归树森林

我正在使用 Weka,并希望使用随机森林进行回归。具体来说,我有一个数据集:

我不想学习预测最可能的类别,而是想学习给定特征向量的类别上的概率分布。我的直觉是,在 Weka 中仅使用 RandomForest 模型是不合适的,因为它会尝试最小化其绝对误差(最大似然)而不是平方误差(条件概率分布)。这种直觉对吗?如果我想执行回归而不是分类,是否有更好的模型可以使用?

编辑:我现在实际上在想,实际上这可能不是问题。据推测,分类器正在学习条件概率 P(Class | Feature1,...,FeatureN),而得到的分类只是在 Class 中找到使概率分布最大化的 c。因此,一个 RandomForest 分类器应该能够给我条件概率分布。我只需要再考虑一下。如果那是错误的,请纠正我。

0 投票
1 回答
2464 浏览

r - 'randomForest'的'caret'中的递归特征消除:为第一个森林设置不同的ntree参数

我目前正在尝试使用递归特征消除 (RFE) 为非常高维数据集 (p > 200k) 优化随机森林分类器。caret包有一个很好的实现(rfe() -function)。但是,我也在考虑优化 RAM 和 CPU 使用率。这就是为什么我想知道是否有机会设置不同(更大)数量的树来训练第一个森林(没有特征消除)并利用它的重要性来构建其余的(使用 RFE)使用例如 500 棵树进行 10 倍或 5 倍交叉验证。我知道这个选项在varSelRF中可用。但是caret怎么样?我没有设法在手册中找到任何关于此的内容。

0 投票
1 回答
453 浏览

r - 随机森林错误 - 我内存不足吗?

我正在运行这条线:

它给出了错误:

randomForest(x = BFrame(, "Prediction"), y = BFrame[, which(colnames(BFrame) != : 找不到函数 "BFrame") 中的错误

BFrame是一个data.frame

我非常困惑,因为我之前有效地使用过类似的代码。然而,这一次,BFrame 很大——18 个变量的 130000 个观察值。这个错误是我内存不足的结果吗?来源是否在其他地方?

谢谢

0 投票
8 回答
31284 浏览

r - R中的随机森林(y中的空类和参数长度为0)

我第一次与随机森林打交道,遇到了一些我无法弄清楚的问题。当我对所有数据集(大约 3000 行)运行分析时,我没有收到任何错误消息。但是当我对我的数据集的一个子集(大约 300 行)执行相同的分析时,我得到一个错误:

但是,我的响应变量没有任何空类。

相反,如果我这样写 randomForest(a+b+c,y)而不是(y ~ a+b+c)收到其他消息:

第二个问题是,当我尝试通过我估算我的数据时,rfImpute()我得到一个错误:

但是,我的列都是因子和数字。

有人能看出我哪里错了吗???

0 投票
0 回答
917 浏览

r - R中的RandomForest - 所有因素在部分图中都有直线

我正在尝试使用 R 中的包 randomForest 制作部分图。执行随机森林对象后,我键入

data.rforest我的随机森林对象在哪里,act2是原始数据集,centroid是预测变量C之一,也是我的响应变量中的类之一。无论我尝试什么预测变量或响应类,我总是得到一条直线。同样,如果我将分类变量设置为预测变量,我会得到一个条形图,其中所有条形都具有相同的高度。我想我在这里做错了,因为对同一 rforest 对象的所有其他分析似乎都是正确的(例如varImpMDSplot)。是否可能与随机森林对象中设置的某些选项有关?

0 投票
1 回答
270 浏览

python - 在循环内部或外部创建极其随机的树分类器

我在 X_sample 中有许多样本矩阵 (mxn)。每个矩阵具有相同的行数(相同的 m),但具有不同的特征数(差异 n)。X-sample 中的矩阵示例为:1000x40、1000x35、1000x30、1000x25。关于我的问题,我有以下(非常简化的)代码示例:

我使用参数在循环外创建了一个分类器max_features="auto"。我使用具有不同数量特征的样本矩阵在循环内执行不同的分类。我的问题是,max_features每次循环执行拟合操作时,分类器是否会根据 X_train 的实际大小(实际特征数)调整值。值为“auto”的参数 max_features应该得到等于特征数量平方根的实际值。也就是说,我应该在循环外还是在循环内创建分类器?有没有办法读取参数的实际值max_features

0 投票
2 回答
2617 浏览

r - 如何使 randomForest 模型尺寸更小?

我一直在用 R 中的 700 万行数据(41 个特征)训练 randomForest 模型。这是一个示例调用:

myModel <- randomForest(响应~., data=mydata, ntree=50, maxnodes=30)

我确实认为只有 50 棵树和 30 个终端节点,“myModel”的内存占用会很小。但它在转储文件中是 65 兆。该对象似乎持有来自训练过程的各种预测、实际和投票数据。

如果我只想要森林怎么办?我想要一个很小的转储文件,稍后我可以加载它以快速做出预测。我觉得森林本身不应该那么大......

任何人都知道如何将这个傻瓜分解成我可以预测未来的东西吗?

0 投票
1 回答
1233 浏览

r - 插入符号包相当于 randomForest.getTree

我一直在使用 randomForest.getTree 为我的森林中的每棵树提供文本表示,但最近切换到 caret 包来训练森林(方法='rf')。我怎样才能获得 randomForest.getTree 理解的对象(因为据称插入符号使用相同的底层代码)或以其他类似方式打印出树?

0 投票
0 回答
177 浏览

r - 在非常大的数据集上加速随机森林

可能重复:
加快随机森林的建议

我想在我的数据 129600 X 900 上构建随机森林。此外,我希望有不少于 1000 棵树进行回归。我对我的数据执行了以下代码,其中 all_reg 是 129600 X 900 数据矩阵,train_resp_reg 是 129600 标签矩阵

代码已经在一个处理器上运行了3天多了,它还在运行,所以我想知道是否有任何解决方案可以更快地运行它,我可以访问一个64核的服务器,那么如何制作这个代码尽可能快地跑?

任何建议表示赞赏

0 投票
1 回答
951 浏览

scikit-learn - scikit的学习随机森林分类器中是否有计算精度的内置方法?

我正在使用 scikit 的学习运行一个随机森林分类器,并希望计算一个精度指标(有多少预测与目标值匹配)作为结果的一部分。是否有内置选项可以做到这一点?如果不是,那么实现它的最简单方法是什么?谢谢!