Answers:
我会说,选择在很大程度上取决于您拥有的数据和目的是什么。一些“经验法则”。
随机森林本质上适用于多类问题,而支持向量机本质上适用于两类问题。对于多类问题,您需要将其简化为多个二进制分类问题。
随机森林将数字和分类特征混合使用时效果很好。当要素具有各种比例时,也可以。粗略地说,借助随机森林,您可以按原样使用数据。SVM使“边距”最大化,因此依赖于不同点之间的“距离”概念。由您决定“距离”是否有意义。因此,必须对分类特征进行一次热编码。此外,强烈建议在预处理步骤中使用最小-最大或其他缩放比例。
如果您拥有具有个点和特征的数据,则SVM中的中间步骤是通过计算点积(计算复杂度)来构造 ×矩阵(考虑存储的存储需求)。因此,根据经验,SVM几乎无法扩展到10 ^ 5点以上。大量特征(具有有意义距离的均匀特征,图像像素将是一个完美的例子)通常不是问题。m n × n n 2
对于分类问题,“随机森林”为您提供了属于类别的可能性。SVM为您提供了到边界的距离,如果需要概率,您仍然需要以某种方式将其转换为概率。
对于这些问题,在支持SVM的情况下,其性能通常优于随机森林。
SVM为您提供“支持向量”,即每个类中最接近类之间边界的点。他们可能自己感兴趣进行解释。
为了补充已经指出的优点:
从我们需要数百量词来解决现实世界分类问题?随机森林比随机森林更有可能获得更好的性能。
此外,算法的实现方式(由于理论原因)通常比(非线性)SVM快得多。实际上,与@Ianenok一样,SVM在超过10,000个数据点时往往无法使用。
但是,众所周知,SVM在某些特定的数据集(图像,微阵列数据...)上表现更好。
因此,再次确认交叉验证确实是了解哪种方法效果最好的最佳方法。
资料来源:随机森林与SVM