数据挖掘十大算法总结--核心思想,算法优缺点,应用领域

本文所涉算法均只概述核心思想,具体实现细节参看本博客“数据挖掘算法学习”分类下其他文章,不定期更新中。转载请注明出处,谢谢。

参考了许多资料加上个人理解,对十大算法进行如下分类:

?分类算法:C4.5,CART,Adaboost,NaiveBayes,KNN,SVM

?聚类算法:KMeans

?统计学习:EM

?关联分析:Apriori

?链接挖掘:PageRank

其中,EM算法虽可以用来聚类,但是由于EM算法进行迭代速度很慢,比kMeans性能差很多,并且KMeans算法 聚类效果没有比EM差多少,所以一般用kMeans进行聚类,而不是EM。EM算法的主要作用是用来进行参数估计,故将其分入统计学习类。SVM算法在回归分析,统计方面也有不小的贡献,并且在分类算法中也占有一定地位,思考了下还是将SVM分入分类算法中。对分类有不同看法的读者欢迎留言讨论。

以下逐一介绍。

分类算法--C4.5 详细讲解参见数据挖掘算法学习(五)C4.5算法

?核心思想:以信息增益率为衡量标准实现对数据归纳分类

?算法优点:产生的分类规则易于理解,准确率较高

?算法缺点:在构造树的过程中,需要对数据集进行多次的顺序扫描和排序,因而导致算法的低效

?应用领域:临床决策、生产制造、文档分析、生物信息学、空间数据建模等

分类算法--CART  详细讲解参见数据挖掘算法学习(六)CART算法

?核心思想:以基于最小距离的尼基指数估计函数为衡量标准对数据进行递归分类

?算法优点:抽取规则简便且易于理解;面对存在缺失值、变量数多等问题时非常稳健

?算法缺点:要求被选择的属性只能产生两个子节点;类别过多时,错误可能增加的较快

?应用领域:信息失真识别,电信业潜在客户识别,预测贷款风险等等

分类算法--Adaboost 详细讲解参见数据挖掘算法学习(八)Adaboost算法

?核心思想:针对同一个训练集训练不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个更强的最终分类器(强分类器)

?算法优点:高精度,简单无需做特征筛选,不会过度拟合

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

?应用领域:广泛应用于人脸检测、目标识别等领域

分类算法--NaiveBayes 详细讲解参见数据挖掘算法学习(三)NaiveBayes算法

?核心思想:通过某对象的先验概率,利用贝叶斯公式计算出其后验概率,即该对象属于某一类的概率,选择具有最大后验概率的类作为该对象所属的类

?算法优点:算法简单,所需估计的参数很少,对缺失数据不太敏感

?算法缺点:属性个数比较多或者属性之间相关性较大时,分类效率下降

?应用领域:垃圾邮件过滤,文本分类

分类算法--KNN

?核心思想:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别

?算法优点:简单,无需估计参数,无需训练,适合于多分类问题

?算法缺点:计算量较大;可解释性较差,无法给出决策树那样的规则

?应用领域:客户流失预测、欺诈侦测等(更适合于稀有事件的分类问题)

分类算法--SVM 详细讲解参见数据挖掘算法学习(七)SVM算法

?核心思想:建立一个最优决策超平面,使得该平面两侧距离平面最近的两类样本之间的距离最大化,从而对分类问题提供良好的泛化能力

?算法优点:更好的泛化能力,解决非线性问题的同时避免维度灾难,可找到全局最优

?算法缺点:运算效率低,计算时占用资源过大

?应用领域:遥感图像分类,污水处理过程运行状态监控等

聚类算法--KMeans   详细讲解参见数据挖掘算法学习(一)KMeans算法

?核心思想:输入聚类个数k,以及包含n个数据对象的数据库,输出满足方差最小标准的k个聚类

?算法优点:运算速度快

?算法缺点:聚类数目k是一个输入参数,不合适的k值可能返回较差的结果

?应用领域:图片分割,分析商品相似度进而归类商品,分析公司的客户分类以使用不同的商业策略

统计学习--EM

?核心思想:通过E步骤和M步骤使得期望最大化

?算法优点:简单稳定

?算法缺点:迭代速度慢,次数多,容易陷入局部最优

?应用领域:参数估计,计算机视觉的数据集聚

关联分析--Apriori

?核心思想:基于两阶段频集思想挖掘关联规则的算法

?算法优点:简单、易理解、数据要求低

?算法缺点:I/O负载大,产生过多的候选项目集

?应用领域:消费市场价格分析,入侵检测,移动通信领域

链接挖掘--PageRank

?核心思想:基于从许多优质的网页链接过来的网页,必定还是优质网页的回归关系,来判定所有网页的重要性

?算法优点:完全独立于查询,只依赖于网页链接结构,可以离线计算

?算法缺点:忽略了网页搜索的时效性;旧网页排序很高,存在时间长,积累了大量的in-links,拥有最新资讯的新网页排名却很低,因为它们几乎没有in-links

?应用领域:页面排序

原创文章,转载请注明出处,谢谢。

时间: 2024-10-06 21:05:05

数据挖掘十大算法总结--核心思想,算法优缺点,应用领域的相关文章

