盘点:数据挖掘十大经典算法

Posted 大数据与数据科学家

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了盘点:数据挖掘十大经典算法相关的知识,希望对你有一定的参考价值。

数据挖掘一般是指通过算法搜索隐藏于大量的数据中的信息的过程。近年来,这一概念引起了广泛的关注,其主要原因就在于信息的爆炸式增长,人类已经步入了大数据的时代,人们迫切需要将数据转换成有用的信息和知识,进而应用在实际生活当中。顶级数据挖掘会议ICDM于2006年12月评选出了数据挖掘领域的十大经典算法,下面就是对这些算法的简要介绍。


1.C4.5算法

要了解C4.5算法,首先要理解决策树的概念。决策树整体为树结构,每一个内部节点都表示在一个属性上的测试,节点的分支代表属性的不同取值,每个叶节点存储一个类标号。C4.5算法是一种用于产生决策树的监督学习算法,是对ID3算法的一种扩展。其目的是建立元素属性到其所属类别的映射,进而实现对未知类别元素的分类。需要把数据集中的每一个元组都用一组属性值来描述,确保每一个元素都属于且仅属于某一类别,即决策树上只存在唯一一条路径符合该元素的属性。C4.5算法采用信息增益率来进行节点属性的选择。



2.K-means

k-means是非监督学习中的一种聚类算法(把没有类别标注的样本数据根据相似性进行分类),用距离来度量相似性。该算法首先随机选取任意k个对象作为初始聚类的中心,即初始地代表一个簇,对数据集中的其他对象,根据其与各个中心的距离将每个对象赋给最近的簇,在所有对象都分类完毕后,重新计算新的聚类中心,重复迭代直至算法收敛。K-means是一个局部最优的算法,容易受到k取值和初始聚类中心选取的影响。



3.SVM

    SVM,即支持向量机,是一种得到广泛应用的分类算法,目的是获取一个超平面将数据分成两类,通常用来进行模式识别、分类以及回归分析。对于SVM来说,可以将问题分为线性可分、线性不可分和非线性三类。其中,对于线性不可分问题需要引入松弛变量,对于非线性问题需要进行空间变换,将低维空间线性不可分的问题转化为在高维空间线性可分的问题。



4.Apriori

Apriori,即关联分析,是一种用于在数据中挖掘出潜在的关联关系的算法。这些关系有两种形式:频繁项集或者关联规则。频繁项集是经常出现在一起的物品的集合;关联规则暗示两种物品之间可能存在很强的关系。举例来说,观察一个超市一天中所有顾客的购买清单,我们会发现其中存在一些总是会一起出现的组合,比如薯条和番茄酱、尿布和啤酒等,{尿布,啤酒}就是一个频繁项集,尿布->啤酒就是一个关联规则。频繁和关联的定义来自支持度和置信度两个概念,支持度是指数据集中包含该项集的记录所占的比例,而置信度是指A出现时B是一定出现的概率是多少。



5.EM

    EM算法,即期望最大化算法,是一种在含有隐变量的情况下计算最大似然的迭代优化算法。所谓隐变量,是指我们无法观测到的变量;所谓最大似然,是一种估计模型参数的统计学方法。算法分为两步,即期望步(E步)和最大化步(M步)。在E步,根据参数上一次迭代所得参数值(或初始值)计算隐变量的后验概率,作为其估计值;在M步,将似然函数最大化以获得新的参数值。



6.PageRank

PageRank,是用来解决链接分析中网页排名问题的算法,它将对页面的链接视作投票,反映这个页面的重要与否。其核心思想包括以下两个观点:(1)如果一个网页被很多其他网页链接到,则说明这个网页比较重要;(2)当一个网页被比较重要的网页所链接时,这个网页的重要性也会相对提高。页面的PageRank值是由所有链向它的页面的重要性经过递归算法得到的。



7.AdaBoost

AdaBoost,即集成学习,是针对某一训练集训练不同的弱分类器,再把这些弱分类器集合构成一个强分类器的算法,泛化能力通常比单一的弱分类器要好。集成学习的关注重点在于如何调整训练数据样本的权重,以及如何组合基分类器。本质上是一种迭代算法,采用重赋权法迭代地训练基分类器,即对每一轮的训练数据样本都赋予一个权重,并根据上一轮的分类结果调整样本的权值,基分类器之间采用序列式的线性加权方式进行组合。



8.KNN

KNN,即K最邻近算法,是监督学习方法中的一种分类算法,其核心思想是每对一个对象进行分类时,就根据所设定的k值,在训练集中选取离这个数据点最近的k个邻居,这k个邻居中出现次数最多的类别,就是该数据点的类别。因此kNN方法在做类别决策时,并不依赖于全部训练样本,而是只与极少量的相邻样本有关,且并不需要根据训练样本训练模型。K值的选取对结果影响较大,且K值一般取奇数。



9.Naïve Bayes

    Naïve Bayes,即朴素贝叶斯,是利用概率统计知识进行分类的统计学分类方法。实现的方法比较简单,且效率和准确率比较高,在大型数据库中也比较适用。其主要思想是通过联合概率P(x,y)=P(x|y)P(y)建模,然后运用贝叶斯定理求解后验概率P(y|x),后验概率的最大者所对应的类别就是预测的类别。贝叶斯定理假设一个属性值对给定类的影响是独立于其它属性的值的,但是这个假设在实际情况中经常是不成立的,因此其分类准确率可能会受到一定的影响。另外,在估计先验概率与条件概率时,计算所得值可能为0,这会导致后验概率也为0,影响分类效果。这种问题可以通过平滑处理得以解决,这种方法也被称为贝叶斯估计。



10.CART

    CART,即分类与回归树,是在给定输入随机变量X条件下输出随机变量Y的条件概率分布的学习方法,同时输出分类树(输出类别)和回归树(输出实数),既可用于分类也可用于回归。本质是对特征空间进行二元划分,即CART的决策树是一棵二叉树,内部节点特征的取值只有“是”和“否”两种,对属性进行二元分裂。由树的生成和树的剪枝两个步骤构成。树的生成,即基于训练数据集生成尽量大的决策树;树的剪枝,即以损失函数最小作为标准,用验证数据集对已生成的树进行剪枝,选择最优子树。与C4.5不同的是,分类树用基尼指数选择最优特征,同时决定该特征的最优二值切分点。

(责任编辑:万晓珑)


主编:王宏志

特邀副主编: 朱劼

副主编: 丁小欧

责任编辑: 齐志鑫,宋扬,万晓珑、魏龑,张荣恩

编辑: 陶颖安


长按下图并点击 “识别图中二维码”,即可关注大数据与数据科学家微信公共号 

以上是关于盘点:数据挖掘十大经典算法的主要内容,如果未能解决你的问题,请参考以下文章

盘点 10 种经典排序算法!建议收藏

#yyds干货盘点#十大经典排序之:基数排序 |计数排序

数据挖掘十大经典算法之EM

数据挖掘十大经典算法

数据挖掘领域十大经典算法

数据挖掘领域十大经典算法