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

                                                                   ------------------------------------------------------------------------------------

                                                                                                    欢迎转载,请附上链接

                                                                           http://blog.csdn.net/iemyxie/article/details/40736773 

                                                                   ------------------------------------------------------------------------------------

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

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

分类算法: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算法

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

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

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

应用领域:垃圾邮件过滤,文本分类,新闻分类,Query分类,商品分类等

 

分类算法--KNN

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

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

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

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

 

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

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

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

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

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

 

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

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

算法优点:运算速度比KNN快

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

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

 

统计学习--EM

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

算法优点:简单稳定

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

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

 

关联分析--Apriori

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

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

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

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

 

链接挖掘--PageRank

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

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

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

应用领域:页面排序


Update on:2014-12-10

  • 9
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Apriori算法是一种常见的关联规则挖掘算法,用于发现数据集中项集之间的关联关系。Apriori算法基于频繁项集的概念,即在数据集中经常出现的项集。该算法首先生成所有可能的项集,然后通过剪枝来移除不频繁的项集,最终得到频繁项集。 Apriori算法核心思想是利用“先验知识”(即Apriori原理)来减少候选项集的数量。Apriori原理指的是,如果一个项集是频繁的,则它的所有子集也一定是频繁的。因此,在执行Apriori算法时,我们只需要考虑频繁项集,而不需要考虑非频繁项集。这样就可以减少候选项集的数量,从而提高算法的效率。 Apriori算法的步骤如下: 1. 扫描数据集,计算每个项的支持度(即在数据集中出现的次数)。 2. 根据最小支持度阈值,生成频繁1项集。 3. 基于频繁1项集,生成候选2项集。 4. 扫描数据集,计算候选2项集的支持度,并根据最小支持度阈值筛选出频繁2项集。 5. 基于频繁2项集,生成候选3项集。 6. 重复步骤4和5,直到无法生成新的频繁项集为止。 Apriori算法的优点是简单易懂,实现较为容易。但是,它的缺点也比较明显,即在处理大规模数据集时,需要枚举所有可能的项集,导致计算复杂度较高。同时,由于候选项集的数量会随着项集大小的增加而指数级增长,因此算法的效率会随着项集大小的增加而降低。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值