常用分类算法总结

  • 分类算法
    • NBC算法
    • LR算法
    • SVM算法
    • ID3算法
    • C4.5 算法
    • C5.0算法
    • KNN 算法
    • ANN 算法

分类算法

分类是在一群已经知道类别标号的样本中,训练一种分类器,让其能够对某种未知的样本进行分类。分类算法属于一种有监督的学习。分类算法的分类过程就是建立一种分类模型来描述预定的数据集或概念集,通过分析由属性描述的数据库元组来构造模型。分类的目的就是使用分类对新的数据集进行划分,其主要涉及分类规则的准确性、过拟合、矛盾划分的取舍等。分类算法分类效果如图所示。

常用的分类算法包括:NBC(Naive Bayesian Classifier,朴素贝叶斯分类)算法、LR(Logistic Regress,逻辑回归)算法、ID3(Iterative Dichotomiser 3 迭代二叉树3 代)决策树算法、C4.5 决策树算法、C5.0 决策树算法、SVM(Support Vector Machine,支持向量机)算法、KNN(K-Nearest Neighbor,K 最近邻近)算法、ANN(Artificial Neural Network,人工神经网络)算法等。

NBC算法

NBC 模型发源于古典数学理论,有着坚实的数学基础。该算法是基于条件独立性假设的一种算法,当条件独立性假设成立时,利用贝叶斯公式计算出其后验概率,即该对象属于某一类的概率,选择具有最大后验概率的类作为该对象所属的类。
NBC算法的优点

  1. NBC算法逻辑简单,易于实现;
  2. NBC算法所需估计的参数很少;
  3. NBC 算法对缺失数据不太敏感;
  4. NBC 算法具有较小的误差分类率;
  5. NBC 算法性能稳定,健壮性比较好;

NBC算法的缺点
1.在属性个数比较多或者属性之间相关性较大时,NBC 模型的分类效果相对较差;
2.算法是基于条件独立性假设的,在实际应用中很难成立,故会影响分类效果

LR算法

LR 回归是当前业界比较常用的机器学习方法,用于估计某种事物的可能性。它与多元线性回归同属一个家族,即广义线性模型。简单来说多元线性回归是直接将特征值和其对应的概率进行相乘得到一个结果,逻辑回归则是在这样的结果上加上一个逻辑函数。在此选择LR 作为回归分析模型的代表进行介绍。
LR算法的优点
1.对数据中小噪声的鲁棒性好;
2.LR 算法已被广泛应用于工业问题中;
3.多重共线性并不是问题,它可结合正则化来解决。

LR算法的缺点
1.对于非线性特征,需要转换
2.当特征空间很大时,LR的性能并不是太好

SVM算法

SVM 算法是建立在统计学习理论基础上的机器学习方法,为十大数据挖掘算法之一。通过学习算法,SVM 可以自动寻找出对分类有较好区分能力的支持向量,由此构造出的分类器可以最大化类与类的间隔,因而有较好的适应能力和较高的分准率。SVM 算法的目的在于寻找一个超平面H,该超平面可以将训练集中的数据分开,且与类域边界的沿垂直于该超平面方向的距离最大,故SVM 法亦被称为最大边缘算法。

SVM算法的优点
1.SVM 模型有很高的分准率;
2. SVM 模型有很高的泛化性能;
3. SVM 模型能很好地解决高维问题;
4. SVM 模型对小样本情况下的机器学习问题效果好。

SVM算法的缺点
1.SVM 模型对缺失数据敏感;
2.对非线性问题没有通用解决方案,得谨慎选择核函数来处理。

ID3算法

ID3 算法是一种基于决策树的分类算法,该算法是以信息论为基础,以信息熵和信息增益为衡量标准,从而实现对数据的归纳分类。信息增益用于度量某个属性对样本集合分类的好坏程度。ID3 算法的时间复杂度为O(n*|D|*log|D|)。

ID3算法的优点

  1. ID3 算法建立的决策树规模比较小;
  2. 查询速度快。

ID3算法的缺点
1.不适合处理连续数据;
2.难以处理海量数据集;
3.建树时偏选属性值较大的进行分离,而有时属性值较大的不一定能反应更多的数据信息。

C4.5 算法

C4.5 算法是ID3 算法的修订版,采用信息增益率来加以改进,选取有最大增益率的分割变量作为准则,避免ID3 算法过度的适配问题。

C4.5算法优点
1.C4.5 继承了ID3 优点;
2.在树构造过程中进行剪枝;
3.能对不完整数据进行处理;
4.能够完成对连续属性的离散化处理;
5.产生的分类规则易于理解,准确率较高;
6.用增益率来选择属性,克服了用增益选择属性时偏向选择取值多的属性。

