当前位置:文档之家› 数据挖掘算法的分析与研究

数据挖掘算法的分析与研究

科技广场2010.90引言随着数据库技术的飞速发展,人们在各种应用领域所拥有的数据量急剧增加,这些数据对人们的工作和研究有着重要的作用,但是由于对这些数据进行高级处理的工具比较少,使它们的重要性没有能够充分的发挥。

当前多数的数据库系统只是可以对数据库中已有的数据进行存取、查询和统计等简单操作,通过这些操作人们可以获得数据的一些简单信息。

但这些信息是从数据表面直观表现出来,对于隐藏于数据背后的如数据之间的关系、数据整体特征的描述以及寻找未来数据发展趋势的预测等信息并不能通过这些手段得到,而这些往往是人们更加需要的并且在决策支持的过程中更有价值。

数据挖掘是信息技术自然演化的结果,正是从存放在数据库、数据仓库或其他信息库中挖掘有用知识的过程。

1数据挖掘的主要步骤数据挖掘工作作为一个完整的挖掘过程,可分为以下几个主要步骤:(1)陈述问题和阐明假设:多数基于数据的模型研究都是在一个特定的应用领域里完成的。

因此在设计数据挖掘算法之前,需要事先确定一个有意义的问题陈述。

模型建立者通常会为未知的相关性指定一些变量,如果可能还会指定相关性的一个大体形式作为初始假设。

对当前问题可能会有几个阐明的假设,这要求将应用领域的专门技术和数据挖掘模型相结合。

实际上,这往往意味数据挖掘人员与应用专家之间密切地协作,在开始数据处理过程之前明确实际工作对数据挖掘结果的要求,根据此要求,确定数据收集过程的具体方法和数据挖掘采用的具体算法。

(2)数据准备和预处理:数据准备和预处理又可分为三个步骤:数据选取、数据预处理、数据变换。

数据选取的目的是确定数据挖掘的处理对象,即目标数据,它是根据由问题陈述中得到的用户需求,从原始数据库中抽取一定的数据用于数据挖掘,数据挖掘算法的分析与研究Analysis and Research of Data Mining Algorithms喻云峰Yu Yunfeng(江西省商务学校,江西南昌330100)(Jiangxi Commercial School,Jiangxi Nanchang330100)摘要:本文对数据挖掘的基本理论进行了分析研究,总结了数据挖掘的基本步骤,归纳了数据挖掘的基本方法,并在此基础上,提出了用数据挖掘进行数据分析的通用策略。

关键词:数据挖掘;通用策略中图分类号:TP311文献标识码:A文章编号:1671-4792-(2010)9-0054-03Abstract:In this thesis,the basic theory of data mining is researched.Based on this,the basic steps of data min-ing is summarized and the basic method of data mining is generalized.At last,a general tactic of data mining is given.Keywords:Data Mining;General Tactic54这些数据可能是整个数据库中与问题相关的数据,也可能是这些数据中的某些部分。

数据预处理一般包括消除噪声,推导缺值数据所缺的数值,消除重复记录,完成数据类型转换(如把连续值数据转换为离散型的数据,以便于符号归纳,或是把离散型的转换为连续值型的,以便于神经网络)等。

当数据挖掘的对象是数据仓库中的数据时,一般来说,数据预处理工作已经在生成数据仓库时完成了。

数据变换的主要目的是消减数据维数或降维,即从初始属性中找出对知识产生真正有用的属性以减少数据挖掘时要考虑的属性或变量个数,可以有效地减少数据挖掘的工作量,提高整个系统的效率。

(3)算法选择与挖掘数据:数据挖掘的任务就是从数据中发现模式。

此阶段首先根据问题的定义明确挖掘的任务或目的,例如需要产生聚类、分类、关联规则还是时间序列等模式,确定了任务后,就需要决定使用什么样的算法。

选择算法需要考虑两个因素:一是根据不同的数据,采用适合处理这些数据的算法;二是根据用户需要,选择符合用户需求,能够产生预期结果的算法。

关于数据挖掘所采用的一些常用算法,将在后面给出详细介绍。

采用选定的算法对数据进行分析,也可以根据用户的多种需求采用多个算法分别对数据进行分析。

(4)结果解释和评估:数据挖掘出来的模式,不一定都是有价值的,需要对结果进行解释和评估,其中可能存在冗余或与问题无关的模式。

这时则需要将整个数据挖掘过程退到前面的某个阶段,重新对数据进行处理,如重新选取目标数据,采用新的数据变换方法,重新设定数据挖掘算法的参数值,甚至换一个新的算法等。

另外数据挖掘过程最终是需要面向用户,因此需要对发现的模式进行可视化,或者把分析的结果转换为用户易懂的表示形式,使用户便于理解和接受。

整个数据挖掘过程是一个不断反馈的过程,若某个步骤的结果与预期的目标不相符合,那么则需要回到前一步骤,甚至前几个步骤,重新调整,重新执行。

2数据挖掘的主要方法在整个数据挖掘过程中,第三阶段是数据挖掘的实施阶段,即根据目标任务的数据类型等选取相应的数据挖掘算法并进行挖掘。

经过前人多年的研究,已经产生了许多的数据挖掘算法。

通常可以根据数据挖掘的任务把这些算法分成若干类,不同的数据挖掘分析方法用于解决不同的现实问题,产生不同的知识。

同一种分析方法中还可能具有多个不同的实现算法,它们的目的相同,但处理数据的方法不同,适合不同的数据和条件。

