选择数据挖掘技术的两个重要依据
数据挖掘使用的技术很多,其中主要包括统计方法、机器学习方法、和神经网络方法和数据库方法。统计方法可细分为回归分析、判别分析、聚类分析、探索性分析等。机器学习方法可细分为归纳学习方法(决策树、规则归纳)、基于范例学习、遗传算法等。神经网络方法可细分为钱箱神经网络(BP算法)、自组织神经网络等。数据库方法主要是多维数据分析或OLAP方法,另外还有面向属性的归纳方法。由于每一种数据挖掘技术都有其自身的特点和实现的步骤,对数据的形式有具体的要求,并且与具体的应用问题密切相关,因此成功的应用数据挖掘技术以达到目标过程本身就是一件很复杂的事情,本文主要从挖掘任务和可获得的数据两个角度来讨论对数据挖掘技术的选择。
3.1不同的挖掘任务使用不同的挖掘技术
数据挖掘的任务是从数据中发现模式。根据挖掘任务,数据挖掘可分为概念描述、聚集发现、关联规则发现、分类发现、回归发现和序列模式发现等。在选择使用某种数据挖掘技术之前,首先要将待解决的商业问题转化成正确的数据挖掘的任务,然后根据挖掘的任务来选择具体使用某一种或几种挖掘技术。下面具体的分析每一种挖掘任务应使用哪些挖掘技术。
概念描述
概念描述是描述式数据挖掘的最基本形式。它以简洁汇总的形式描述给定的任务相关数据集,提供数据的有趣的一般特性。概念描述由特征化和比较组成。数据特征化是目标类数据的一般特征或特性的汇总。通常,用户指定类的数据通过数据库查询收集。例如,为研究上一年销售增加10%的软件产品的特征,可以通过执行一个SQL查询收集关于这些产品的数据。概念的特征化有两种一般方法:基于数据立方体OLAP的方法和面向属性归纳的方法。二者都是基于属性或维的概化方法.数据特征的输出可以用多种形式提供。包括饼图、条图、曲线、多维数据立方体和包括交叉表在内的多维表。数据区分是将目标类对象的一般特征与一个或多个对比类对象的一般特征比较。例如,将上一年销售增加10%的软件产品与同一时期销售至少下降30%的那些产品进行比较。用于数据区分的方法与用于数据特征化的方法类似。总之,进行概念描述挖掘时一般采用面向数据库的方法,另外还可以采用机器学习方法的基于范例学习技术。与机器学习方法相比,面向数据库的概念描述导致在大型数据库和数据仓库中的有效性和可伸缩性。
聚集发现
聚集是把整个数据库分成不同的群组。它的目的是要群与群之间差别很明显,而同一个群之间的数据尽量相似。聚集在电子商务上的典型应用是帮助市场分析人员从客户基本库中发现不同的客户群,并且用购买模式来刻画不同客户群的特征。此外聚类分析可以作为其它算法(如特征和分类等)的预处理步骤,这些算法再在生成的簇上进行处理。与分类不同,在开始聚集之前你不知道要把数据分成几组,也不知道怎么分(依照哪几个变量)。因此在聚集之后要有一个对业务很熟悉的人来解释这样分群的意义。很多情况下一次聚集你得到的分群对你的业务来说可能并不好,这时你需要删除或增加变量以影响分群的方式,经过几次反复之后才能最终得到一个理想的结果。聚类方法主要有两类,包括统计方法和神经网络方法。自组织神经网络方法和K-均值是比较常用的聚集算法。
关联规则发现
关联分析是寻找在同一个事件中出现的不同项的相关性,比如在一次购买活动中所买不同商品的相关性。序列模式与此类似,它寻找的是事件之间时间上的相关性,如对股票涨跌的分析。以市场货篮这个典型例子分析关联规则。“在购买面包和黄油的顾客中,有90%的人同时也买了牛奶”(面包+黄油®牛奶)。用于规则发现的对象主要是事务型数据库,分析的是售货数据,也称货篮数据。以下给出的数学模型用来描述关联规则的发现问题。
设I={I1,I2,...,Im}是一组物品集,其中每一个事务T是一组物品,显然TÍI。设X为一组物品,当且仅当XÍT时,称事务T包含X。一个关联规则是如下形式的一种蕴涵:X®Y,其中XÌI,YÌI且X∩Y=F。如果D中s%的事务包含X∪Y,则称规则X®Y在事务集D上的支持度support(X∪Y)=s。可信度为c,如果c=support(X∪Y)*100/support(X),则说明D中包含X的事务中有c%的事务同时也包含了Y。可信度说明了蕴涵的强度,而支持度说明了规则中所出现模式的频率。具有高可信度和强支持度的规则称为“强规则”(strong rules)。关联规则发现任务的本质是要在数据库中发现强关联规则。利用这些关联规则可以了解客户的行为,这对于改进零售业等商业活动的决策很有帮助。例如,可以帮助改进商品的摆放(把顾客经常同时买的商品摆放在一起),帮助如何规划市场(互相搭配进货)等。在数据挖掘研究领域,对于关联分析的研究开展的比较深入,人们提出了多种关联规则的挖掘算法,如APRIORI、FP-增长、STEM、AIS、DHP等算法。
分类发现
分类要解决的问题是为一个事件或对象归类。设有一个数据库和一组具有不同特征的类别(标记),该数据库中的每一个记录都赋予一个类别的标记,这样的数据库称为示例数据库或训练集。分类分析就是通过分析示例数据库中的数据,为每个类别做出准确的描述或建立分析模型或挖掘出分类规则,然后用这个分类规则对其它数据库中的记录进行分类。在电子商务中分类分析可以预测客户响应,如哪些客户最倾向于对直接邮件推销做出回应,又有哪些客户可能会换他的手机服务提供商,或进行商店定位,如按成功的商店、一般商店和失败商店排列得出这3类商店各自具有的属性。然后选择包含位置属性的地理数据库,分析每一预期的商店位置属性,以确定预期的商店定位属于哪一类。只有那些符合成功一类要求的商店位置才作为商店定位的候选。用于分类分析的技术有很多,典型方法有统计方法的贝叶斯分类、机器学习的判定树归纳分类、神经网络的后向传播分类等。最近数据挖掘技术也将关联规则用于分类问题 。另外还有一些其它分类方法,包括k-最临近分类、MBR、遗传算法、粗糙集和模糊集方法。目前,尚未发现有一种方法对所有数据都优于其它方法。实验研究表明,许多算法的准确性非常相似,其差别是统计不明显,而训练时间可能显著不同。一般的,大部分神经网络和涉及样条的统计分类与大部分判定树方法相比,趋向于计算量大。
回归发现
回归是通过具有已知值的变量来预测其他变量的值。它与分类类似,差别在于前者的预测值是连续的,而后者是离散的。在最简单的情况下,回归采用的是象线性回归这样的标准统计技术。但在大多数现实世界中的问题是不能用简单的线性回归所能预测的。如商品的销售量、股票价格、产品合格率、利润的大小等,很难找到简单有效的方法来预测,因为要描述这些事件的变化所需的变量以上百计,且这些变量本身往往都是非线性的。为此人们又发明了许多新的手段来试图解决这个问题,如逻辑回归、决策树、神经网络等。一般同一个模型既可用于回归也可用于分类,如CART决策树算法既可以用于建立分类树,也可建立回归树。神经网络也一样。
序列模式发现
序列模式分析和关联分析类似,其目的也是为了挖掘数据之间的联系,但序列模式分析的侧重点在于分析数据间的前后序列关系。它能发现数据库中形如“在某一段时间内,顾客购买商品A,接着购买商品B,而后购买商品C,即序列A®B®C出现的频率较高”之类的知识。序列模式分析描述的问题是:在给定交易序列数据库中,每个序列是按照交易时间排列的一组交易集,挖掘序列函数作用在这个交易序列数据库上,返回该数据库中出现的高频序列。在进行序列模式分析时,同样也需要有用户输入最小值信度C和最小支持度S。另外序列关联规则挖掘中采用的Apriori特性可以用于序列模式的挖掘,另一类挖掘此类模式的方法是基于数据库投影的序列模式生长技术。
3.2理解可以获得的数据的信息。
对可以挖掘的数据进行分析,理解可以获得的数据的信息:内容、字段类型、记录之间的关系。可能影响数据挖掘技术选择的数据性质主要有:
1)种类字段:关联分析和连接分析只适用于种类字段。决策树也可以很容易的用于种类字段。但是有一个忠告:就是当种类的值较多的时候,效果可能就会比较差,当然如果限制分支的个数的时候,决策树的效果还是不错的。神经元网络,可以将种类字段转化成数值字段,但是这样就给种类字段强加了一个先后次序。也可以将种类字段作为多个输入,但是当值很多时,这种方法就成问题了。
2)数值字段:神经元网络将所有输入转化到0—1之间。MBR和聚集检测通过距离函数来处理数值字段。决策树可以通过splitter数值来处理数值字段。对于关联分析,则必须将数值变量区间化成种类变量,但是区间的选择是一个很困难的问题。
3)每条记录都有大量的字段(独立):记录中的字段很多,神经元网络和MBR技术会受其影响,关联规则挖掘也会受影响。而决策树受其影响的程度就比较的小。
4)多个目标字段(非独立):对于存在多个依赖变量的情况,神经元网络是最佳的选择。
5)记录是变长的 :只有关联规则和连接分析可以直接处理变长记录。对于其他的技术,数据需要一些预处理:可以生成一些统计字段;将一条记录拆分成几条记录,每个含有记录号。
6)有时间顺序的数据:神经元网络,关联规则对时间顺序的数据的处理能力比较的好。决策树也能处理时间顺序,但是需要的数据准备就相对较多一点。
7)自由文本数据:MBR技术最适合。