通用数据挖掘[ZZ]
2013-08-15 18:01 Batys 阅读(384) 评论(0) 编辑 收藏 举报一、什么是数据挖掘?
许多人认为数据挖掘更像是一门哲学,或数学的组成部分,而不是业务需求的实际解决
方案。您可以从采用的各种定义中看出这一点,例如:
“数据挖掘是对非常大型的数据进行的研究和分析,采用自动或半自动的程序,找出先前未知的、有趣的、可理解的相关性。”或者“数据挖掘是指对数据中固有的先前未知的潜在有用信息的重要提取。”这些定义都有各自的道理。
尽管数据挖掘本身就是一门学科,但它的出现还不到10 年时间,其起源可追溯到二十世纪五十年代人工智能的早期发展。在此期间,模式识别和基于规则推理的发展提供了基础构建块,数据挖掘就建立在这些概念的基础之上。从这时起,尽管我们还没有以数据挖掘冠名,但今天使用的许多技术都是延续下来的,主要在科学应用方面。随着关系数据库的出现和业务组织对越来越大的数据量的捕获能力,科学应用中使用的大量技术都可以应用到业务语境中,使企业获益。数据挖掘这个术语就变成为了惯用语,当应用到大量数据时就包含了这些不同的技术。
执行数据挖掘时使用的技术在计算上非常复杂,为了找到大型数据集内存在的模式,必须执行大量计算。在最近10 年中,大型业务数据库(特别是数据仓库)使用量的增长以及对这些数据的理解和解释的需要,再加上相对廉价的计算机的供应,导致数据挖掘在各种业务应用中的使用急剧增长。
二、数据挖掘有哪些新功能?
数据挖掘指的是根据收集到的数据发现企业相关的新事物。您可能以为您已经使用标准的统计技术,通过探索您的数据库完成了这项工作。实际上,您通常所做的是做出有关要解决的业务需求的假设,然后试图通过查看支持或相悖于假设的数据来证明假设成立或不成立。
例如,假定您是电信商,您认为“市外”的顾客比其他地方的顾客访问大型市内商店的次数少,但当他们每次访问时,总会购买更多东西。为了回答此类问题,您可以简单地建立数据库查询公式,例如,按照您的分店、他们的位置、销售人员、顾客分类,然后编辑必要的信息(每个顾客每次访问的平均消费)以证实您的假设。然而,发现答案仅适用于一小部分在周末到市内商店光顾的有钱的市外购物者。同时,市外顾客(也许是来回上下班的人)也可能在每周的工作日光顾商店,和其他顾客消费方式相同。在这种情况下,最初的假设测试可能会说明市外和市内购物者之间没什么区别。数据挖掘采用另一种方法,前提是您不知道顾客现有的行为模式。这种情况下,您可能会简单地问:顾客的消费和他们居住地之间的关系如何(有时我们使用术语“相关性”)?此时,您可能会依赖于数据挖掘算法来告诉您所有的不同类型的顾客情况。其中应包括市外、周末购物者。因此,您不必提出特定的问题,数据挖掘就可以提供答案。
三、数据挖掘技术
多年来已开发了多种技术,用于从大量的数据集中探索和抽取信息。当数据挖掘的说法形成后,许多此类技术都简单地归组到这个一般名称之下,这样也导致对数据挖掘的本来含意产生了混淆。
总的说来,数据挖掘技术分为两大类:
(1)发现型数据挖掘
(2)预测型数据挖掘
发现型数据挖掘
“发现型数据挖掘”包括一系列在预先未知任何现有模式的情况下,在数据内查找模式的技术。下面是发现型挖掘技术的一些示例。
>分群
分群是描述一系列技术的术语,该技术尝试根据数据记录的相似性对其进行归组。比如,数据记录可能包含对每个顾客的描述。这种情况下,分群将把类似的顾客归组到一起,同时最大程度地体现按此方式组成的不同顾客组之间的差异。正如本书的示例中所描述的那样,有许多不同的分群技术,每种技术都有自己的方法,存在于您数据的发现群集。
>关联分析
关联分析用来描述确定数据记录间关联的一系列技术。最熟知的关联分析类型是市场购物篮分析。该情况下数据记录是顾客在同一次事务中购买的物品,由于该技术来源于超市数据的分析,因此称这些物品在同一个购物篮中。市场购物篮分析可发现不同顾客所购买的物品组合,通过相互联系(或链接),您可以总结出哪些类型的产品是在一起购买的。关系分析不仅限于市场购物篮分析。如果您将市场购物篮看作是一组数据记录,那么在任何情况下只有存在大量数据记录,就可以使用该技术。
>频度分析
频度分析中所包含的数据挖掘技术适用于对有时间顺序的数据记录的分析或可视为有顺序的任何实际数据集的分析。这些数据挖掘技术尝试在顺序数据中检测类似的序列或子序列。
预测型挖掘
“预测型数据挖掘”包括一系列在您的数据中查找特定变量(称为“目标变量”)与其他变量之间关系的技术。下面是预测型挖掘技术的一些示例。
>分类
分类是指将数据记录分配到预先定义的类别中。例如,将顾客分配到市场区。这种情况下,目标变量就是类别,该技术发现其他变量和类别之间的关系。当对新的记录归类时,该技术可确定类别和记录属于该类别的可能性。分类技术包括决策树、神经网络和径向基函数(RBF)
>数值预测
数值预测指的是根据数据记录中的其他变量预测某个连续变量的值。例如,根据顾客的年龄、性别和收入组来预测他的大概支出。最常用的数值预测技术包括线性和多项式回归,数据挖掘将这些技术扩展到其他技术,比如神经元和RBF 值预测。
四、通用数据挖掘方法
通用数据挖掘方法,包含七个步骤,分别为:
以准确的陈述定义业务需求
定义数据模型和数据需求
从所有可用的资料库中搜寻数据并准备数据(数据可以是相关的或存放在平面文件中、存储在数据仓库中、现场计算生成的或来自其他方。它们应当从冗余的信息中选择和过滤出来。)
评估数据质量
选择挖掘功能并确定挖掘方法
解释结果并检测新信息
在业务决策中运用所获结果和新知识
(1)第一步:确定业务需求
经常是这种情况,单位之所以转向数据挖掘,是因为它们感觉到已收集到的数据一定存在着某种价值,因此就使用数据挖掘来发现其中的价值。使用挖掘分析,更像是随意选择一个地点就开始淘金。如果金子都是天然大金块,并且您有幸选中了正确的挖掘位置,那么这也许是很好的策略,但如果您金子只能通过“淘洗”或其他技术抽取,那么加入您搜索的地点或技术不正确,您可能要在无效的搜索中耗费大量时间却没有任何成果。数据挖掘指的是选择正确的工具,然后巧妙地使用这些工具发现数据中的信息。我们已经看到有许多工具可供选择,而且如果想要在数据中发现和提取真正有价值的东西,经常需要自行配置使用组合工具。
因此,“数据挖掘方法的第一步”就是确定您要解决的业务需求,然后确定如何将此业务需求转化成数据挖掘可解决的一个问题或一组问题。利用“业务需求”,我们表示存在您需要找到其答案的确定问题,您猜到或知道答案就隐藏在数据中,但不能确定答案到底是什么。
业务需求应满足以下要求:
要解决的问题
理解相关数据
预测在企业中使用挖掘的结果
(2)第二步:定义要用的数据模型
企业可能会收集和存储大量数据。通常存储数据是为了支持各种应用程序,存储数据的最佳方法是使用某种形式的数据仓库。尽管所有数据仓库体系结构并不相同,但使用数据仓库是有效地支持应用程序的一种方式。这种情况下,每个最终用户应用程序都受到自己的数据集市的支持,该数据集市将定期更新或在特定数据更改后更新,以反映此应用程序的需要。
在上图中,每个数据集市都有自己的特定数据,并保存有关数据提取方式、所用数据格式、已执行哪些汇总、已执行哪些数据清洗等方面的信息。我们将这种附加信息称为元数据。在常规情况下使用支持特定的业务应用程序的数据时,数据和元数据一起组成了支持此应用程序的“数据模型”。具有代表性的数据模型将定义:
所用的数据来源
数据类型
数据内容
数据描述
数据用法
(3)第三步:初始化和预处理数据
数据初始化和预处理包含“识别”、“收集”、“过滤”和“汇总”(原始)数据的阶段,将数据转换为数据模型和选定的挖掘功能所要求的格式。如果数据还没有从数据仓库中提取出来,那么必须执行诸如清洗、聚集、转换和过滤等数据预处理功能。即使从数据仓库抽取数据之后,仍然需要在进行挖掘之前对数据进行某些附加转换。数据挖掘工具通常可提供有限的功能进行数据清洗,因为这是一个专门过程,可使用许多产品来高效地执行此功能。根据数据源的准确结构,可多种不同的方法来执行汇聚和过滤。
(4)第四步:评估数据模型
将数据迁移到数据模型中后,我们还要确保用于移入数据模型的数据能够满足完整性、
准确性和相关性的要求
第一步“直观检查”是指使用可视化工具查看输入数据。这会导致对“难以置信分配”的检查。例如,在数据准备阶段,错误的表连接,则会导致某些变量包含实际属于不同字段的值。
第二步是解决“不一致标识”和“错误解析”的问题。如果数据的收集做得很差,则会引发第一步中发现的异常分配情况。许多“溢出值和丢失值”会产生偏差的结果。例如,如果接受了太多的丢失值,则会完全抑制反映两种变量(指示客户组行为的变量和描述新产品的变量)之间关系的有用信息。然而,在有用信息中非正常值的减轻和丢失值的转换可大大提高数据的质量。许多数据挖掘功能很少考虑丢失值。尽早处理丢失值,可使我们避免出现偏倚的挖掘结果和无意识的发展错误。
最后一步是指对挖掘操作最终的“功能/变量的选择”。变量可能会因提供相同或非常相似的信息而变得多余,而且会增加运行时间。通过统计测试(比如二元统计、线性和多项式回归)可发现“依赖的或高度相关的变量”。通过选择一个变量来代表其他所有变量或通过因素或组件分析为所有相关的变量组建一个新变量,以减少依赖变量。并非将统计检查后剩余的所有变量指定为输入变量;只应选择有清楚解释的变量和对最终用户有意义的变量。业经证实的数据模型可简化该步骤。该阶段变量的选择,确实仅能利用在各个行业或研究领域的实践经验来完成。
(5)第五步:选择数据挖掘技术
除了确定业务需求、数据建模和准备等步骤之外,数据挖掘还包括针对特定业务需求而
选择最合适的挖掘技术的关键步骤。该步骤不仅包括对要使用的适当技术或技术合成定义,还包括技术的应用方式。提供几种类型技术(或算法):
分类
关联
分群
数值预测
相似模式
相似时间序列
通常情况下,选择所要使用的方法总是非常明显的,例如,零售业中的市场购物篮分析使用关联技术,该技术最初就是针对此目的而开发的。然而,关联技术也可以应用到其他领域,例如,发现生产中出现的缺陷和数据源组件来源之间的关联。挑战通常不是应该使用哪种技术,而是应用技术的方式。因为所有的数据挖掘技术都需要选择一些参数,所以这就要求对于技术的原理和各种参数的作用有所了解
(6)第六步:解释结果
执行任何类型的数据挖掘结果都可提供大量信息,有时该信息很难解释。我们的经验是,解释阶段需要业务专家的参与,他应该能够将挖掘结果解释到业务语境中。由于我们并不期望业务分析者同时又是数据挖掘专家,因此将结果以相对易于解释的方式提供给分析者是非常重要的。为了能在解释过程中有所帮助,有必要拥有一系列您可以任意使用的工具,以帮助您使结果直观化,并提供解释时所需的必要统计信息。
(7)第七步:应用挖掘结果
如果您只是把数据挖掘看作是分析工具,那么说明您还没有认识到数据挖掘应该起到的真正作用。
当您执行数据挖掘时,您既可以发现关于客户的新情况,又可以确定如何分类或如何预测特定的特征或属性。在所有这些情况下,数据挖掘都可以创建我们称之为模型的数据数学表达式。这些模型非常重要,因为它们不仅提供对企业的深入洞察,而且自身可以应用到或用于其他业务过程中(如您的CRM 系统)。当执行任何数据挖掘活动时,您应认真考虑打算如何使用数据挖掘结果以及该结果可对企业的哪些部位产生最大的影响。
在数据挖掘结果的发展方面有一个特别重要的发展阶段,那就是交换数据挖掘模型的标准发展阶段,以及将这些模型直接应用到关系数据库(如DB2 通用数据库和ORACLE)中。新标准建立在预测模型标记语言(PMML)基础之上。该标准针对分析模型(如线性回归、分群、决策树和神经元网络)的交换而提供。最重要的优势如下:
无需现场数据挖掘专家
可有效利用计算资源
允许实时(通过事件触发)处理和批处理
允许外部软件程序访问建模逻辑
允许任何未来模型类型的通用化