随机森林与支持向量机。哪个更快?
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数据数据为模型预测后的混淆矩阵比较多个分类模型分类性能(逻辑回归决策树随机森林支持向量机)