1什么是数据挖掘数据挖掘,在人工智能领域,习惯上又称为数据库中的知识发现(KnowledgeDiscoveryinDatabase,KDD),也有人把数据挖掘视为数据库中知识发现过程的一个基本步骤。知识发现过程由以下三个阶段组成:(1)数据准备,(2)数据挖掘,(3)结果表达和解释。数据挖掘可以与用户或知识库交互。并非所有的信息发现任务都被视为数据挖掘。例如,使用数据库管理系统查找个别的记录,或通过因特网的搜索引擎查找特定的Web页面,则是信息检索(informationretrieval)领域的任务。虽然这些任务是重要的,可能涉及使用复杂的算法和数据结构,但是它们主要依赖传统的计算机科学技术和数据的明显特征来创建索引结构,从而有效地组织和检索信息。尽管如此,数据挖掘技术也已用来增强信息检索系统的能力。数据挖掘的起源需要是发明之母。近年来,数据挖掘引起了信息产业界的极大关注,其主要原因是存在大量数据,可以广泛使用,并且迫切需要将这些数据转换成有用的信息和知识。获取的信息和知识可以广泛用于各种应用,包括商务管理,生产控制,市场分析,工程设计和科学探索等。数据挖掘利用了来自如下一些领域的思想:(1)来自统计学的抽样、估计和假设检验,(2)人工智能、模式识别和机器学习的搜索算法、建模技术和学习理论。数据挖掘也迅速地接纳了来自其他领域的思想,这些领域包括最优化、进化计算、信息论、信号处理、可视化和信息检索。一些其他领域也起到重要的支撑作用。特别地,需要数据库系统提供有效的存储、索引和查询处理支持。源于高性能(并行)计算的技术在处理海量数据集方面常常是重要的。分布式技术也能帮助处理海量数据,并且当数据不能集中到一起处理时更是至关重要。数据挖掘能做什么1)数据挖掘能做以下七种不同事情(分析方法):·分类(Classification)·估计(Estimation)·预测(Prediction)·相关性分组或关联规则(Affinitygroupingorassociationrules)·聚类(Clustering)·描述和可视化(DescriptionandVisualization)·复杂数据类型挖掘(Text,Web,图形图像,视频,音频等)2)数据挖掘分类以上七种数据挖掘的分析方法可以分为两类:直接数据挖掘;间接数据挖掘·直接数据挖掘目标是利用可用的数据建立一个模型,这个模型对剩余的数据,对一个特定的变量(可以理解成数据库中表的属性,即列)进行描述。·间接数据挖掘2目标中没有选出某一具体的变量,用模型进行描述;而是在所有的变量中建立起某种关系。·分类、估值、预言属于直接数据挖掘;后三种属于间接数据挖掘3)各种分析方法的简介·分类(Classification)首先从数据中选出已经分好类的训练集,在该训练集上运用数据挖掘分类的技术,建立分类模型,对于没有分类的数据进行分类。例子:信用卡申请者,分类为低、中、高风险注意:类的个数是确定的,预先定义好的·估计(Estimation)估计与分类类似,不同之处在于,分类描述的是离散型变量的输出,而估值处理连续值的输出;分类的类别是确定数目的,估值的量是不确定的。例子:a.根据购买模式,估计一个家庭的孩子个数b.根据购买模式,估计一个家庭的收入一般来说,估值可以作为分类的前一步工作。给定一些输入数据,通过估值,得到未知的连续变量的值,然后,根据预先设定的阈值,进行分类。例如:银行对家庭贷款业务,运用估值,给各个客户记分(Score0~1)。然后,根据阈值,将贷款级别分类。·预测(Prediction)通常,预测是通过分类或估值起作用的,也就是说,通过分类或估值得出模型,该模型用于对未知变量的预言。从这种意义上说,预言其实没有必要分为一个单独的类。预言其目的是对未来未知变量的预测,这种预测是需要时间来验证的,即必须经过一定时间后,才知道预言准确性是多少。例子:海南航空引入领先的数据挖掘工具马克威分析系统,分析客流、燃油等变化趋势,以航线收益为主题进行数据挖掘,制定精细的销售策略,有效提高了企业收益。·相关性分组或关联规则(Affinitygroupingorassociationrules)决定哪些事情将一起发生。例子:a.超市中客户在购买A的同时,经常会购买B,即A=B(关联规则)b.客户在购买A后,隔一段时间,会购买B(序列分析)·聚类(Clustering)聚类是对记录分组,把相似的记录在一个聚集里。聚类和分类的区别是聚集不依赖于预先定义好的类,不需要训练集。例子:a.一些特定症状的聚集可能预示了一个特定的疾病b.租VCD类型不相似的客户聚集,可能暗示成员属于不同的亚文化群3聚集通常作为数据挖掘的第一步。例如,哪一种类的促销对客户响应最好?,对于这一类问题,首先对整个客户做聚集,将客户分组在各自的聚集里,然后对每个不同的聚集,回答问题,可能效果更好。c.中国移动采用先进的数据挖掘工具马克威分析系统,对用户wap上网的行为进行聚类分析,通过客户分群,进行精确营销。·描述和可视化(DescriptionandVisualization)是对数据挖掘结果的表示方式。数据挖掘中的关联规则1.什么是关联规则在描述有关关联规则的一些细节之前,我们先来看一个有趣的故事:尿布与啤酒的故事。在一家超市里,有一个有趣的现象:尿布和啤酒赫然摆在一起出售。但是这个奇怪的举措却使尿布和啤酒的销量双双增加了。这不是一个笑话,而是发生在美国沃尔玛连锁店超市的真实案例,并一直为商家所津津乐道。沃尔玛拥有世界上最大的数据仓库系统,为了能够准确了解顾客在其门店的购买习惯,沃尔玛对其顾客的购物行为进行购物篮分析,想知道顾客经常一起购买的商品有哪些。沃尔玛数据仓库里集中了其各门店的详细原始交易数据。在这些原始交易数据的基础上,沃尔玛利用数据挖掘方法对这些数据进行分析和挖掘。一个意外的发现是:跟尿布一起购买最多的商品竟是啤酒!经过大量实际调查和分析,揭示了一个隐藏在尿布与啤酒背后的美国人的一种行为模式:在美国,一些年轻的父亲下班后经常要到超市去买婴儿尿布,而他们中有30%~40%的人同时也为自己买一些啤酒。产生这一现象的原因是:美国的太太们常叮嘱她们的丈夫下班后为小孩买尿布,而丈夫们在买尿布后又随手带回了他们喜欢的啤酒。按常规思维,尿布与啤酒风马牛不相及,若不是借助数据挖掘技术对大量交易数据进行挖掘分析,沃尔玛是不可能发现数据内在这一有价值的规律的。数据关联是数据库中存在的一类重要的可被发现的知识。若两个或多个变量的取值之间存在某种规律性,就称为关联。关联可分为简单关联、时序关联、因果关联。关联分析的目的是找出数据库中隐藏的关联网。有时并不知道数据库中数据的关联函数,即使知道也是不确定的,因此关联分析生成的规则带有可信度。关联规则挖掘发现大量数据中项集之间有趣的关联或相关联系。Agrawal等于1993年首先提出了挖掘顾客交易数据库中项集间的关联规则问题,以后诸多的研究人员对关联规则的挖掘问题进行了大量的研究。他们的工作包括对原有的算法进行优化,如引入随机采样、并行的思想等,以提高算法挖掘规则的效率;对关联规则的应用进行推广。关联规则挖掘在数据挖掘中是一个重要的课题,最近几年已被业界所广泛研究。2.关联规则挖掘过程、分类及其相关算法2.1关联规则挖掘的过程关联规则挖掘过程主要包含两个阶段:第一阶段必须先从资料集合中找出所有的高频项目组(Frequent4Itemsets),第二阶段再由这些高频项目组中产生关联规则(AssociationRules)。就沃尔马案例而言,使用关联规则挖掘技术,对交易资料库中的纪录进行资料挖掘,首先必须要设定最小支持度与最小信赖度两个门槛值,在此假设最小支持度min_support=5%且最小信赖度min_confidence=70%。因此符合此该超市需求的关联规则将必须同时满足以上两个条件。若经过挖掘过程所找到的关联规则「尿布,啤酒」,满足下列条件,将可接受「尿布,啤酒」的关联规则。用公式可以描述Support(尿布,啤酒)=5%且Confidence(尿布,啤酒)=70%。其中,Support(尿布,啤酒)=5%于此应用范例中的意义为:在所有的交易纪录资料中,至少有5%的交易呈现尿布与啤酒这两项商品被同时购买的交易行为。Confidence(尿布,啤酒)=70%于此应用范例中的意义为:在所有包含尿布的交易纪录资料中,至少有70%的交易会同时购买啤酒。因此,今后若有某消费者出现购买尿布的行为,超市将可推荐该消费者同时购买啤酒。这个商品推荐的行为则是根据「尿布,啤酒」关联规则,因为就该超市过去的交易纪录而言,支持了“大部份购买尿布的交易,会同时购买啤酒”的消费行为。数据挖掘技术实现在技术上可以根据它的工作过程分为:数据的抽取、数据的存储和管理、数据的展现等关键技术。·数据的抽取数据的抽取是数据进入仓库的入口。由于数据仓库是一个独立的数据环境,它需要通过抽取过程将数据从联机事务处理系统、外部数据源、脱机的数据存储介质中导入数据仓库。数据抽取在技术上主要涉及互连、复制、增量、转换、调度和监控等几个方面的处理。在数据抽取方面,未来的技术发展将集中在系统功能集成化方面,以适应数据仓库本身或数据源的变化,使系统更便于管理和维护。·数据的存储和管理数据仓库的组织管理方式决定了它有别于传统数据库的特性,也决定了其对外部数据的表现形式。数据仓库管理所涉及的数据量比传统事务处理大得多,且随时间的推移而快速累积。在数据仓库的数据存储和管理中需要解决的是如何管理大量的数据、如何并行处理大量的数据、如何优化查询等。目前,许多数据库厂家提供的技术解决方案是扩展关系型数据库的功能,将普通关系数据库改造成适合担当数据仓库的服务器。·数据的展现在数据展现方面主要的方式有:查询:实现预定义查询、动态查询、OLAP查询与决策支持智能查询;报表:产生关系数据表格、复杂表格、OLAP表格、报告以及各种综合报表;可视化:用易于理解的点线图、直方图、饼图、网状图、交互式可视化、动态模拟、计算机动画技术表现复杂数据及其相互关系;统计:进行平均值、最大值、最小值、期望、方差、汇总、排序等各种统计分析;挖掘:利用数据挖掘等方法,从数据中得到关于数据关系和模式的识别。5数据挖掘与数据仓库融合发展数据挖掘和数据仓库的协同工作,一方面,可以迎合和简化数据挖掘过程中的重要步骤,提高数据挖掘的效率和能力,确保数据挖掘中数据来源的广泛性和完整性。另一方面,数据挖掘技术已经成为数据仓库应用中极为重要和相对独立的方面和工具。数据挖掘和数据仓库是融合与互动发展的,其学术研究价值和应用研究前景将是令人振奋的。它是数据挖掘专家、数据仓库技术人员和行业专家共同努力的成果,更是广大渴望从数据库“奴隶”到数据库“主人”转变的企业最终用户的通途。统计学与数据挖掘统计学和数据挖掘有着共同的目标:发现数据中的结构。事实上,由于它们的目标相似,一些人(尤其是统计学家)认为数据挖掘是统计学的分支。这是一个不切合实际的看法。因为数据挖掘还应用了其它领域的思想、工具和方法,尤其是计算机学科,例如数据库技术和机器学习,而且它所关注的某些领域和统计学家所关注的有很大不同。1.统计学的性质关注统计学不同于数据挖掘的特性。差异之一同上节中最后一段提到的相关,即统计学是一门比较保守的学科,目前有一种趋势是越来越精确。当然,这本身并不是坏事,只有越精确才能避免错误,发现真理。但是如果过度的话则是有害的。这个保守的观点源于统计学是数学的分支这样一个看法,我是不同意这个观点的,尽管统计学确实以数学为基础(正如物理和工程也以数学为基础,但没有被认为是数学的分支),但它同其它学科还有紧密的联系。数学背景和追求精确加强了这样一个趋势:在采用一个方法之前先要证明,而不是象计算机科学和机器学习那样注重经验。数据挖掘作为几门学科的综合,已经从机器学习那里继承了实验的态度。这并不意味着数据挖掘工作者不注重精确,而只是说明如果方法不能产生结果的话就会被放弃。正是统计文献显示了(或夸大了)统计的数学精