问题标签 [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.
data-mining - Weka 的回归树森林
我正在使用 Weka,并希望使用随机森林进行回归。具体来说,我有一个数据集:
我不想学习预测最可能的类别,而是想学习给定特征向量的类别上的概率分布。我的直觉是,在 Weka 中仅使用 RandomForest 模型是不合适的,因为它会尝试最小化其绝对误差(最大似然)而不是平方误差(条件概率分布)。这种直觉对吗?如果我想执行回归而不是分类,是否有更好的模型可以使用?
编辑:我现在实际上在想,实际上这可能不是问题。据推测,分类器正在学习条件概率 P(Class | Feature1,...,FeatureN),而得到的分类只是在 Class 中找到使概率分布最大化的 c。因此,一个 RandomForest 分类器应该能够给我条件概率分布。我只需要再考虑一下。如果那是错误的,请纠正我。
r - 随机森林错误 - 我内存不足吗?
我正在运行这条线:
它给出了错误:
randomForest(x = BFrame(, "Prediction"), y = BFrame[, which(colnames(BFrame) != : 找不到函数 "BFrame") 中的错误
BFrame
是一个data.frame
我非常困惑,因为我之前有效地使用过类似的代码。然而,这一次,BFrame 很大——18 个变量的 130000 个观察值。这个错误是我内存不足的结果吗?来源是否在其他地方?
谢谢
r - R中的随机森林(y中的空类和参数长度为0)
我第一次与随机森林打交道,遇到了一些我无法弄清楚的问题。当我对所有数据集(大约 3000 行)运行分析时,我没有收到任何错误消息。但是当我对我的数据集的一个子集(大约 300 行)执行相同的分析时,我得到一个错误:
但是,我的响应变量没有任何空类。
相反,如果我这样写 randomForest(a+b+c,y)
而不是(y ~ a+b+c)
收到其他消息:
第二个问题是,当我尝试通过我估算我的数据时,rfImpute()
我得到一个错误:
但是,我的列都是因子和数字。
有人能看出我哪里错了吗???
r - R中的RandomForest - 所有因素在部分图中都有直线
我正在尝试使用 R 中的包 randomForest 制作部分图。执行随机森林对象后,我键入
data.rforest
我的随机森林对象在哪里,act2
是原始数据集,centroid
是预测变量C
之一,也是我的响应变量中的类之一。无论我尝试什么预测变量或响应类,我总是得到一条直线。同样,如果我将分类变量设置为预测变量,我会得到一个条形图,其中所有条形都具有相同的高度。我想我在这里做错了,因为对同一 rforest 对象的所有其他分析似乎都是正确的(例如varImp
或MDSplot
)。是否可能与随机森林对象中设置的某些选项有关?
python - 在循环内部或外部创建极其随机的树分类器
我在 X_sample 中有许多样本矩阵 (mxn)。每个矩阵具有相同的行数(相同的 m),但具有不同的特征数(差异 n)。X-sample 中的矩阵示例为:1000x40、1000x35、1000x30、1000x25。关于我的问题,我有以下(非常简化的)代码示例:
我使用参数在循环外创建了一个分类器max_features="auto"
。我使用具有不同数量特征的样本矩阵在循环内执行不同的分类。我的问题是,max_features
每次循环执行拟合操作时,分类器是否会根据 X_train 的实际大小(实际特征数)调整值。值为“auto”的参数 max_features
应该得到等于特征数量平方根的实际值。也就是说,我应该在循环外还是在循环内创建分类器?有没有办法读取参数的实际值max_features
?
r - 如何使 randomForest 模型尺寸更小?
我一直在用 R 中的 700 万行数据(41 个特征)训练 randomForest 模型。这是一个示例调用:
myModel <- randomForest(响应~., data=mydata, ntree=50, maxnodes=30)
我确实认为只有 50 棵树和 30 个终端节点,“myModel”的内存占用会很小。但它在转储文件中是 65 兆。该对象似乎持有来自训练过程的各种预测、实际和投票数据。
如果我只想要森林怎么办?我想要一个很小的转储文件,稍后我可以加载它以快速做出预测。我觉得森林本身不应该那么大......
任何人都知道如何将这个傻瓜分解成我可以预测未来的东西吗?
r - 插入符号包相当于 randomForest.getTree
我一直在使用 randomForest.getTree 为我的森林中的每棵树提供文本表示,但最近切换到 caret 包来训练森林(方法='rf')。我怎样才能获得 randomForest.getTree 理解的对象(因为据称插入符号使用相同的底层代码)或以其他类似方式打印出树?
r - 在非常大的数据集上加速随机森林
可能重复:
加快随机森林的建议
我想在我的数据 129600 X 900 上构建随机森林。此外,我希望有不少于 1000 棵树进行回归。我对我的数据执行了以下代码,其中 all_reg 是 129600 X 900 数据矩阵,train_resp_reg 是 129600 标签矩阵
代码已经在一个处理器上运行了3天多了,它还在运行,所以我想知道是否有任何解决方案可以更快地运行它,我可以访问一个64核的服务器,那么如何制作这个代码尽可能快地跑?
任何建议表示赞赏
scikit-learn - scikit的学习随机森林分类器中是否有计算精度的内置方法?
我正在使用 scikit 的学习运行一个随机森林分类器,并希望计算一个精度指标(有多少预测与目标值匹配)作为结果的一部分。是否有内置选项可以做到这一点?如果不是,那么实现它的最简单方法是什么?谢谢!