zoukankan      html  css  js  c++  java
  • 数据挖掘十大算法总结--核心思想,算法优缺点,应用领域

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

                                                                                                        欢迎转载,请附上链接

                                                                               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步骤使得期望最大化

    算法长处:简单稳定

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

    应用领域:參数预计。计算机视觉的数据集聚

     

    关联分析--Apriori

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

    算法长处:简单、易理解、数据要求低

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

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

     

    链接挖掘--PageRank

    核心思想:基于从很多优质的网页链接过来的网页,必然还是优质网页的回归关系。来判定全部网页的重要性

    算法长处:全然独立于查询。仅仅依赖于网页链接结构,能够离线计算

    算法缺点:忽略了网页搜索的时效性;旧网页排序非常高,存在时间长,积累了大量的in-links,拥有最新资讯的新网页排名却非常低。由于它们差点儿没有in-links

    应用领域:页面排序


    Update on:2014-12-10

  • 相关阅读:
    Java实现 LeetCode 735 行星碰撞(栈)
    Java实现 LeetCode 735 行星碰撞(栈)
    Java实现 LeetCode 887 鸡蛋掉落(动态规划,谷歌面试题,蓝桥杯真题)
    Java实现 LeetCode 887 鸡蛋掉落(动态规划,谷歌面试题,蓝桥杯真题)
    Java实现 LeetCode 887 鸡蛋掉落(动态规划,谷歌面试题,蓝桥杯真题)
    Java实现 蓝桥杯算法提高 求最大值
    Java实现 蓝桥杯算法提高 求最大值
    Java实现 蓝桥杯算法提高 求最大值
    Python eval() 函数
    Python repr() 函数
  • 原文地址:https://www.cnblogs.com/wzzkaifa/p/7079630.html
Copyright © 2011-2022 走看看