数据挖掘技术方法的研究
2011-12-31郭佳
郭佳
(兰州石化职业技术学院信息处理与控制工程系,甘肃 兰州 730060)
数据挖掘作为近年来新兴的一种数据处理技术,不仅被许多研究人员看作是数据库系统和机器学习方面一个重要的研究课题,而且已经被工商界人士看作是一个能带来巨大回报的重要领域。
1 数据挖掘的定义
目前有关数据挖掘的定义有很多,一种比较公认的定义如下:
数据挖掘是指从大量数据中抽取隐含的、不为人知的、有用的信息。数据挖掘被描述为从大型数据库的数据中提取人们感兴趣的知识。这些知识是隐含的、事先未知的潜在有用信息,提取的知识表示为概念(Concepts)、规则(Rules)、规律(Regularities)、模式(Patterns)等形式。试图创建一个数据库中描述的复杂世界的简单模型,因而我们也可以说数据挖掘是处理大量信息的方法,并且它有助于以比人更快的速度发现有用的信息。
2 数据挖掘的任务
数据挖掘的任务就是从数据集中发现模式。模式可以有很多种,按功能可分为两大类:预测型(Predictive)模式和描述型(Descriptive)模式。具体任务主要有以下几种:
2.1 分类:用于预测事件所属的类别,其中样本数据中包含标识样本事件所属类别的数据项,类别是已知的,由数据挖掘根据样本数据构建对这些类别的模式的描述,再利用所发现的模式,参照新的数据的特征变量,将其映射入已知类别中。
2.2 聚类:用于描述和发现数据库中以前未知的数据类型,其中样本数据中不包含类别变量,数据挖掘将具有共同趋势和模式的数据元组聚集为一类,使类内各元组相似程度最高,类间差异最大。
2.3 关联规则:用于发现给定事件或纪录中经常一起发生的项目,由此推断事件间潜在的关联,识别有可能重复发生的模式。
2.4 序列模式:与关联分析相似,只是扩展为一段时间的项目集间的关系。常把序列模式看作由时间变量连接起来的关联。序列分析可分析长时间的相关纪录,发现经常发生的模式。
3 数据挖掘的方法
数据挖掘中采用的方法综合了数据库、人工智能、统计学、模式识别、机器学习、数据分析等领域的研究成果。下面我们给出主要数据挖掘方法:
3.1 决策树方法
决策树的每个内部节点表示在一个属性上的测试,每个分支表示一个测试的输出,每个树叶节点表示类和类的分布。构造一个决策树分类器通常分为两步:树的生成和剪枝。树的生成采用自上而下的递归分治法。剪枝就是使用统计度量,剪去那些不可靠的分枝。ID3及其后续版本C4.5,C5是使用最为广泛的决策树方法,采用信息嫡增益及其改进增益率进行属性选择。
3.2 关联分析
关联规则挖掘需要找出的是支持率和置信度分别大于或等于用户指定的临界值的关联规则。关联规则挖掘过程分为两步:首先找出所有的频繁项目集及其支持率;然后根据找到的频繁项目集导出所有的置信度大于或等于用户指定的最小置信度的关联规则。关联规则的研究一般都在寻找频繁项目集上。
3.3 聚类分析
聚类是按照某个特定标准 (通常是某种距离)把一个数据集分割成不同的类,使得类内相似性尽可能的大;同时,类间的区别性也尽可能的大。聚类方法可以划分为以下几类:①划分方法;②层次方法;③基于密度的方法;④基于网格的方法;⑤基于模型的方法等。
3.4 遗传算法
遗传算法是Holland于1967年提出的[1],模拟生物进化过程的计算模型,是自然遗传学和计算机科学相互结合渗透而形成的新的计算方法。遗传算法由3个基本算子组成:繁殖、交叉和变异。遗传算法已在优化计算和分类机器学习方面显示了明显的优势。
3.5 粗糙集方法
粗糙集理论是上世纪八十年代初Z.Pawlak针对G.Firege的边界域思想提出的[2],基于给定训练数据内部的等价类,用上、下近似集合来逼近数据库中的不精确概念。用于分类,可以发现不准确数据或噪声数据内在的结构联系;用于属性约简,可以识别和删除无助于给定训练数据分类的属性;用于相关分析,可以根据分类任务评估每个属性的贡献或意义。其主要思想是在保持分类能力不变的前提下,通过知识约简,导出问题的决策或分类规则。
3.6 支持向量机方法
支持向量机方法是建立在统计学习理论的VC维理论和结构风险最小原理基础上的一种新的学习方法,是根据有限的样本信息在模型复杂性和学习能力之间寻求最佳折衷,以期获得最好的泛化能力。它是Vapnik于1995年提出的,近年受到国际学术界的高度重视。
数据挖掘算法是对数据挖掘方法的具体实现,其好坏将直接影响到所发现知识的好坏,因此选取适当的算法或算法组合至关重要,目前对数据挖掘的研究也主要集中在算法及其应用方面。一般来说,不存在一个普遍适用的算法,一个算法在某个领域非常有效,但在另一个领域却可能不太合适。因此,在实际应用中要针对具体应用的目标和情况,精心选择有效的数据挖掘算法。
4 数据挖掘的步骤
数据挖掘的实施大体可分为以下三步:数据准备、数据挖掘、结果表达和解释,其中数据准备又可以划分为数据集成、数据选择、预处理三个阶段,结果表达和解释包含模式评估和知识表示的内容。
4.1 数据准备
数据准备的过程是整理原始数据,给数据挖掘过程提供可供挖掘的材料。数据准备过程按照数据的处理顺序可以细分为若干个阶段,数据集成是将多种数据源组合在一起,开始着手提供发现任务的操作对象,这个过程中也进行数据清理工作,对各个数据源中的噪音数据和不一致数据进行处理,可能包括补充残缺值、消除重复记录、完成数据类型转换等内容。数据选择从完成数据集成后的数据库中检索和分析任务相关的数据作为发现任务的操作对象,形成目标数据。数据预处理将数据变换为适合挖掘的形式,如汇总或聚集操作、属性量化或数据降维等。
4.2 数据挖掘
数据挖掘阶段首先要确定挖掘任务中要找的模式类型,也就是要确定挖掘的任务和目的,数据挖掘任务一般可以分为两类:描述和预测。描述性任务刻划数据集中数据的一般特征,预测性任务在当前数据集上进行推断,以进行预测。其次还要考虑采用什么样的挖掘算法,对于同样的任务类型可能存在多种算法实现,此时要考虑数据集的具体特点和表现形式,对比各种挖掘算法,对各种算法的要求和前提假设要有充分的理解,然后最终确定合适的算法类型。
4.3 结果表达与解释
数据挖掘系统具有产生数以千计、甚至上万的模式或规则的潜在能力。在这些模式中,用户只对其中的一小部分模式感兴趣,这就需要数据挖掘系统能提供对各种模式的评估能力,依据用户对模式的兴趣度进行评估,剔除掉大多数无关模式,把能够表示知识的有趣模式提交给用户。知识发现由于最终是面向人类用户的,因此可能要对发现的模式进行可视化,或把结果转换为用户易于理解的另一种表示方式。
[1]Holland J H.Adaptation in natural and artificialsystems [M].Univ of Michigan Press,Ann Arbor Mich,1975
[2]Pawlak Z.Rough sets[J].International journal of computer & information sciences.1982,11(5):341-356