机器学习算法优缺点总结

来源:互联网 发布:知美术馆 编辑:程序博客网 时间:2024/06/06 15:38

******决策树*******

1.决策树优点

1、决策树易于理解和解释,可以可视化分析,容易提取出规则。

2、可以同时处理标称型和数值型数据。

3、测试数据集时,运行速度比较快。

4、决策树可以很好的扩展到大型数据库中,同时它的大小独立于数据库大小。

2.决策树缺点

1、对缺失数据处理比较困难。

2、容易出现过拟合问题。

3、忽略数据集中属性的相互关联。

4、ID3算法计算信息增益时结果偏向数值比较多的特征。


******adaboost******

一优点:
1)adaboost是一种有很高精度的分类器
2)可以使用各种方法构建子分类器,adaboost算法提供的是框架
3)当使用简单分类器时,计算出的结果是可以理解的。而且弱分类器构造极其简单
4)简单,不用做特征筛选
5)不用担心overfitting!

二缺点: 
训练时间过长,执行效果依赖于弱分类器的选择


******提升树GBDT******

GBDT的优点

它的非线性变换比较多,表达能力强,而且不需要做复杂的特征工程和特征变换。

GBDT的缺点

Boost是一个串行过程,不好并行化,而且计算复杂度高,同时不太适合高维洗漱特征


******随机森林******

优点

1、 在当前的很多数据集上,相对其他算法有着很大的优势,表现良好

2、它能够处理很高维度(feature很多)的数据,并且不用做特征选择

        PS:特征子集是随机选择的

3、在训练完后,它能够给出哪些feature比较重要

        PS:http://blog.csdn.NET/keepreder/article/details/47277517

4、在创建随机森林的时候,对generlization error使用的是无偏估计,模型泛化能力强

5、训练速度快,容易做成并行化方法

       PS:训练时树与树之间是相互独立的

6、 在训练过程中,能够检测到feature间的互相影响

7、 实现比较简单

8、 对于不平衡的数据集来说,它可以平衡误差。

9、如果有很大一部分的特征遗失,仍可以维持准确度。

缺点:

1、随机森林已经被证明在某些噪音较大的分类或回归问题上会过拟

2、对于有不同取值的属性的数据,取值划分较多的属性会对随机森林产生更大的影响,所以随机森林在这种数据上产出的属性权值是不可信的。



******Logistic回归算法******
一、logistic回归优点
1、计算代价不高,易于理解和实现
二、logistic回归缺点
1、容易产生欠拟合。
2、分类精度不高。


*******朴素贝叶斯算法******

一、  朴素贝叶斯算法优点

1、对大数量训练和查询时具有较高的速度。即使使用超大规模的训练集,针对每个项目通常也只会有相对较少的特征数,并且对项目的训练和分类也仅仅是特征概率的数学运算而已。
2、支持增量式运算。即可以实时的对新增的样本进行训练。
3、朴素贝叶斯对结果解释容易理解。

二、朴素贝叶斯缺点

1、由于使用了样本属性独立性的假设,所以如果样本属性有关联时其效果不好。


******KNN算法******

一、KNN算法的优点

1、KNN是一种在线技术,新数据可以直接加入数据集而不必进行重新训练
2、KNN理论简单,容易实现

二、KNN算法的缺点

1、对于样本容量大的数据集计算量比较大。
2、样本不平衡时,预测偏差比较大。如:某一类的样本比较少,而其它类样本比较多
3、KNN每一次分类都会重新进行一次全局运算。
4、k值大小的选择。


******k-means******

一k-means算法的优点:

(1)k-means算法是解决聚类问题的一种经典算法,算法简单、快速。
(2)对处理大数据集,该算法是相对可伸缩的和高效率的,因为它的复杂度大约是O(nkt),其中n是所有对象的数目,k是簇的数目,t是迭代的次数。通常k<<n。这个算法通常局部收敛。
(3)算法尝试找出使平方误差函数值最小的k个划分。当簇是密集的、球状或团状的,且簇与簇之间区别明显时,聚类效果较好。

二缺点:

(1)k-平均方法只有在簇的平均值被定义的情况下才能使用,且对有些分类属性的数据不适合。
(2)要求用户必须事先给出要生成的簇的数目k。
(3)对初值敏感,对于不同的初始值,可能会导致不同的聚类结果。
(4)不适合于发现非凸面形状的簇,或者大小差别很大的簇。
(5)对于”噪声”和孤立点数据敏感,少量的该类数据能够对平均值产生极大影响。


0 0