C4.5 算法缺点
1.构造树时,需要对数据集进行多次的顺序扫描和排序,因而导致算法的低效;
2.只适合于能驻留于内存的数据集,当训练集达到内存无法容纳时程序无法运行。

C4.5 用于遥感分类过程中,首先依据通常的方式建立第一个模型。随后建立的第二个模型聚焦于被第一个模型错误分类的记录。以此类推,最后应用整个模型集对样本进行分类,使用加权投票过程把分散的预测合并成综合预测。Boosting 技术对于噪声不大的数据,通常通过建立的多模型来减少错误分类的影响,提高分类精度。

C5.0算法

C5.0 算法是 Quinlan 在C4.5 算法的基础上改进而来的产生决策树的一种更新的算法,它除了包括C4.5 的全部功能外,还引入许多新的技术,其中最重要的技术是提升(Boosting)技术,目的是为了进一步提高决策树对样本的识别率。同时C5.0 的算法复杂度要更低,使用更简单,适应性更强,因此具有更高的使用价值。

C5.0算法的优点
1.C5.0 模型能同时处理连续和离散的数据
2.C5.0 模型估计
模型通常不需要很长的训练时间;
3.C5.0 引入Boosting 技术以提高分类的效率和精度;
4.C5.0 模型易于理解,模型推出的规则有非常直观的解释;
5.C5.0 模型在面对数据遗漏和特征很多的问题时非常稳健。

C5.0算法的缺点
目标字段必须为分类字段。

美国地质调查局(USGS)在进行土地覆盖分类项目过程中研发了支持决策树分类的软件。软件分类模块主要是针对庞大数据量的数据集进行数据挖掘,找出特征,然后建立规则集进行决策分类。在分类模块中采用C5.0 模型来完成决策树分类、形成分类文件,实现遥感影像的分类。

KNN 算法

KNN 算法是Cover 和Hart 于1968 年提出的理论上比较成熟的方法,为十大挖掘算法之一。该算法的思路非常简单直观:如果一个样本在特征空间中的k 个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。该方法在定类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。

KNN算法的优点
1.KNN 算法简单、有效;
2.KNN 算法适用于样本容量比较大的类域的自动分类;
3.由于KNN 方法主要靠周围有限的邻近的样本,而不是靠判别类域的方法来确定所属类别的,因此对于类域的交叉或重叠较多的待分样本集来说,KNN 方法较其他方法更为适合。

KNN算法的缺点
1.KNN 算法计算量较大;
2.KNN 算法需要事先确定K 值;
3.KNN 算法输出的可解释不强;
4. KNN 算法对样本容量较小的类域很容易产生误分。

ANN 算法

人工神经网络(ANN)算法就是一组连续的输入/输出单元,其中每个连接都与一个权相关。在学习阶段,通过调整神经网络的权,使得能够预测样本的正确类标号来学习。

ANN算法的优点
1.能处理数值型及分类型的属性;
2.分类的准确度高,分布并行处理能力强;
3.对包含大量噪声数据的数据集有较强的鲁棒性和容错能力。

ANN算法的缺点
1.不能观察之间的学习过程;
2.学习时间过长,甚至可能达不到学习的目的;
3.对于非数值型数据需要做大量数据预处理工作;
4.输出结果难以解释,会影响到结果的可信度和可接受程度;
5.神经网络需要大量的参数,如网络拓扑结构、权值和阈值的初始值。

小结:

算法名称 收敛时间 是否过度拟合 是否过渡拟合缺失数据敏感度 训练数据量
NBC 存在 不敏感 无要求
LR 存在 敏感 无要求
SVM 一般 存在 敏感 小数据量
ID3 存在 不敏感 小数据集
C4.5 存在 不敏感 小数据集
C5.0 不存在 不敏感 大数据集
ANN 存在 敏感 大数据集
KNN 存在 敏感 数据量多

创建了一个技术闲聊群:有兴趣可加我微信,拉你一起讨论杂七杂八的技术,虽然大家都不怎么活跃!
加好友备注:你的博客名 && 随便给我的任意文章点个赞或留言

