对于一个分类问题该如何选择分类算法呢?当然,如果你真的关心准确性 (accuracy),最好尝试多个算法,每个算法进行参数调优后,进行交叉验证(cross-validation)。但是在解决分类问题时,还是可以参考一些一般性的分类原则的。
Naive Bayes
优点:简单,如果条件独立性假设成立,Naive Bayes 分类器会比判别模型(logistic regression)更快的建立,从而对训练集的规模需求较小。即使假设不成立,该方法也会有很好的结果。
缺点:在于你无法用它来研究各个feature之间的关系。
Logistic Regression
优点:因为有足够多正则化模型的方式,你不必担心各个feature之间的相关性(NB不行)。同时,有不错的概率解释(决策树和SVM不行),引入新数据后可以快速更新模型(使用在线梯度下降法)。
Decision Trees
优点:(1)因为是非参数化的方法,不必关注离群点和是否线性可分;(2)能够同时处理数据型和常规型属性;
缺点: