关注:决策智能与机器学习,深耕AI脱水干货
作者:xyzh 来源:知乎
原文地址:https://www.zhihu.com/question/26726794/answer/151282052
转载请联系作者
精炼的说:
没有最好的分类器,只有最合适的分类器。
随机森林平均来说最强,但也只在9.9%的数据集上拿到了第一,优点是鲜有短板。
SVM的平均水平紧随其后,在10.7%的数据集上拿到第一。
神经网络(13.2%)和boosting(~9%)表现不错。
数据维度越高,随机森林就比AdaBoost强越多,但是整体不及SVM[2]。
数据量越大,神经网络就越强。
正好14年的时候有人做过一个实验[1],比较在不同数据集上(121个),不同的分类器(179个)的实际效果。
论文题为:Do we Need Hundreds of Classifiers to Solve Real World Classification Problems?
实验时间有点早,我尝试着结合我自己的理解、一些最近的实验,来谈一谈吧。主要针对分类器(Classifier)。
近邻 (Nearest Neighbor)
![](https://i-blog.csdnimg.cn/blog_migrate/b69c3dcf0fc117814d1c85781040a3a6.png)
典型的例子是KNN,它的思路就是——对于待判断的点,找到离它最近的几个数据点,根据它们的类型决定待判断点的类型。
它的特点是完全跟着数据走,没有数学模型可言。
适用情景:
需要一个特别容易解释的模型的时候。
比如需要向用户解释原因的推荐算法。
贝叶斯 (Bayesian)
![](https://i-blog.csdnimg.cn/blog_migrate/b493c470cb77ef6097a1c4286a60af76.png)
典型的例子是Naive Bayes,核心思路是根据条件概率计算待判断点的类型。
是相对容易理解的一个模型,至今依然被垃圾邮件过滤器使用。
适用情景:
需要一个比较容易解释,而且不同维度之间相关性较小的模型的时候。
可以高效处理高维数据,虽然结果可能不尽如人意。
决策树 (Decision tree)
![](https://i-blog.csdnimg.cn/blog_migrate/24a87479a8b56a1dfbd4a0bb7e628b92.png)
决策树的特点是它总是在沿着特征做切分。随着层层递进,这个划分会越来越细。
虽然生成的树不容易给用户看,但是数据分析的时候,通过观察树的上层结构,能够对分类器的核心思路有一个直观的感受。