数据挖掘算法——常用分类算法总结相关推荐

  1. 基于Python实现五大常用分类算法(原理+代码)

    读: 在机器学习和统计中,分类算法通过对已知类别训练集的计算和分析,从中发现类别规则并预测新数据的类别.分类被认为是监督学习的一个实例,即学习可以获得正确识别的观察的训练集的情况. 实现分类的算法,特 ...

  2. 分类算法列一下有多少种?应用场景?分类算法介绍、常见分类算法优缺点、如何选择分类算法、分类算法评估

    分类算法 分类算法介绍 概念 分类算法 常见分类算法 NBS LR SVM算法 ID3算法 C4.5 算法 C5.0算法 KNN 算法 ANN 算法 选择分类算法 分类算法性能评估 分类算法介绍 概念 ...

  3. 算法杂货铺——分类算法之决策树(Decision tree)

    算法杂货铺--分类算法之决策树(Decision tree) 2010-09-19 16:30 by T2噬菌体, 88978 阅读, 29 评论, 收藏, 编辑 3.1.摘要 在前面两篇文章中,分别 ...

  4. 自然语言处理算法回归算法和分类算法

    人工智能学习算法分类 纯算法类 1.回归算法 回归分析是在一系列的已知或能通过获取的自变量与因变量之间的相关关系的基础上,建立变量之间的回归方程,把回归方程作为算法模型,通过其来实现对新变量得出因变量 ...

  5. 算法杂货铺——分类算法之贝叶斯网络(Bayesian networks)

    算法杂货铺--分类算法之贝叶斯网络(Bayesian networks) 2010-09-18 22:50 by T2噬菌体, 66011 阅读, 25 评论, 收藏, 编辑 2.1.摘要 在上一篇文 ...

  6. k近邻算法(KNN)-分类算法

    k近邻算法(KNN)-分类算法 1 概念 定义:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别. k-近邻算法采用测量不同特征值之间的 ...

  7. NLP专栏简介:数据增强、智能标注、意图识别算法|多分类算法、文本信息抽取、多模态信息抽取、可解释性分析、性能调优、模型压缩算法等

    NLP专栏简介:数据增强.智能标注.意图识别算法|多分类算法.文本信息抽取.多模态信息抽取.可解释性分析.性能调优.模型压缩算法等 专栏链接:NLP领域知识+项目+码源+方案设计 订阅本专栏你能获得什 ...

  8. 模式识别之基础---常用分类算法特性归纳

    常用的分类算法主要有决策树,贝叶斯,KNN,SVM,神经网络以及基于规则的分类算法. 本文主要对各种分类算法的特性做一下总结. 1. 决策树算法 决策树算法是一种构建分类模型的非参数方法,它不要求任何 ...

  9. 数据挖掘十大算法之分类算法(分类介绍及评价指标)

    文章目录 1. 分类相关知识 1.1 分类的概念 1.2 分类的流程 1.3 分类模型评价标准 2. 二分类分类案例 参考文章: 接上篇文章,接下来学习挖掘算法中的分类算法: 首先我们应该知道数据挖掘 ...

最新文章

  1. 支付宝AI摘下视觉竞赛世界冠军,能精准区分同种类物体的细微差别
  2. IIS配置不正确可能导致“远程服务器返回错误: (404) 未找到错误一例。
  3. iphone电池怎么保养_苹果iPhone手机怎么开启【优化电池充电】
  4. CentOS 使用iso镜像安装本地 yum 源
  5. intel编译器_Intel编译器编译并行版lammps
  6. Cocos2d-x 结合Box2D开发Android游戏配置方法
  7. python模块与类的区别_Python类、模块、包的概念及区别
  8. ShipConstructor 2006 v1.00 1CD(加拿大船舶建造软件)
  9. 向窗口输入文字--TextOut和DrawText函数
  10. Python内置函数(28)——hash
  11. Docker安装详细安装步骤
  12. 命令行查询ip所在地——Nali
  13. FPGA LVDS液晶屏
  14. 信息检索1.3.学术搜索引擎--谷歌学术搜索引擎
  15. Verilog HDL题库练习--题目来源HDLBits
  16. 分布式架构-ZK客户端工具Curator框架分布式锁及基本使用
  17. CentOS中使用VeraCrypt(四):进阶操作
  18. 高校逐梦元宇宙,是风口还是噱头?
  19. linux之tomcat安装及前端部署
  20. rcs仿真matlab,雷达截面积(Radar Cross Section,RCS)(MATLAB部分仿真+Code)

热门文章

  1. Foxmail管理多个电子邮箱
  2. (二)机器学习的流程概述,线性规划,图像分类
  3. 计算机网络基础 试题 doc,计算机网络基础知识试题.doc
  4. [机器学习]基于OpenCV实现最简单的数字识别
  5. Unity_7 如何使用遮挡剔除Occlusion Culling
  6. mysql查询性能测试工具_性能测试之数据库监控分析工具PMM
  7. 看google如何招人
  8. thinkphp5.1 || 给图片添加文字,图片水印
  9. java实现高德地图app_入门指南-高德地图手机版 | 高德地图API
  10. 【Tools】抓包工具——Charles(中名:花瓶)