【数据挖掘】数据挖掘简介及十大经典算法
数据挖掘十大经典算法系列,点击链接直接跳转 :
文章目录
-
一 基本概念
- 二 方法概述
-
- 1. 分类分析 (Classification)
- 2. 回归分析(regression)
- 3. 聚类分析(Clustering)
- 4. 关联规则挖掘 (Affinity grouping or association rules)
- 5. 描述与可视化 (Description and Visualization)
-
三 应用范围
-
四 理论依据
-
五 经典算法清单
-
- C4.5算法
-
- 基于K均值的聚类方法
-
- 支持向量机理论
-
- 频率分析算法
-
- 模糊集估计方法
-
- PageRank原理
-
- 加法模型框架
-
- K近邻分类策略
-
- 条件概率独立假设方法
-
- 决策树生成技术
-
六 关联规则
-
- 1. 过程
- 2. 分类
- 3. 算法
- 4. 应用
- 5. 研究
- 6. 相关性和区别
-
一 概念介绍
定义: 数据挖掘(Data mining)亦称资料探勘或数据采矿。它是数据库知识发现(Knowledge-Discovery in Databases, 简称KDD)的一个步骤。属于计算机科学领域。通常指从大量数据中利用算法提取隐藏信息的过程。这些方法包括统计分析、在线分析处理、情报检索、机器学习、专家系统以及模式识别等技术手段以实现目标。
应用: 近年来以来(过去的一段时间内),数据挖掘受到了信息产业界的广泛关注(普遍讨论),其主要原因是因为存在大量数据(资源丰富),这些数据被广泛应用(得到了充分利用),并且由于这些数据能够被有效地转换为有用的信息和知识(提供了有价值的知识)。这些得到的应用领域非常广泛(覆盖多个方面),包括商业管理、生产控制、市场分析、工程设计以及科学探索等多个不同的领域(方向)。
数据挖掘源自多个领域的核心思想:
(1)统计抽样方法用于估计与推理;
(2)人工智能中的搜索算法与建模技术构成了机器学习的基础;
(3)涵盖最优化方法的技术包括进化计算与信息论等学科;
(4)数据库系统提供了高效的存储与查询功能;
(5)高性能并行计算技术能够有效管理大规模数据集;
(6)分布式架构是解决非集中式大数据存储的关键技术。