下面将对数据挖掘的各种分析方法及其算法作一总体概述。

(1)聚类分析方法:聚类分析方法是数据挖掘中依据数据集(实施数据挖掘的所有数据构成的数据集合,以下同此含义)间关联的量度标准将其自动分成几个簇,使同一个簇内的数据点(数据集中一个数据个体,以下同此含义)之间尽可能相似,不同簇的数据点之间尽可能相异。

目前已有许多用于聚类分析的聚类算法。

(2)关联规则挖掘方法:关联规则是大量数据中项集之间有趣的关联或相关联系,关联规则挖掘就是在大量数据中发现这种有趣的联系。

随着大量数据对象的不断产生,许多业界人士对于从他们的数据库中挖掘关联规则越来越感兴趣。

例如从大量商务记录中发现有趣的关联,可以帮助许多商务决策的制定,如分类设计、交叉购物和贱卖分析等。

关联规则是如下一种蕴含或规则:X→Y,其中X和Y分别是两个物品集合,这两个物品集中没有共同的物品。

通常可以有四个参数来描述一条关联规则,它们是可信度、支持度、期望可信度、作用度。

可信度是在物品集X出现的前提下,Y出现的概率,它是对关联规则的准确度的衡量;支持度是物品集X、Y同时出现的概率,它是对关联规则的重要性的衡量;期望可信度是物品集Y出现的概率,它描述了在没有物品集X的作用下,物品集Y本身的支持度;作用度是可信度对期望可信度的比值,它描述了物品集X对物品集Y的影响。

Apriori算法是一种有效的关联规则挖掘算法。

(3)分类分析方法:分类是数据挖掘中的一项重要数据分析方法,目前在商业上应用很多。

分类的目的是学会一个分类函数或分类模型(也常称作分类数据挖掘算法的分析与研究55科技广场2010.9器),该模型能把数据集中的数据点映射到某个给定的类上。

分类模式往往表现出来是一棵分类树,根据数据的值从根开始搜索,沿着数据满足的分支往下走,走到树叶就确定类别。

分类和回归都可用于预测,预测的目的是利用历史数据记录自动推导出对给定数据的推广描述,从而能对未来数据进行预测。

和回归方法不同的是分类输出的是离散的类别值,而回归的输出则是连续数值。

现有许多用于数据分类挖掘的算法:①ID3和C4.5是判定树归纳的贪心算法;②朴素贝叶斯分类算法和贝叶斯信念网络分类算法;③后向传播分类算法;④源自关联概念的分类算法CAEP;⑤K—最临近分类算法;⑥基于案例的推理分类算法;⑦基于遗传算法的分类算法;⑧基于粗糙集的分类算法;⑨基于模糊集的分类算法。

(4)回归分析方法:回归分析方法用当前数据预测未来的数据。

最简单的情况下,回归分析方法使用线性回归等标准技术。

但许多实际问题不能简单的用线性回归来解决。

例如,商品销售量、股票价格和产品的合格率都是很难预测的,因为它们往往依赖于多个先决条件之间的复杂的相互作用,这远远超过了线性所能表示的范围。

在这种情况下,就必须使用一些更复杂的分析方法(如逻辑回归、决策和神经网络等)来预测未来的数据。

通常同一模型可以既用于分类又可用于回归,例如CART(Classifi-cation And Regression Trees)决策树算法可以用来建立分类树和回归树。

(5)时间序列数据挖掘:根据时间变化的一系列值来预测未来的值与回归相似,它使用已知的数据来指导预测过程,但是必须考虑时间属性。

在预测过程中还需要考虑到时间的特殊性质,像一些周期性的时间定义,如星期、月、日、季节、年等,不同的日子如节假日可能造成的影响,日期本身的计算方法,还有一些需要特殊考虑的地方,如时间前后的相关性(过去的事情对将来有多大的影响力)等等。

充分考虑了时间的因素,利用现有数据随时间变化的一系列值才能更好地预测将来的值。

(6)序列数据库的挖掘:序列数据库是指由有序事件序列组成的数据库,它可以有时间标记,也可没有。

例如WEB页面序列是一种序列数据,但可能不是时序数据。

序列数据库的挖掘与关联规则挖掘相仿,但它进一步把数据之间的关联性与时间联系起来。

为了进行序列分析,不仅需要知道事件是否发生,而且需要确定发生的时间。

3结束语一个好的数据挖掘算法应尽可能满足数据分析对它的要求,虽然目前已经开发出许多数据挖掘算法,但在各方面都表现很好的算法是没有的。

在数据分析中选择数据挖掘算法应考虑以下原则:①要求(例如:时间复杂度、空间复杂度)允许的条件下,应首选能发现有价值的结果的数据挖掘算法;②因为没有最好的算法,因此在数据分析时应对数据集多尝试几种不同挖掘算法。

参考文献[1]范明,孟小峰,译.数据挖掘概念与技术[M].北京:机械工业出版社,2001.[2]闪四清,陈茵,程雁,等译.数据挖掘———概念、模型、方法和算法[M].北京:清华大学出版社,2003.[3]钱卫宁,周傲英.从多角度分析现有聚类算法[J].软件学报,2002,13(8):1382-1394.[4]张银奎,廖丽,宋俊,等译.数据挖掘原理[M].北京:机械工业出版社,2003.[5]李宏东,姚天翔,等译.模式分类[M].北京:机械工业出版社,2003.作者简介喻云峰,男,江西樟树人,江西省务学校高级讲师,硕士,主要研究方向:数据挖掘。

56。

相关主题