Questions tagged «random-forest»

随机森林是一种将许多决策树的输出组合在一起的机器学习方法。

4
是否有一个随机森林实现方案可以很好地处理稀疏数据?
是否有一个R随机森林实现方案可以很好地处理稀疏数据?我有成千上万的布尔输入变量,但是对于任何给定的示例,只有几百个布尔值才是TRUE。 我对R还是比较陌生,并且注意到有一个用于处理稀疏数据的“ Matrix”包,但是标准的“ randomForest”包似乎无法识别这种数据类型。如果重要的话,输入数据将在R之外生成并导入。 有什么建议吗?我也可以研究使用Weka,Mahout或其他软件包。

2
随机森林进行多元回归
我有一个输入和输出的多输出回归问题。输出具有复杂的非线性相关结构。dxdxd_xdydyd_y 我想使用随机森林进行回归。据我所知,用于回归的随机森林仅适用于单个输出,因此我将必须训练随机森林-每个输出一个。这忽略了它们的相关性。dydyd_y 是否有将输出相关性考虑在内的随机森林扩展?也许类似高斯过程回归的多任务学习。


5
R的randomForest不能处理超过32个级别。解决方法是什么?
R的randomForest包不能处理超过32个级别的因子。当给它超过32个级别时,它将发出错误消息: 无法处理超过32个类别的类别预测变量。 但是我拥有的数据有几个因素。其中一些具有1000+的级别,而某些具有100+。它甚至具有52个美国的“州”。 所以,这是我的问题。 为什么会有这样的限制?即使对于简单的情况,randomForest也拒绝运行。 > d <- data.frame(x=factor(1:50), y=1:50) > randomForest(y ~ x, data=d) Error in randomForest.default(m, y, ...) : Can not handle categorical predictors with more than 32 categories. 如果仅仅是由于内存限制,scikit如何学习使用32个以上级别运行的randomForeestRegressor? 解决此问题的最佳方法是什么?假设我有X1,X2,...,X50自变量,Y是因变量。并假设X1,X2和X3具有32个以上的级别。我该怎么办? 我正在考虑为X1,X2和X3中的每一个运行聚类算法,其中距离定义为Y的差值。我将运行三个聚类,因为存在三个有问题的变量。并且希望在每个群集中都可以找到相似的级别。我将合并它们。 听起来如何?

3
解释部分依赖图的y轴
该问题是从Stack Overflow 迁移而来的,因为可以通过交叉验证来回答。 迁移 5年前。 我已经阅读了有关局部依赖图的其他主题,其中大多数都是关于如何使用不同的程序包实际绘制它们,而不是如何准确地解释它们,所以: 我一直在阅读并创建大量的部分依赖图。我知道他们用我模型中所有其他变量(χc)的平均影响来衡量变量χs对函数ƒS(χS)的边际影响。较高的y值表示它们对准确预测我的课程有更大的影响。但是,我对这种定性解释不满意。 我的模型(随机森林)正在预测两个谨慎的类。“是的树”和“没有树”。TRI是一个变量,已被证明是一个很好的变量。 我开始认为Y值显示出正确分类的可能性。示例:y(0.2)表明TRI值>〜30时,有20%的机会正确识别True Positive分类。 相反地 y(-0.2)显示TRI值<〜15具有20%的机会正确识别真阴性分类。 文献中做出的一般解释听起来像是“大于TRI 30的值开始对模型中的分类产生积极影响”,仅此而已。对于可能潜在地谈论您的数据太多的情节来说,这听起来很模糊和毫无意义。 另外,我的所有图的y轴范围都在-1到1之间。我还看到了其他的-10至10等图。这是您要预测多少个类的函数吗? 我想知道是否有人可以解决这个问题。也许告诉我如何解释这些情节或一些可以帮助我的文献。也许我对此读得太远了? 我已经非常详尽地阅读了统计学习的要素:数据挖掘,推理和预测,这是一个很好的起点,但仅此而已。

