国际权威的学术组织the IEEE International Conference on Data Mining (ICDM) 2006 (香港召开)年12月评选出了数据挖掘领域的十大经典算法。不仅仅是选中的十大算法,其实参加评选的18种算法,实际上随便拿出一种来都可以称得上是经典算法,它们在数据挖掘领域都产生了极为深远的影响。
C4.5, k-Means, SVM, Apriori, EM, PageRank, AdaBoost, kNN, Naive Bayes, and CART.
目录
Classification分类
1.C4.5
2.CART算法
3.KNN
4.Naive Bayers朴素贝叶斯
Statistical Learning统计学习
5.SVM(Support Vector Machines)
6.EM
Association Analysis关联分析
7.Apriori
8.FP-Tree
Link Mining链接挖掘
9.PageRank
10.HITS
Clustering聚类
11.K-Means(The k-means algorithm)
12.BRICH
Bagging and Boosting袋装与推进
13.AdaBoost
Sequential Patterns序列模式
14.GSP
15.PrefixSpan
Integrated Mining集成挖掘
16.CBA
Rough Sets粗糙集
17.finding reduct
Graph Mining图挖掘
18.GSpan
Classification分类
1.C4.5
C4.5算法是机器学习算法中的一种分类决策树算法,其核心是ID3算法。C4.5算法继承了ID3算法的优点,并在以下几个方面对ID3算法进行了改进:
(1)用信息增益率/比来选择属性,克服了用信息增益选择属性时偏向选择取值多的属性的不足;
(2)在树构造过程中进行剪枝处理;
(3)能够完成对连续属性的离散化处理;
(4)能够对不完整数据进行处理。
优点:产生的分类规则易于理解,准确率高。
缺点:在构造树的过程中,需要对数据集进行多次的顺序扫描和排序,因而导致算法的低效。
决策树
优点:计算复杂度不高,输出结果易于理解,对中间值的缺失不敏感,可以处理不相关特征数据。
缺点:可能产生过拟合问题。
适用数据类型:数值型和标称型。
2.CART算法
CART算法的全称是分类回归树算法(Classification and Regression Tree),它是一个二元分类,采用的是类似于熵的基尼指数作为分类决策,形成决策树之后要进行减枝处理。在分类树下面有两个关键的思想。第一个是关于递归地划分自变量空间的想法(二元切分法);第二个想法是用验证数据进行剪枝(预剪枝、后剪枝)。在回归树的基础上的模型树构建难度可能增加了,但同时其分类效果也有提升。
树回归
优点:可以对复杂和非线性的数据建模。
缺点:结果不易理解。
适用数据类型:数值型和标称型。
3.KNN
给定一些已经训练好的数据,输入一个新的测试数据点,计算包含于此测试数据点的最近的点的分类情况,哪个分类的类型占多数,则此测试点的分类与此相同。方法思路:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中大多数属于某一个类别,则该样本也属于这个类别。
k-近邻算法
优点:精度高,对异常值不敏感,无数据输入假定。
缺点:计算复杂度高、空间复杂度高。
适用数据类型:数值型和标称型。
4.Naive Bayers朴素贝叶斯
条件概率的相互转换推导。
在众多的分类模型中,应用最为广泛的两种分类模型是决策树模型(Decision Tree Model)和朴素贝叶斯模型(Naive Bayesian Model,NBC)。 朴素贝叶斯模型发源于古典数学理论,有着坚实的数学基础,以及稳定的分类效率。同时,NBC模型所需估计的参数很少,对缺失数据不太敏感,算法也比较简单。理论上,NBC模型与其他分类方法相比具有最小的误差率。 但是实际上并非总是如此,这是因为NBC模型假设属性之间相互独立,这个假设在实际应用中往往是不成立的,这给NBC模型的正确分类带来了一定影响。在属性个数比较多或者属性之间相关性较大时,NBC模型的分类效率比不上决策树模型。而在属性相关性较小时,NBC模型的性能最为良好。
朴素贝叶斯
优点:在数据较少的情况下仍然有效,可以处理多类别问题。
缺点:对于输入数据的准备方式较为敏感。
适用数据类型:标称型。
Statistical Learning统计学习
5.SVM(Support Vector Machines)
支持向量机,英文为Support Vector Machine,简称SVM。它是一种监督式学习的方法,它广泛应用于统计分类以及回归分析中。支持向量机将向量映射到一个更高维的空间里,在这个空间里建立有一个最大间隔超平面。在分开数据的超平面的两边建有两个互相平行的超平面。分隔超平面使两个平行超平面的距离最大化。假定平行超平面间的距离或差距越大,分类器的总误差较小。一个极好的指南是C.J.C Burges的《模式识别支持向量机指南》。Van der Walt 和 Barnard 将支持向量机和其他分类器进行了比较。
支持向量机
优点:泛化错误率低,计算开销不大,结果易理解。
缺点:对参数调节和核函数的选择敏感,原始分类器不加修改仅适用于处理二类问题。
适用数据类型:数值型和标称型数据。
6.EM
在统计计算中,最大期望(EM,Expectation–Maximization)算法是在概率(probabilistic)模型中寻找参数的最大似然估计的算法,其中概率模型依赖于无法观测的隐藏变量(Latent Variabl)。最大期望经常用在机器学习和计算机视觉的数据集聚类(Data Clustering)领域。
Association Analysis关联分析
7.Apriori
Apriori算法是一种最有影响的挖掘布尔关联规则频繁项集的算法。其核心是基于两阶频段集思想的递推算法。该关联规则在分类上属于单维、单层、布尔关联规则。在这里,所有支持度大于最小支持度的项集称为频繁项集,简称频集。
Apriori算法
优点:易编码实现。
缺点:在大数据集上可能较慢。
适用数据类型:数值型或者标称型数据。
8.FP-Tree
这个算法克服了Apriori算法的产生过多候选集的缺点,通过递归的产生频度模式树,然后对树进行挖掘,后面的过程与Apriori算法一致。
Link Mining链接挖掘
9.PageRank
PageRank是Google算法的重要内容。2001年9月被授予美国专利,专利人是Google创始人之一拉里·佩奇(Larry Page)。因此,PageRank里的page不是指网页,而是指佩奇,这个等级算法是以佩奇来命名的。
PageRank根据网站的外部链接和内部链接的数量和质量衡量网站的价值。PageRank背后的概念是,每个到该页面的链接都是对该页面的“一次投票”, 被链接的频数越多,就意味着被其他网站投票越多。这个就是所谓的“链接流行度”——衡量多少人愿意将他们的网站和你的网站挂钩。PageRank这个概念引自学术中一篇论文的被引述的频度——即被别人引述的次数越多,一般判断这篇论文的权威性就越高。
10.HITS
与PageRank算法是比较类似的,HITS算法引入了权威值和中心值的概念,HITS算法是受用户查询条件影响的。
Clustering聚类
11.K-Means(The k-means algorithm)
k-means算法是一个聚类算法,把n的对象根据他们的属性分为k个分割,k < n。它与处理混合正态分布的最大期望算法很相似,因为他们都试图找到数据中自然聚类的中心。它假设对象属性来自于空间向量,并且目标是使各个群组内部的均方误差总和最小。
K-均值聚类
优点:容易实现。
缺点:可能收敛到局部最小值,在大规模数据集上收敛较慢。
适用数据类型:数值型数据。
12.BRICH
BRICH算法利用构建CF聚类特征树作为算法的核心,通过树的形式,BRICH算法扫描数据库,在内存中建立一颗初始的CF树,可以看做数据的多层压缩。
Bagging and Boosting袋装与推进
13.AdaBoost
AdaBoost是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个更强的最终分类器(强分类器)。其算法本身是通过改变数据分类来实现的,它根据每次训练集之中每个样本的分类是否正确,以及上次的总体分类的准确率,来确定每个样本的权值。将修改过权值的新数据集送给下层分类器进行训练,最后将每次训练得到的分类器最后融合起来,作为最后的决策分类器。
AdaBoost
优点:泛化错误率低,易编码,可以应用在大部分分类器上,无参数调整。
缺点:对离群点敏感。
适用数据类型:数值型和标称型数据。
Sequential Patterns序列模式
14.GSP
序列模式挖掘算法,GSP算法也是Apriori类算法,在算法的过程中也会进行连接和剪枝操作,不过在剪枝判断的时候还加上了一些时间上的约束等条件。
15.PrefixSpan
PreFixSpan算法是另一个序列模式挖掘算法,在算法的过程中不会产生候选集,给定初始前缀模式,不断的通过后缀模式中的元素转到前缀模式中,而不断的递归挖掘下去。
Integrated Mining集成挖掘
16.CBA
CBA算法是一种集成挖掘算法,因为他是建立在关联规则挖掘算法之上的,在已有的关联规则理论前提下,做分类判断,只是在算法的开始时对数据做处理,变成类似于事务的形式。
Rough Sets粗糙集
17.finding reduct
进行属性约简的算法,通过上下近似集的判断删除无效的属性,进行规制的输出。
Graph Mining图挖掘
18.GSpan
GSpan算法属于图挖掘算法领域,主要用于频繁子图的挖掘,相较于其他的图算法,子图挖掘算法是他们的一个前提或基础算法。GSpan算法用到了DFS编码,和Edge五元组,最右路径子图扩展等概念,算法比较抽象和复杂。