问题标签 [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 回答
2542 浏览

python - 为什么 Weka RandomForest 给我的结果与 Scikit RandomForestClassifier 不同?

在使用相同的 RandomForest 技术和相同的数据集时,我发现 WEKA 和 scikit 之间的结果存在特殊差异。使用 scikit,我的 AUC 约为 0.62(一直以来,因为我进行了广泛的测试)。但是,使用 WEKA,我得到的结果接近 0.79。这是一个巨大的差异!

我测试算法的数据集是 KC1.arff,我将其副本放在我的公共保管箱文件夹https://dl.dropbox.com/u/30688032/KC1.arff中。对于 WEKA,我只是从http://www.cs.waikato.ac.nz/ml/weka/downloading.html下载了 .jar 文件。在WEKA中,我将交叉验证参数设置为10倍,数据集设置为KC1.arff,算法设置为“RandomForest -l 19 -K 0 -S 1”。然后运行代码!在 WEKA 中生成结果后,应将其保存为文件、.csv 或 .arff。阅读该文件并检查“Area_under_ROC”列,它应该有点接近 0.79。

下面是 scikit 的 RandomForest 的代码

请记住,如相关论文的实验结果所示,真正的 auc 值在 0.79 左右,所以问题出在我使用 scikit 随机森林的实现上。

您的帮助将不胜感激!!

非常感谢你!

0 投票
3 回答
54998 浏览

r - 随机森林输出解释

我为我的数据运行了一个随机森林,并以矩阵的形式获得了输出。它适用于分类的规则是什么?

PS我想要一个客户的个人资料作为输出,例如来自纽约的人,在技术行业工作等。

如何解释随机森林的结果?

0 投票
1 回答
698 浏览

algorithm - 为随机森林训练过程构建数据集

我应该使用baggingbootstrap 聚合的缩写)技术来训练随机森林分类器。我在这里阅读了这种学习技术的描述,但我还没有弄清楚我最初是如何组织数据集的。

目前,我首先加载所有正面示例,然后立即加载负面示例。而且,正例少于负例的一半,所以通过从数据集中均匀采样,得到负例的概率大于得到正例的概率。

我应该如何构建初始数据集?我应该打乱包含正面和负面例子的初始数据集吗?

0 投票
1 回答
415 浏览

r - R randomForest 崩溃与 oob.prox=FALSE

我一直能够用这些行使 R 崩溃:

使用 oob.prox=TRUE 它运行良好。

你能重现这个吗?

谢谢, 伊曼纽尔

0 投票
2 回答
2274 浏览

r - 随机森林对不平衡数据的回归

我正在使用随机森林的 r 包根据氨基酸序列预测蛋白质对之间的距离,主要兴趣是接近的蛋白质(距离更小)。我的训练数据集由 10k 对蛋白质和它们之间的实际距离组成。然而,很少有蛋白质对(小于 0.2%)之间的距离很小,问题是经过训练的随机森林在预测距离较大的蛋白质之间的距离时变得非常准确,而对于距离较小的蛋白质则非常不利。他们。我尝试对训练数据中距离较远的蛋白质进行下采样,但结果仍然不好。我对紧密的蛋白质(它们之间距离小的那些对)更感兴趣。

0 投票
2 回答
2113 浏览

machine-learning - 是否有必要同时运行具有交叉验证的随机森林

随机森林是一种健壮的算法。在随机森林中,它训练了几棵小树并具有OOB准确性。但是,是否有必要同时与随机森林进行交叉验证?

0 投票
1 回答
1615 浏览

r - 将 .combine 与 cforest 一起使用时遇到问题

您好,我在 R中并行化cforest时遇到问题。

我一直在尝试使用派对包的cforest函数创建分类模型。我希望它在我的计算机上的多个内核中并行运行。我已经使用randomForest算法结合.combineforeach成功地做到了这一点:

但是,当我使用与cforest相同的语法时,我收到以下错误:

我无法弄清楚为什么 .combine 正在寻找randomForest对象而不是cforest对象,或者至少为什么 .combine 不会自动识别正在组合的对象的类型,如果它们都是单个函数的输出。

0 投票
0 回答
637 浏览

c++ - C++中随机决策森林实现的比较

我目前正在将一些 R 代码转换为 C++ 代码,我需要一个“好的”C++ 随机决策森林实现。

到目前为止,我发现了三个大的实现(tmva、alglib 和 openCv),一些“小/过时”的(比如 librf),我需要从中选择一个:

你们有一些好的/坏的经验和/或关于这些库(或其他一些)的一些建议吗?例如,使用的简单性、可移植性、内存使用、速度、错误消息的可读性、错误(?)、关于实现中选择的注释等。

如果您想知道,我正在使用 Visual Studio,但我的代码(并且应该保持)与 Linux 兼容。速度和内存使用对我来说非常重要,因为我将计算大量随机森林并将其保存在内存中。我正在开发的代码是符号时间序列的机器学习算法。

先感谢您,

0 投票
1 回答
3128 浏览

r - 基于 R 树的方法,如 randomForest、adaboost:用不同格式解释相同数据的结果

假设我的数据集是一个100 x 3充满分类变量的矩阵。我想对响应变量进行二进制分类。让我们用以下代码组成一个数据集:

数据如下所示:

我尝试用两种不同的方法对这些数据进行随机森林和 adaboost。第一种方法是按原样使用数据:

第二种方法是将数据集转换为宽格式,并将每个类别视为一个变量。我这样做的原因是因为我的实际数据集在 var1 和 var2 中有 500 多个因子,因此,树分区总是将 500 个类别分成 2 个部分。这样做会丢失很多信息。要转换数据:

新数据如下所示:

我将随机森林和 adaboost 应用于这个新数据集:

两种方法的结果是不同的。当我们在每个变量中引入更多级别时,差异更加明显,即var1var2。我的问题是,既然我们使用完全相同的数据,为什么结果不同?我们应该如何解释这两种方法的结果?哪个更可靠?

0 投票
7 回答
72894 浏览

scikit-learn - RandomForestClassifier 中的 feature_importances 是如何确定的?

我有一个以时间序列作为数据输入的分类任务,其中每个属性 (n=23) 代表一个特定的时间点。除了绝对分类结果,我想知道哪些属性/日期对结果的贡献程度。因此,我只是使用feature_importances_,这对我来说效果很好。

但是,我想知道它们是如何计算的以及使用了哪种度量/算法。不幸的是,我找不到有关此主题的任何文档。