随机森林与支持向量机。哪个更快?

Posted

技术标签:

【中文标题】随机森林与支持向量机。哪个更快?【英文标题】:Random Forest vs Support Vector Machine. Which is faster? 【发布时间】:2021-12-31 14:58:52 【问题描述】:

我将支持向量机与径向盆地函数的性能和随机森林与 250 棵树的性能进行比较。我正在使用 e1071 (SVM) 和 randomForest (RF) 包。

我的数据集包含大约 500,000 个训练样本。虽然两种方法都获得了相似的 OA,但两者的训练时间却大不相同。

在 RF 中,训练时间很短,但在 SVM 中,训练时间随着样本数量的增加呈指数增长。

这是一种习惯行为吗?它是 SVM 和 RF 算法的特性还是 e1071 实现太慢了?这种关系在scikit-learn等其他实现中是否成立?

【问题讨论】:

这并不罕见,SVM 很慢。 【参考方案1】:

回想一下SVM 的工作原理,它将内核应用于每对输入,而这个scales badly。 SVM 的时间复杂度为 $O(dn^2)$$O(dn^3)$为 e1071 使用的libsvm。

随机森林使用独立的决策树。拟合每棵树的计算成本很低(这是我们集成树的原因之一),如果树的数量较多,它会更慢,但它们可以并行拟合。 time complexity 是 $O(n\log(n)dk)$

SVM 的扩展性比随机森林差,通常不建议用于较大的数据集。

【讨论】:

非常感谢!

以上是关于随机森林与支持向量机。哪个更快?的主要内容,如果未能解决你的问题,请参考以下文章

比较三种机器学习模型(随机森林,支持向量机,逻辑回归)的分类效果

数据分享|WEKA信贷违约预测报告:用决策树随机森林支持向量机SVM朴素贝叶斯逻辑回归|附代码数据

R语言编写自定义函数计算分类模型评估指标:准确度特异度敏感度PPVNPV数据数据为模型预测后的混淆矩阵比较多个分类模型分类性能(逻辑回归决策树随机森林支持向量机)

深度学习之算法选择

深度学习之算法选择

关于机器学习中支持向量机相关问题