数据挖掘是指从大量的数据中通过算法搜索隐藏于其中信息的过程。
简介
需要是发明之母。近年来,数据挖掘引起了信息产业界的极大关注,其主要原因是存在大量数据,可以广泛使用,并且迫切需要将这些
数据转换成有用的信息和知识。获取的信息和知识可以广泛用于各种应用,包括商务管理,
生产控制,市场分析,
工程设计和科学探索等。
数据挖掘是
人工智能和数据库领域研究的热点问题,所谓数据挖掘是指从数据库的大量数据中揭示出隐含的、先前未知的并有
潜在价值的信息的非平凡过程。数据挖掘是一种决策
支持过程,它主要基于人工智能、
机器学习、
模式识别、统计学、数据库、
可视化技术等,高度自动化地分析企业的数据,作出归纳性的推理,从中挖掘出潜在的模式,帮助决策者调整
市场策略,减少风险,作出正确的决策。
知识发现过程由以下三个阶段组成:①
数据准备;②数据挖掘;③结果表达和解释。数据挖掘可以与用户或
知识库交互。
数据挖掘是通过分析每个数据,从大量数据中寻找其规律的技术,主要有数据准备、规律寻找和规律表示三个步骤。数据准备是从相关的
数据源中选取所需的数据并整合成用于数据挖掘的
数据集;规律寻找是用某种方法将数据集所含的规律找出来;规律表示是尽可能以用户可理解的方式(如可视化)将找出的规律表示出来。数据挖掘的任务有
关联分析、
聚类分析、分类分析、异常分析、特异群组分析和演变分析等。
近年来,数据挖掘引起了信息产业界的极大关注,其主要原因是存在大量数据,可以广泛使用,并且迫切需要将这些数据转换成有用的信息和知识。获取的信息和知识可以广泛用于各种应用,包括商务管理、生产控制、市场分析、工程设计和科学探索等。数据挖掘利用了来自如下一些领域的思想:①来自统计学的抽样、估计和
假设检验;②
人工智能、模式识别和机器学习的
搜索算法、
建模技术和
学习理论。数据挖掘也迅速地接纳了来自其他领域的思想,这些领域包括最优化、
进化计算、
信息论、
信号处理、可视化和信息检索。一些其他领域也起到重要的支撑作用。特别地,需要
数据库系统提供有效的存储、索引和
查询处理支持。源于高性能(并行)计算的技术在处理
海量数据集方面常常是重要的。
分布式技术也能帮助处理海量数据,并且当数据不能集中到一起处理时更是至关重要。
产生背景
20世纪90年代,随着
数据库系统的广泛应用和
网络技术的高速发展,
数据库技术也进入一个全新的阶段,即从过去仅管理一些简单数据发展到管理由各种计算机所产生的图形、图像、音频、视频、
电子档案、Web页面等多种类型的复杂数据,并且数据量也越来越大。数据库在给我们提供丰富信息的同时,也体现出明显的海量
信息特征。
信息爆炸时代,海量信息给人们带来许多
负面影响,最主要的就是
有效信息难以提炼,过多无用的信息必然会产生
信息距离(信息状态转移距离,是对一个事物信息状态转移所遇到障碍的测度,简称DIST或DIT)和有用知识的丢失。这也就是约翰·内斯伯特( John Nalsbert)称为的“信息丰富而知识贫乏”窘境。因此,人们迫切希望能对海量数据进行深入分析,发现并提取隐藏在其中的信息,以更好地利用这些数据。但仅以数据库系统的录入、查询、统计等功能,无法发现数据中存在的关系和规则,无法根据现有的数据预测未来的
发展趋势,更缺乏挖掘数据背后隐藏知识的手段。正是在这样的条件下,
数据挖掘技术应运而生。
数据挖掘对象
数据的类型可以是结构化的、半结构化的,甚至是异构型的。发现知识的方法可以是数学的、非数学的,也可以是归纳的。最终被发现了的知识可以用于
信息管理、查询优化、决策支持及数据自身的维护等。
数据挖掘的对象可以是任何类型的
数据源。可以是
关系数据库,此类包含结构化数据的数据源;也可以是
数据仓库、文本、多媒体数据、
空间数据、
时序数据、Web数据,此类包含
半结构化数据甚至
异构性数据的数据源。
发现知识的方法可以是数字的、非数字的,也可以是归纳的。最终被发现的知识可以用于信息管理、查询优化、决策支持及数据自身的维护等。
数据挖掘步骤
在实施数据挖掘之前,先制定采取什么样的步骤,每一步都做什么,达到什么样的目标是必要的,有了好的计划才能保证数据挖掘有条不紊地实施并取得成功。很多软件供应商和数据挖掘顾问公司投提供了一些数据挖掘
过程模型,来指导他们的用户一步步地进行数据挖掘工作。比如,SPSS公司的5A和
SAS公司的SEMMA。
数据挖掘过程模型步骤主要包括定义问题、建立数据挖掘库、分析数据、准备数据、建立模型、评价模型和实施。下面让我们来具体看一下每个步骤的具体内容:
(1)定义问题。在开始知识发现之前最先的也是最重要的要求就是了解数据和业务问题。必须要对目标有一个清晰明确的定义,即决定到底想干什么。比如,想提高
电子信箱的
利用率时,想做的可能是“提高用户
使用率”,也可能是“提高一次用户使用的价值”,要解决这两个问题而建立的模型几乎是完全不同的,必须做出决定。
(2)建立数据挖掘库。建立数据挖掘库包括以下几个步骤:
数据收集,
数据描述,选择,
数据质量评估和
数据清理,合并与整合,构建
元数据,加载数据挖掘库,维护数据挖掘库。
(3)分析数据。分析的目的是找到对预测输出影响最大的
数据字段,和决定是否需要定义导出字段。如果数据集包含成百上千的字段,那么浏览分析这些数据将是一件非常耗时和累人的事情,这时需要选择一个具有好的界面和功能强大的工具软件来协助你完成这些事情。
(4)准备数据。这是建立模型之前的最后一步数据准备工作。可以把此步骤分为四个部分:选择变量,选择记录,创建新变量,
转换变量。
(5)建立模型。建立模型是一个反复的过程。需要仔细考察不同的模型以判断哪个模型对面对的商业问题最有用。先用一部分数据建立模型,然后再用剩下的数据来测试和验证这个得到的模型。有时还有第三个
数据集,称为
验证集,因为
测试集可能受模型的特性的影响,这时需要一个独立的数据集来验证模型的
准确性。训练和
测试数据挖掘模型需要把数据至少分成两个部分,一个用于模型训练,另一个用于模型测试。
(6)评价模型。模型建立好之后,必须评价得到的结果、解释模型的价值。从测试集中得到的准确率只对用于建立模型的数据有意义。在实际应用中,需要进一步了解错误的类型和由此带来的相关费用的多少。经验证明,有效的模型并不一定是正确的模型。造成这一点的直接原因就是模型建立中隐含的各种假定,因此,直接在现实世界中
测试模型很重要。先在小范围内应用,取得测试数据,觉得满意之后再向大范围推广。
(7)实施。模型建立并经验证之后,可以有两种主要的使用方法。第一种是提供给分析人员做参考;另一种是把此模型应用到不同的数据集上。
数据挖掘分析方法
数据挖掘分为有指导的数据挖掘和无指导的数据挖掘。有指导的数据挖掘是利用可用的数据建立一个模型,这个模型是对一个特定属性的描述。无指导的数据挖掘是在所有的属性中寻找某种关系。具体而言,分类、估值和预测属于有指导的数据挖掘;
关联规则和
聚类属于无指导的数据挖掘。
1.分类。它首先从数据中选出已经分好类的
训练集,在该训练集上运用
数据挖掘技术,建立一个分类模型,再将该模型用于对没有分类的数据进行分类。
2.估值。估值与分类类似,但估值最终的输出结果是连续型的数值,估值的量并非预先确定。估值可以作为分类的准备工作。
3.预测。它是通过分类或估值来进行,通过分类或估值的训练得出一个模型,如果对于检验样本组而言该模型具有较高的
准确率,可将该模型用于对新样本的未知变量进行预测。
4.
相关性分组或关联规则。其目的是发现哪些事情总是一起发生。
5.聚类。它是自动寻找并建立分组规则的方法,它通过判断样本之间的
相似性,把相似样本划分在一个簇中。
成功案例
1、数据挖掘帮助Credilogros Cía Financiera S.A.改善客户信用评分
Credilogros Cía Financiera S.A. 是
阿根廷第五大
信贷公司,资产估计价值为9570万美元,对于Credilogros而言,重要的是识别与潜在预先付款客户相关的潜在风险,以便将承担的风险最小化。
该公司的第一个目标是创建一个与公司
核心系统和两家
信用报告公司系统交互的决策引擎来处理信贷申请。同时,Credilogros还在寻找针对它所服务的低收入客户群体的自定义风险评分工具。除这些之外,其他需求还包括解决方案能在其35个分支办公地点和200多个相关的
销售点中的任何一个实时操作,包括零售家电连锁店和手机销售公司。
最终Credilogros 选择了SPSS
Inc.的数据挖掘软件PASWModeler,因为它能够灵活并轻松地整合到 Credilogros 的核心信息系统中。通过实现PASW Modeler,Credilogros将用于处理信用数据和提供最终信用评分的时间缩短到了8秒以内。这使该组织能够迅速批准或拒绝信贷请求。该决策引擎还使 Credilogros 能够最小化每个客户必须提供的
身份证明文档,在一些特殊情况下,只需提供一份身份证明即可批准信贷。此外,该系统还提供监控功能。Credilogros目前平均每月使用PASW Modeler处理35000份申请。仅在实现 3 个月后就帮助Credilogros 将贷款支付失职减少了 20%。
DHL是
国际快递和
物流行业的全球
市场领先者,它提供快递、水陆空三路运输、
合同物流解决方案,以及
国际邮件服务。DHL的国际网络将超过220个国家及地区联系起来,员工总数超过28.5万人。在美国
FDA 要求确保运送过程中药品装运的温度达标这一压力之下,DHL的医药客户强烈要求提供更可靠且更实惠的选择。这就要求DHL在递送的各个阶段都要实时跟踪集装箱的温度。
虽然由
记录器方法生成的信息准确无误,但是无法实时传递数据,客户和DHL都无法在发生
温度偏差时采取任何预防和
纠正措施。因此,DHL的母公司
德国邮政世界网(DPWN)通过技术与
创新管理(TIM)集团明确拟定了一个计划,准备使用
RFID技术在不同
时间点全程跟踪装运的温度。通过
IBM全球企业咨询服务部绘制决定服务的关键功能参数的
流程框架。DHL获得了两方面的收益:对于最终客户来说,能够使医药客户对运送过程中出现的装运问题提前做出响应,并以引人注目的低成本全面切实地增强了运送可靠性。对于DHL来说,提高了
客户满意度和
忠实度;为保持竞争差异奠定坚实的基础;并成为重要的新的收入增长来源。
经典算法
目前,数据挖掘的算法主要包括神经网络法、
决策树法、
遗传算法、粗糙集法、模糊集法、关联规则法等。
神经网络法
神经网络法是模拟生物
神经系统的结构和功能,是一种通过训练来学习的非线性
预测模型,它将每一个连接看作一个
处理单元,试图模拟人脑
神经元的功能,可完成分类、聚类、特征挖掘等多种数据挖掘任务。神经网络的
学习方法主要表现在
权值的修改上。其优点是具有抗干扰、
非线性学习、联想
记忆功能,对复杂情况能得到精确的预测结果;缺点首先是不适合处理高维变量,不能观察中间的
学习过程,具有“黑箱”性,输出结果也难以解释;其次是需较长的学习时间。神经网络法主要应用于数据挖掘的聚类技术中。
决策树法
决策树是根据对目标变量产生效用的不同而建构分类的规则,通过一系列的规则对数据进行分类的过程,其表现形式是类似于
树形结构的
流程图。最典型的算法是J.R.Quinlan于1986年提出的
ID3算法,之后在ID3算法的基础上又提出了极其流行的
C4.5算法。采用决策树法的优点是
决策制定的过程是可见的,不需要长时间构造过程、描述简单,易于理解,分类速度快;缺点是很难基于多个变量组合发现规则。决策树法擅长处理非数值型数据,而且特别适合大规模的数据处理。决策树提供了一种展示类似在什么条件下会得到什么值这类规则的方法。比如,在贷款申请中,要对申请的风险大小做出判断。
遗传算法
遗传算法模拟了自然选择和遗传中发生的繁殖、交配和基因突变现象,是一种采用遗传结合、遗传交叉变异及自然选择等操作来生成实现规则的、基于进化理论的机器学习方法。它的基本观点是“
适者生存”原理,具有隐含
并行性、易于和其他模型结合等性质。主要的优点是可以处理许多
数据类型,同时可以
并行处理各种数据;缺点是需要的参数太多,编码困难,一般计算量比较大。遗传算法常用于优化
神经元网络,能够解决其他技术难以解决的问题。
粗糙集法
粗糙集法也称
粗糙集理论,是由
波兰数学家Z Pawlak在20世纪80年代初提出的,是一种新的处理含糊、不精确、不完备问题的
数学工具,可以处理数据约简、
数据相关性发现、数据意义的评估等问题。其优点是算法简单,在其
处理过程中可以不需要关于数据的
先验知识,可以自动找出问题的内在规律;缺点是难以直接处理连续的属性,须先进行属性的离散化。因此,连续属性的离散化问题是制约粗糙集理论实用化的难点。粗糙集理论主要应用于
近似推理、数字
逻辑分析和化简、建立预测模型等问题。
模糊集法
模糊集法是利用
模糊集合理论对问题进行模糊评判、
模糊决策、
模糊模式识别和
模糊聚类分析。模糊集合理论是用
隶属度来描述模糊事物的属性。系统的复杂性越高,模糊性就越强。
关联规则法
关联规则反映了事物之间的相互
依赖性或关联性。其最著名的算法是R.Agrawal等人提出的Apriori算法。其算法的思想是:首先找出频繁性至少和
预定意义的最小
支持度一样的所有频集,然后由频集产生强关联规则。最小支持度和最小
可信度是为了发现有意义的关联规则给定的2个阈值。在这个意义上,数据挖掘的目的就是从
源数据库中挖掘出满足最小支持度和最小可信度的关联规则。
存在问题
与数据挖掘有关的,还牵扯到隐私问题,例如:一个雇主可以通过访问医疗记录来筛选出那些有
糖尿病或者严重
心脏病的人,从而意图削减保险支出。然而,这种做法会导致伦理和法律问题。
对于政府和
商业数据的挖掘,可能会涉及到的,是国家安全或者
商业机密之类的问题。这对于保密也是个不小的挑战。
数据挖掘有很多合法的用途,例如可以在患者群的数据库中查出某药物和其副作用的关系。这种关系可能在1000人中也不会出现一例,但药物学相关的项目就可以运用此方法减少对药物有
不良反应的病人数量,还有可能挽救生命;但这当中还是存在着数据库可能被滥用的问题。
数据挖掘实现了用其他方法不可能实现的方法来发现信息,但它必须受到规范,应当在适当的说明下使用。
如果数据是收集自特定的个人,那么就会出现一些涉及保密、法律和伦理的问题。