数据挖掘十大经典算法

一. C4.5  C4.5算法是机器学习算法中的一种分类决策树算法,其核心算法是ID3 算法.   C4.5算法继承了ID3算法的优点,并在以下几方面对ID3算法进行了改进: 1) 用信息增益率来选择属性,克服了用信息增益选择属性时偏向选择取值多的属性的不足: 2) 在树构造过程中进行剪枝: 3) 能够完成对连续属性的离散化处理: 4) 能够对不完整数据进行处理. C4.5算法有如下优点:产生的分类规则易于理解,准确率较高.其缺点是:在构造树的过程中,需要对数据集进行多次的顺序扫描和排序,因而导

数据挖掘十大算法

大数据时代 数据挖掘十大经典算法 不不过选中的十大算法,事实上參加评选的18种算法.实际上随便拿出一种来都能够称得上是经典算法,它们在数据挖掘领域都产生了极为深远的影响. 1.C4.5 C4.5算法是机器学习算法中的一种分类决策树算法,其核心算法是ID3算法.C4.5算法继承了ID3算法的长处.并在下面几方面对ID3算法进行了改进: 1)用信息增益率来选择属性.克服了用信息增益选择属性时偏向选择取值多的属性的不足: 2)在树构造过程中进行剪枝: 3)可以完毕对连续属性的离散化处理. 4)可以对不

数据挖掘十大算法之CART详解

在2006年12月召开的 IEEE 数据挖掘国际会议上(ICDM, International Conference on Data Mining),与会的各位专家选出了当时的十大数据挖掘算法( top 10 data mining algorithms ),可以参见文献[1].本博客已经介绍过的位列十大算法之中的算法包括: [1] k-means算法(http://blog.csdn.net/baimafujinji/article/details/50570824) [2] 支持向量机SVM

数据挖掘十大算法之决策树详解(2)

在2006年12月召开的 IEEE 数据挖掘国际会议上(ICDM, International Conference on Data Mining),与会的各位专家选出了当时的十大数据挖掘算法( top 10 data mining algorithms ),可以参见文献[1].本博客已经介绍过的位列十大算法之中的算法包括: [1] k-means算法(http://blog.csdn.net/baimafujinji/article/details/50570824) [2] 支持向量机SVM

数据挖掘十大算法--Apriori算法

一.Apriori 算法概述 Apriori 算法是一种最有影响力的挖掘布尔关联规则的频繁项集的 算法,它是由Rakesh Agrawal 和RamakrishnanSkrikant 提出的.它使用一种称作逐层搜索的迭代方法,k- 项集用于探索(k+1)- 项集.首先,找出频繁 1- 项集的集合.该集合记作L1.L1 用于找频繁2- 项集的集合 L2,而L2 用于找L2,如此下去,直到不能找到 k- 项集.每找一个 Lk 需要一次数据库扫描.为提高频繁项集逐层产生的效率,一种称作Apriori

数据挖掘十大算法之决策树详解(1)

在2006年12月召开的 IEEE 数据挖掘国际会议上(ICDM, International Conference on Data Mining),与会的各位专家选出了当时的十大数据挖掘算法( top 10 data mining algorithms ),可以参见文献[1].本博客已经介绍过的位列十大算法之中的算法包括: [1] k-means算法(http://blog.csdn.net/baimafujinji/article/details/50570824) [2] 支持向量机SVM

数据挖掘十大算法之Apriori详解

在2006年12月召开的 IEEE 数据挖掘国际会议上(ICDM, International Conference on Data Mining),与会的各位专家选出了当时的十大数据挖掘算法( top 10 data mining algorithms ),可以参见文献[1].本博客已经介绍过的位列十大算法之中的算法包括: [1] k-means算法(http://blog.csdn.net/baimafujinji/article/details/50570824) [2] 支持向量机SVM

数据挖掘十大算法之k-means算法

1.引言   k-means算法主要是用来解决什么问题呢?主要是用来解决类似于这样的问题:聚类,如一次班级聚餐,平时玩的好的同学,就会自动的聚集在一起愉快的玩耍.那么什么样才算平时玩的好呢?请看k-means算法. K-means算法是硬聚类算法,是典型的基于原型的目标函数聚类方法的代表,它是数据点到原型的某种距离作为优化的目标函数,利用函数求极值的方法得到迭代运算的调整规则.K-means算法以欧式距离作为相似度测度,它是求对应某一初始聚类中心向量V最优分类,使得评价指标J最小.算法采用误差平

数据挖掘十大算法之Appriori算法

1.引言      Appriori算法是用来干什么的?主要是用来解决类似于这样的问题:如果客户买了啤酒,他还会去买尿布吗? 理论的核心: 频繁项目集的子集仍是频繁项目集:非频繁项目集的超集是非频繁项目集.这个理论一直作为经典的数据挖掘理论被应用. 定理(Appriori 属性1). 如果项目集X是频繁项目集,那么它的所有非空子集都是频繁项目集. 定理(Appriori 属性2). 如果项目集X是非频繁项目集,那么它的所有超集都是非频繁项目集. 2.以一个实例来说明Appriori算法 题目:数