图1 数据挖掘的系统模型
二 方法简介
1. 分类 (Classification)
首先从数据源中筛选出已标注类别训练样本,在选定的数据集上采用数据挖掘中的分类技术构建相应的分类模型,并对未预设类别的新样本执行自动识别任务。在实际应用场景中可具体实施如下:a) 个人信用状况分为优质客户、一般客户及风险客户三类;b) 双方共同开发基于大数据分析的故障定位系统,在钢材全生产流程实施质量监控和数据分析工作;通过动态监测并分析原因所在,在及时发现异常时即可采取针对性措施;显著提升了产品质量水平。注意:类别数量已事先确定
2. 回归(regression )
回归与分类类似,不同之处在于,分类描述的是离散型变量的输出,而回归处理连续值的输出;分类的类别是确定数目的,回归的量是不确定的。
应用:
a. 根据购买模式,估计一个家庭的孩子个数
b. 根据购买模式,估计一个家庭的收入
c. 估计real estate的价值
一般来说,回归可以作为分类的前一步工作。给定一些输入数据,通过回归,得到未知的连续变量的值,然后,根据预先设定的阈值,进行分类。例如:银行对家庭贷款业务,运用估值,给各个客户记分(Score 0~1)。然后,根据阈值,将贷款级别分类。
3. 聚类(Clustering)
聚类是对记录分组,把相似的记录在一个聚集里。聚类和分类的区别是聚集不依赖于预先定义好的类,不需要训练集。
例子:
a. 一些特定症状的聚集可能预示了一个特定的疾病
b. 租VCD类型不相似的客户聚集,可能暗示成员属于不同的亚文化群
聚集通常作为数据挖掘的第一步。例如,“哪一种类的促销对客户响应最好?”,对于这一 类问题,首先对整个客户做聚集,将客户分组在各自的聚集里,然后对每个不同的聚集,回答问题,可能效果更好。
4. 相关性分组或关联规则(Affinity grouping or association rules)
识别哪些事情通常会共同发生?举例说明如下:a. 在超市中购物时顾客购买A往往会伴随着同时采购B;这种关系可用关联规则表示为A → B(关联规则)。b. 客户在完成A的购物后,在一段时间内会有兴趣再次购买B;这可以通过序列分析来揭示
5. 描述和可视化(Description and Visualization)
通常采用特定的呈现形式来展示数据挖掘成果。这种表示方式通常称为数据可视化工具或商业智能(BI)系统等术语的统称。通过这些工具对信息进行展示、深入分析和挖掘,在视觉上使数据分析结果更加直观且深入地呈现出来。
三 应用领域
从目前网络招聘的信息来看,大小公司对数据挖掘的需求有50多个方面:
1、数据统计分析
2、预测预警模型
3、数据信息阐释
4、数据采集评估
5、数据加工仓库
6、品类数据分析
7、销售数据分析
8、网络数据分析
9、流量数据分析
10、交易数据分析
11、媒体数据分析
12、情报数据分析
13、金融产品设计
14、日常数据分析
15、总裁万事通
16、数据变化趋势
17、预测预警模型
18、运营数据分析
19、商业机遇挖掘
20、风险数据分析
21、缺陷信息挖掘
22、决策数据支持
23、运营优化与成本控制
24、质量控制与预测预警
25、系统工程数学技术
26、用户行为分析/客户需求模型
27、产品销售预测(热销特征)
28、商场整体利润最大化系统设计
29、市场数据分析
30、综合数据关联系统设计
31、行业/企业指标设计
32、企业发展关键点分析
33、资金链管理设计与风险控制
34、用户需求挖掘
35、产品数据分析
36、销售数据分析
37、异常数据分析
38、数学规划与数学方案
39、数据实验模拟
40、数学建模与分析
41、呼叫中心数据分析
42、贸易/进出口数据分析
43、海量数据分析系统设计、关键技术研究
44、数据清洗、分析、建模、调试、优化
45、数据挖掘算法的分析研究、建模、实验模拟
46、组织机构运营监测、评估、预测预警
47、经济数据分析、预测、预警
48、金融数据分析、预测、预警
49、科研数学建模与数据分析:社会科学,自然科学,医药,农学,计算机,工程,信息,军事,图书情报等
50、数据指标开发、分析与管理
51、产品数据挖掘与分析
52、商业数学与数据技术
53、故障预测预警技术
54、数据自动分析技术
55、泛工具分析
56、互译
57、指数化
其中,互译与指数化是数据挖掘除计算机技术之外最核心的两大技术。
四 应用依据
第一源点:业务目标作为数据解决方案的关键要素。
第二核心:业务知识在数据挖掘流程中的每个环节都占据核心地位。
第三基础:数据预处理在所有数据分析环节都被视为最基础的关键步骤。
第四定律(NFL定律)指出,在数据分析领域不存在所谓的"免费午餐"。
第五规律:根据统计学原理,在大量样本中必然存在可识别的规律性。
第六洞见:通过数据分析与建模技术的应用, 企业能够显著提升对业务运作的理解程度.
第七功能: 预测分析有助于企业实现信息的有效推广与利用.
第八价值评估应关注于实际应用效果而非模型特性或预测精度.
第九特征: 模式特征会受到业务环境不断变化的影响.
五 十大经典算法