4
“半监督学习”-过度拟合吗?
我正在阅读Kaggle竞赛获奖解决方案的报告(恶意软件分类)。该报告可在此论坛帖子中找到。问题是分类问题(九个类别,度量标准是对数损失),其中训练集中有10000个元素,测试集中有10000个元素。 在比赛期间,针对30%的测试集对模型进行了评估。另一个重要因素是模型的表现非常出色(准确性接近100%) 作者使用以下技术: 我们提出的另一项重要技术是半监督学习。我们首先通过选择最佳模型的最大概率来生成测试集的伪标签。然后,我们将使用训练数据和测试数据以交叉验证的方式再次预测测试集。例如,将测试数据集分为A,B,C和D四个部分。我们使用整个训练数据,并将测试数据A,B,C及其伪标签一起用作新的训练集,并预测测试设置D。 相同的方法用于预测A,B和C。这是由Xiaozhou发明的,效果出乎意料,并且可以减少局部交叉验证损失,公共LB损失和私人LB损失。最佳的半监督学习模型可以使私人LB对数丢失达到0.0023,这是我们所有解决方案中的最高分。 我真的不知道它如何改善结果。是因为30%的测试集被“泄漏”了,这是使用此信息的一种方式吗? 还是有任何理论上的原因可以解释其原理?

5
随机森林与回归
我对具有5个独立变量的数据集运行了OLS回归模型。自变量和因变量都是连续的并且线性相关。R平方约为99.3%。但是,当我在R中使用随机森林运行相同的结果时,结果是“%Var解释为:88.42”。为什么随机森林结果不如回归?我的假设是,随机森林至少与OLS回归一样好。

5
如何控制随机森林中错误分类的成本?
是否有可能控制R包randomForest中错误分类的代价? 在我自己的工作中,误报(例如,由于一个人可能患有疾病而导致的错误失误)比误报的代价要高得多。软件包rpart允许用户通过指定损失矩阵来不同程度地加权错误分类,从而控制错误分类成本。是否有类似的东西存在randomForest?例如,我是否应该使用该classwt选项来控制Gini标准?


3
结合机器学习模型
我是数据挖掘/机器学习/等方面的新手。并且一直在阅读有关将多个模型和同一模型的运行组合起来以改善预测的几种方法。 通过阅读几篇论文(在理论和希腊字母上通常很有趣并且很出色,但是在代码和实际示例上却很短),我的印象是它应该像这样: 我采用一个模型(knn,RF等),并获得0到1之间的分类器列表。我的问题是如何合并这些分类器列表中的每一个?我是否在训练集中运行相同的模型,以使进入最终模型的列数相同或还有其他技巧? 如果有任何建议/示例包含R代码,那就太好了。 注意:这是针对训练集中有100k行,测试集中有70k和10列的数据集。


1
分层抽样与随机抽样在分类中生成训练数据的好处
我想知道在将原始数据集分为训练和测试集进行分类时,使用分层抽样而不是随机抽样是否有任何/某些优势。 另外,分层抽样是否比随机抽样给分类器带来更大的偏差? 我想使用分层抽样进行数据准备的应用程序是一个随机森林分类器,在2上进行了训练2323\frac{2}{3}原始数据集的 3。在分类器之前,还有一个合成样本生成的步骤(SMOTE [1]),可以平衡类的大小。 [1] Chawla,Nitesh V.等。“ SMOTE:合成少数族群过采样技术。 ”人工智能研究杂志16(2002):321-357。

2
随机森林过度拟合吗?
我正在使用scikit-learn在随机森林中进行实验,并且获得了很好的训练结果,但是相对而言,我的测试结果却很差... 这是我要解决的问题(灵感来自扑克):给定玩家A的底牌,玩家B的底牌和翻牌(3张牌),哪位玩家的手牌最好?从数学上讲,这是14个输入(7张卡-一张等级,每张一套)和一个输出(0或1)。 到目前为止,这是我的一些结果: Training set size: 600k, test set size: 120k, number of trees: 25 Success rate in training set: 99.975% Success rate in testing set: 90.05% Training set size: 400k, test set size: 80k, number of trees: 100 Success rate in training set: 100% Success rate in testing set: …

11
为什么逻辑回归称为机器学习算法?
如果我正确理解,则在机器学习算法中,该模型必须从其经验中学习,即,当模型对新情况给出错误的预测时,它必须适应新的观察结果,并且随着时间的推移,模​​型会变得越来越好。我看不到逻辑回归具有这种特征。那么为什么它仍被视为机器学习算法?在“学习”方面,逻辑回归与普通回归之间有何区别? 对于随机森林,我也有同样的问题! “机器学习”的定义是什么?

3
回归的随机森林是“真实”回归吗?
随机森林用于回归。但是,据我了解,他们为每片叶子分配了一个平均目标值。由于每棵树中只有有限的叶子,因此目标只能从我们的回归模型中获得特定值。因此,不仅是“离散”回归(如阶跃函数),还是像“连续”线性回归一样? 我理解正确吗?如果是,随机森林在回归方面具有什么优势?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.