常见分类算法的优缺点

贝叶斯分类法
优点:
1)所需估计的参数少,对于缺失数据不敏感。
2)有着坚实的数学基础,以及稳定的分类效率。

缺点:
1)假设属性之间相互独立,这往往并不成立。(喜欢吃番茄、鸡蛋,却不喜欢吃番茄炒蛋)。
2)需要知道先验概率。
3)分类决策存在错误率。

决策树
优点:
1)不需要任何领域知识或参数假设。
2)适合高维数据。
3)简单易于理解。
4)短时间内处理大量数据,得到可行且效果较好的结果。
5)能够同时处理数据型和常规性属性。

缺点:
1)对于各类别样本数量不一致数据,信息增益偏向于那些具有更多数值的特征。
2)易于过拟合。
3)忽略属性之间的相关性。
4)不支持在线学习。

支持向量机
优点:
1)可以解决小样本下机器学习的问题。
2)提高泛化性能。
3)可以解决高维、非线性问题。超高维文本分类仍受欢迎。
4)避免神经网络结构选择和局部极小的问题。

缺点:
1)对缺失数据敏感。
2)内存消耗大,难以解释。
3)运行和调参略烦人。

K近邻
优点:
1)思想简单,理论成熟,既可以用来做分类也可以用来做回归;
2)可用于非线性分类;
3)训练时间复杂度为O(n);
4)准确度高,对数据没有假设,对outlier不敏感;

缺点:
1)计算量太大
2)对于样本分类不均衡的问题,会产生误判。
3)需要大量的内存。
4)输出的可解释性不强。

Logistic回归
优点:
1)速度快。
2)简单易于理解,直接看到各个特征的权重。
3)能容易地更新模型吸收新的数据。
4)如果想要一个概率框架,动态调整分类阀值。

缺点:
特征处理复杂。需要归一化和较多的特征工程。

神经网络
优点:
1)分类准确率高。
2)并行处理能力强。
3)分布式存储和学习能力强。
4)鲁棒性较强,不易受噪声影响。

缺点:
1)需要大量参数(网络拓扑、阀值、阈值)。
2)结果难以解释。
3)训练时间过长。

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

缺点:
对outlier比较敏感

原文链接:https://www.julyedu.com/question/topic_list/23

随机森林
优点:
1)可以处理高维数据,不同进行特征选择(特征子集是随机选择)
2)模型的泛化能力较强
3)训练模型时速度快,成并行化方式,即树之间相互独立
4)模型可以处理不平衡数据,平衡误差
5)最终训练结果,可以对特种额排序,选择比较重要的特征
6)随机森林有袋外数据(OOB),因此不需要单独划分交叉验证集
7)对缺失值、异常值不敏感
8)模型训练结果准确度高
9)相对Bagging能够收敛于更小的泛化误差
缺点:
1)当数据噪声比较大时,会产生过拟合现象
2) 对有不同取值的属性的数据,取值划分较多的属性会对随机森林产生更大的影响
原文链接:https://blog.csdn.net/xingxing1839381/article/details/81273793

发布了13 篇原创文章 · 获赞 11 · 访问量 770

猜你喜欢

转载自blog.csdn.net/jaffe507/article/details/105139299