1. C4.5
经典的十个数据挖掘算法中——C4.5 算法
2. K-means算法
数据挖掘领域中十种经典的算法体系中包含着一种叫做K-Means的无监督学习方法
3. SVM
4. Apriori
modern data mining: Apriori algorithm, a cornerstone in the field of data analysis
5. EM
在数据挖掘领域中,EM 方法作为核心技术之一具有广泛的应用价值
6. pagerank
数据挖掘十大经典算法以 PageRank 算法 为名
7. Adaboost
8. KNN
在数据挖掘领域中,KNN算法被视为十种经典算法之一.它是一种基于最近邻的分类与回归方法,在模式识别和机器学习中具有重要应用
9. Naive Bayes
Data Mining Top 10 Classic Algorithms — Naïve Bayes Algorithm
Data Mining Top 10 Classic Algorithms — Naïve Bayes Algorithm
10. CART
数据挖掘十大经典算法之——基于分类与回归树的方法
该方法通过构建分类与回归树来实现数据分类与预测
六 关联规则
数据关联作为数据库中一种具有重要价值的知识形态存在。当两个或多个变量的取值呈现出某种规律性时,则被定义为具有关联系数的数据属性集合。这些关系可以划分为三类:简单关联、时序关联以及因果关联。通过关联分析技术,在数据库中挖掘出潜在的相关联网络以揭示其内在规律性特征。在实际情况中,往往无法明确知道数据库中的数据间是否存在明确的函数关系,即使能够获得也可能难以确切确定其具体形式,因此所生成的相关联规则通常会附加一定的可信度参数以反映其适用范围和可靠性程度.基于此,相关联规则挖掘算法旨在从海量数据中发现隐藏在其中的各种项集之间的有趣联系.1993年左右,Agrawal首次提出了一种用于挖掘顾客交易数据库中的项集间相关联规则的方法.这种方法的核心在于利用频繁项集的概念来构建有效的知识表示框架,并在此基础上发展出一系列优化算法以提高计算效率.随后的研究人员在此基础上不断拓展和完善相关技术,如引入随机采样策略和并行计算思想等,从而进一步提升了算法的整体性能.与此同时,人们也在不断探索将这一技术应用到更多领域之中,形成了较为完善的理论体系框架
1. 过程
该过程主要涉及两个核心环节:第一个环节要求在资料集合中识别出所有的频繁项目组合(FrequentItemsets),而第二个环节则通过这些频繁项目组合创建关联规则(Association Rules)。
关联规则挖掘的第一阶段主要需要从原始数据集合中提取出所有具有高频率的项目组合(Large Itemsets)。高频率指的是某个项目组合在整个数据集中出现的比例需满足设定的标准水平。一个项目的出现频率被称为支持度(Support),例如对于包含A和B两个项目的2-itemset来说,则可通过公式(1)计算其{A,B}项目的组合的支持度值;当该支持度大于等于预设的最小支持度(Minimum Support)阈值时,则称{A,B}为高频项目组合;满足最小支持度要求的一个k-itemset则被称为高频k-项目组合(Frequent k-itemset),通常简记为Frequent(k)或Large(k). 算法则通过从现有的Large(k)项目组合中生成相应的Large(k+1)项目组合,并持续这一过程直至无法再发现更长的高频项目组合为止.
关联规则挖掘的后续阶段是生成关联规则(Association Rules)。基于前一阶段获取的频繁k-项目组集合,系统会从中提取出所有可能的候选关联规则,并在设定好最低置信度水平下进行筛选。只有那些满足最低阈值条件的候选项才会被确认为有效的关联规则。例如:从频繁k-项目组{A,B}中产生的AB关联规则,其置信度可通过公式(2)计算出置信度值,只要该数值高于或等于最低阈值,则称AB为有效关联规则。
关联规则挖掘通常被认为是一种有效的技术手段,在记录中当指标呈现离散数值特征时即可直接应用。然而,在实际操作中若遇到原始数据库中指标呈现连续数值特征的情况,则需先对其进行适当的预处理步骤——数据离散化(即将某一区间范围内的所有数值映射至同一类别),而这一过程的关键性决定了后续关联规则的质量如何处理这一过程直接关系到关联规则的质量
2. 分类
按照不同情况,关联规则可以进行分类如下:
基于变量处理的类别,在数据挖掘中,关联规则主要可分为布尔类型与数值类型两种形式。布尔类型关联规则主要处理的是离散且具类别的变量,在揭示这些变量之间存在的关系方面具有重要作用;而针对数值字段的操作,则可以在与多维或多层次关联规则结合使用时实现更为复杂的分析功能。具体而言,在对数值字段进行操作时,既可以单独使用动态分割的方法进行分析,在原始数据的基础上直接进行计算等操作;在涉及收入这类指标时,则会得到如"性别为'女'则职业为'秘书'"等明确的关系描述;而在涉及收入时,则会得到如"性别为'女'则平均收入等于2300"等明确的关系描述。
根据数据在规则中的抽象层次划分为单层与多层关联关系。未充分考虑现实数据具有多层次特性;而多层关联则充分地考虑了这种多层次性。举例而言,在详细的数据层面下存在IBM台式机→Sony打印机这样的单层关联关系;而较高层级与细节层级之间的关系如台式机→Sony打印机,则属于多层关联关系。
基于数据维度的不同类型划分标准下,关联规则主要可分为单一维度与多维度两类形式进行划分。在单一维度下的关联规则中仅涉及单一属性或字段的数据关系分析;而多维度下的关联规则则需综合考虑多个属性或字段之间的相互作用关系。具体而言,在单一维度下我们关注的是某一个属性或字段内部存在的关系模式;而在多维度下则需要分析不同属性之间存在的关联性规律。例如:购买行为中的"啤酒→尿布"这一关联规则仅涉及用户的购物行为数据;而性别与职业之间的"性别=女→职业=秘书"这一关联规则则需要综合分析两个属性域内的数据信息以建立相应的关联关系模型[2]。
3. 算法
1.Apriori算法:使用候选项集找频繁项集
Apriori算法是一种最有影响的挖掘布尔关联规则频繁项集的算法。其核心是基于两阶段频集思想的递推算法。该关联规则在分类上属于单维、单层、布尔关联规则。在这里,所有支持度大于最小支持度的项集称为频繁项集,简称频集。
该算法的基本思想是:首先找出所有的频集,这些项集出现的频繁性至少和预定义的最小支持度一样。然后由频集产生强关联规则,这些规则必须满足最小支持度和最小可信度。然后使用第1步找到的频集产生期望的规则,产生只包含集合的项的所有规则,其中每一条规则的右部只有一项,这里采用的是中规则的定义。一旦这些规则被生成,那么只有那些大于用户给定的最小可信度的规则才被留下来。为了生成所有频集,使用了递推的方法。
可能产生大量的候选集,以及可能需要重复扫描数据库,是Apriori算法的两大缺点。
2.基于划分的算法
该算法是由Savasere及其团队提出的。该方法将数据库划分为若干互不重叠的部分,并对每个部分独立地生成所有候选项集。随后将各部分产生的候选项集合并汇总以获取全局完整的候选集合。该算法的设计理念是确保每个分块能够完全加载至内存中进行处理,并且只需要扫描一次即可完成数据处理过程。其理论基础在于每一个可能的候选项集至少会在某一个子集中出现才能被视为全局频繁项集。由于该算法具有良好的并行特性,在实际应用中可将各个子块分别分配给不同的处理器进行独立处理以提升效率。在各处理器完成本轮次任务后会进行通信协作以构建全局层次上的候选集合;然而由于通信环节往往成为影响整体性能的关键瓶颈因素之一;另一方面各处理器独自处理数据所消耗的时间也难以避免成为性能优化的重点对象。
3.FP-树频集算法
该算法旨在解决Apriori方法存在的不足,并由J. Han等学者提出了一种不生成候选项集的方法。基于分治策略,在完成第一次扫描之后将数据库中的频繁项集压缩至一棵频繁模式树(即FP-tree),同时保持原有的关联关系,并在此基础上分化出若干个条件子数据库。每个子数据库对应一个仅包含一条频繁项集的分支结构,并分别对其进行后续挖掘操作。当原始数据量非常庞大时,则可采用划分方法使得单个FP-tree能够完全容纳于内存中进行处理。实验结果表明,在处理不同长度的支持度-置信度规则方面 FP-growth展现出良好的适应性,并且较Apriori算法在效率上有着显著提升
4. 应用
就目前而言,在西方金融行业中被广泛应用于各个企业之中的是关联规则挖掘技术。它能够准确预测银行客户的潜在需求并据此优化营销策略。如今各大银行都在不断探索新的客户沟通方式以提高服务质量。在ATM机上各银行通常会整合与该客户相关的本行产品和服务信息以便于用户了解相关信息。如果数据库显示某位高信用额度客户更改了地址很可能近期购买了一栋更大面积的新居因此可能需要更高额度的新信用卡或者住房贷款等高级服务这些产品可以通过邮寄的方式送达客户当电话销售代表接通客户的电话时数据库可以帮助提供更有针对性的服务并实时展示客户的各项特征同时也能反映出潜在的兴趣点
5. 研究
由于许多实际应用场景都比超市采购问题更为复杂,在现有研究中针对关联规则的拓展性进行了多维度研究。通过将额外的信息元素整合到关联规则挖掘体系中以提升其适用性与实用性,在一定程度上丰富了该方法在实际应用中的适用范围。近年来的研究重点主要集中在如何扩展传统经典关联规则能够解决的实际问题类型以及如何优化现有算法以提高效率和生成更有价值的挖掘结果这两方面的问题。
6. 相关性和区别
人们常常会关注的问题是数据挖掘与OLAP之间的区别与联系。实际上,在知识发现过程中这两者扮演着完全不同的角色,并且基于的技术体系也存在显著差异。
【参考资料】百度百科-数据挖掘
