一、选择分类算法的步骤:
(1)首先看是二分类:分类结果只能有两种,是二分类算法问题,所有的算法都可以实现;例如:要么是0,要么是1;要么是好,要么是坏;
还是多分类问题,有多种分类结果的;如果是多分类问题,并不是所有的算法都可以实现,只能选择KNN,贝叶斯算法;
(2)其次看是否要求高可解释性:不管使用哪种算法,都要使用决策树算法作为辅助,因决策树算法的可解释性特别好
再看训练样本数量:如果训练样本数量过大,直接不考虑KNN算法;
测试样本数量:如果测试样本数量过大,直接不考虑贝叶斯算法;
(3)最后看是否需要进行弱-强算法改造,如果不确定,可以选择部分数据进行验证,并进行模型评价。
二、接下来对各个分类算法特点的总结:
(1)KNN-多分类,惰性调用,不宜训练数据过大:有一个测试数据,就要和历史数据计算一次,计算距离,是惰性算法,数据量大的时候,不宜考
该算法;
(2)贝叶斯-多分类,计算量较大,特征间不能相关
(3)决策树算法-二分类,可解释性非常好
(4)逻辑回归算法-二分类,特征之间是否具有关联无所谓
(5)SVM算法-二分类,效果比较不错,但可解释性欠缺
(6)Adaboost算法-适用于对弱分类算法进行加强
(1)首先看是二分类:分类结果只能有两种,是二分类算法问题,所有的算法都可以实现;例如:要么是0,要么是1;要么是好,要么是坏;
还是多分类问题,有多种分类结果的;如果是多分类问题,并不是所有的算法都可以实现,只能选择KNN,贝叶斯算法;
(2)其次看是否要求高可解释性:不管使用哪种算法,都要使用决策树算法作为辅助,因决策树算法的可解释性特别好
再看训练样本数量:如果训练样本数量过大,直接不考虑KNN算法;
测试样本数量:如果测试样本数量过大,直接不考虑贝叶斯算法;
(3)最后看是否需要进行弱-强算法改造,如果不确定,可以选择部分数据进行验证,并进行模型评价。
二、接下来对各个分类算法特点的总结:
(1)KNN-多分类,惰性调用,不宜训练数据过大:有一个测试数据,就要和历史数据计算一次,计算距离,是惰性算法,数据量大的时候,不宜考
该算法;
(2)贝叶斯-多分类,计算量较大,特征间不能相关
(3)决策树算法-二分类,可解释性非常好
(4)逻辑回归算法-二分类,特征之间是否具有关联无所谓
(5)SVM算法-二分类,效果比较不错,但可解释性欠缺
(6)Adaboost算法-适用于对弱分类算法进行加强