课程名称:管理信息系统授课章节第十二章数据挖掘技术课时1目的要求了解数据挖掘的发展历程和功能;了解数据预处理技术、挖掘算法、聚类分析的优缺点;了解数据挖掘技术在社科领域、科学技术领域的应用。重点难点重点:数据挖掘的功能;聚类分析的优缺点;数据挖掘技术在社科领域、科学技术领域的应用。难点:数据挖掘的预处理技术;数据挖掘的各种算法。§12.1数据挖掘技术的概念数据爆炸问题:自动数据收集工具和成熟的数据库技术使得大量的数据被收集,存储在数据库、数据仓库或其他信息库中以待分析。我们拥有丰富的数据,但却缺乏有用的信息。解决方法:数据仓库技术和数据挖掘技术。数据挖掘:在大量的数据中挖掘感兴趣的知识(规则,规律,模式,约束)。12.1.1数据挖掘的发展历程1960s和以前:文件系统。1970s:层次数据库和网状数据库。1980s早期:关系数据模型,关系数据库管理系统(RDBMS)的实现。1980s晚期:各种高级数据库系统(扩展的关系数据库,面向对象数据库等等.);面向应用的数据库系统(空间数据库,时序数据库,多媒体数据库等等)。1990s:数据挖掘,数据仓库,多媒体数据库和网络数据库。2000s:流数据管理和挖掘;基于各种应用的数据挖掘;XML数据库和整合的信息系统。12.1.2数据挖掘的定义1、数据挖掘的定义从数据中发现知识。从大量的数据中挖掘哪些令人感兴趣的、有用的、隐含的、先前未知的和可能有用的模式或知识。挖掘的不仅仅是数据,所以“数据挖掘”并非一个精确的用词。2、数据挖掘的替换词数据库中的知识挖掘(KDD)、知识提炼、数据/模式分析、数据考古、数据捕捞、信息收获等等。3、数据库中的知识挖掘(KDD)数据挖掘:数据库中的知识挖掘(KDD)数据挖掘——知识挖掘的核心数据清理数据集成数据库数据仓库任务相关数据选择数据挖掘模式评估图12.1数据库中的知识挖掘(KDD)4、数据挖掘:多个学科的融合数据挖掘:多个学科的融合数据挖掘数据库系统统计学其他学科算法机器学习可视化图12.2数据挖掘:多个学科的融合12.1.3数据挖掘的功能1、数据挖掘的主要功能(1)聚类分析一个好的聚类分析方法会产生高质量的聚类。高类内相似度,低类间相似度。图12.3聚类分析聚类分析的研究主要是基于距离的聚类;一个高质量的聚类分析结果,将取决于所使用的聚类方法,发现隐藏模式的能力。应用:对WEB日志的数据进行聚类,以发现相同的用户访问模式(2)孤立点分析孤立点:一些与数据的一般行为或模型不一致的孤立数据。通常孤立点被作为“噪音”或异常被丢弃,但在欺骗检测中却可以通过对罕见事件进行孤立点分析而得到结论。应用:信用卡欺诈检测、移动电话欺诈检测、客户划分、医疗分析。图12.4孤立点分析(3)关联规则挖掘从事务数据库,关系数据库和其他信息存储中的大量数据的项集之间发现有趣的、频繁出现的模式、关联和相关性。应用:广泛的用于购物篮或事务数据分析.(4)分类和预测根据训练数据集和类标号属性,构建模型来分类现有数据,并用来分类新数据(分类),用来预测类型标志未知的对象类(预测)。应用:按气候将国家分类,按汽油消耗定额将汽车分类。可以用来预报某些未知的或丢失的数字值。(5)趋势和演变分析描述行为随时间变化的对象的发展规律或趋势(时序数据库)。(6)概念描述为数据的特征化和比较产生描述(当所描述的概念所指的是一类对象时,也称为类描述)。应用:对AllElectronic公司的“大客户”(年消费额$1000以上)的特征化描述:40-50岁,有固定职业,信誉良好,等等。§12.2数据挖掘技术基础研究12.2.1数据预处理技术1、为什么要预处理数据?(1)现实世界的数据是“肮脏的”——数据多了,什么问题都会出现:不完整的:有些感兴趣的属性缺少属性值,或仅包含聚集数据;含噪声的:包含错误或者“孤立点”;不一致的:在编码或者命名上存在差异。(2)没有高质量的数据,就没有高质量的挖掘结果。高质量的决策必须依赖高质量的数据。数据仓库需要对高质量的数据进行一致地集成。2、数据预处理的主要任务(1)数据清理:填写空缺的值,平滑噪声数据,识别、删除孤立点,解决不一致性。(2)数据集成:集成多个数据库、数据立方体或文件。(3)数据变换:规范化和聚集。(4)数据归约:得到数据集的压缩表示,它小得多,但可以得到相同或相近的结果。(5)数据离散化:数据归约的一部分,通过概念分层和数据的离散化来规约数据,对数字型数据特别重要。(6)对象属性的加权。12.2.2数据挖掘的聚类算法聚类分析算法种类繁多,具体的算法选择取决于数据类型,聚类的应用和目的。常用的聚类算法包括:(1)划分方法;(2)层次的方法;(3)基于密度的方法;(4)基于网格的方法;(5)基于模型的方法。实际应用中的聚类算法,往往是上述聚类方法中多种方法的整合。12.2.3聚类算法的选择在确定使用哪种类型的聚类算法时,需要考虑各种各样的因素。下面将简洁的总结这些因素,清楚地显示对于特定的聚类任务,哪种聚类算法更合适。1、聚类的类型确定聚类的类型与预期的使用相匹配的一个重要因素是算法产生的聚类类型。对于一些应用,比如创建生物学分类法,层次聚类是首选的。对于旨在汇总的聚类,划分聚类是常用的。大部分聚类应用要求所有或几乎所有对象的聚类。例如,如果使用聚类组织用于浏览的文档集,则我们希望大部分文档都属于同一个组。然而,如果我们要找出文档集合中的昀重要的主题,则我们更愿意有一个只产生凝聚的簇的聚类方案。2、簇的类型如上文分析,经常遇到的簇有三种类型:基于原型的、基于图的和基于密度的。基于原型的聚类方案以及某些基于图的聚类方案(全链、质心和Ward)趋向于产生全局簇,其中每个对象都与簇的原型或簇中其他对象足够靠近。例如,如果我们想汇总数据以压缩它的大小,并且我们希望以昀小误差作这件事,则这些类型的技术应当昀为合适。相比之下,基于密度的聚类技术和某些基于图的聚类技术(如单链)趋向于产生非全局的簇,因而包含许多相互之间不很相似的对象。如果使用聚类根据地表覆盖将地理区域划分成相邻的区域,则这些技术比基于原型的技术更合适。3、簇的特性除一般的簇类型之外,簇得其他特性也很重要。如果我们想在原数据空间的子空间中发现簇,则必须选择子空间聚类算法。类似地,如果我们对强化簇之间的空间联系感兴趣,则SOM或相关方法更合适。此外,对于处理形状、大小和密度变化的簇,聚类算法的能力也很不相同。4、数据集和属性的特性这点可能决定所用算法的类型,例如K均值算法只能用于这样的数据,有合适的邻近性度量,使得簇质心的计算是有意义的。5、噪声和离群点在实践中,估计数据集中的噪声量和离群点的个数可能是非常困难的。对一个人而言可能是噪声的东西,对于另一个人可能是有趣的。例如,如果我们使用聚类将一个区域划分成人口密度不同的区域,则我们不愿意使用诸如DBSCAN那样的技术,因为它假定密度低于全局阈值的区域或点是噪声或离群点。在比如,诸如CURE这样的层次聚类技术通常丢弃增长缓慢的点簇,因为这样的簇趋向于代表离群点。然而,在某些应用中,我们可能对相对小的簇昀感兴趣:例如,这样的组群可能代表昀有利可图的顾客。6、数据对象的个数假设我们想创建数据集的一个层次聚类,我们对一路扩展到每个对象的完全层次聚类不感兴趣,而只对将数据分裂成数百个簇的的那些点感兴趣。如果该数据集非常大,则我们不能直接使用凝聚聚类技术。然而,我们可以使用分裂聚类技术,如昀小生成树算法,但是这也是仅当数据集不是太大才是可行的。在这种情况下,像BIRCH这样的不要求数据都在内存中的技术就变得更有用。7、属性的个数某些在低维空间中运行得很好的算法在高维空间可能无法运行。正如其他不适当地使用聚类算法的情况那样,聚类算法可能运行并产生簇,但是这些簇可能并不代表数据的真实结构。总之,选择合适的算法涉及以上所有这些问题,以及特定领域问题的考虑。不存在确定合适技术的公式。尽管如此,可用的关于聚类技术类型的一般知识和对上述问题的考虑,连同对实际应用的密切关注,应当使得数据分析者能够做出试用那些聚类方法的非形式的决策。§12.3数据挖掘技术应用12.3.1数据挖掘技术在经济管理领域的应用1、数据挖掘应用——市场分析和管理(1)数据从那里来?a)信用卡交易、会员卡、商家的优惠卷、消费者投诉电话、公众生活方式研究。(2)目标市场a)构建一系列的“客户群模型”,这些顾客具有相同特征:兴趣爱好、收入水平、消费习惯等等。b)确定顾客的购买模式。(3)交叉市场分析a)货物销售之间的相互联系和相关性,以及基于这种联系上的预测。(4)顾客分析a)哪类顾客购买那种商品(聚类分析或分类预测)。(5)客户需求分析a)确定适合不同顾客的昀佳商品。b)预测何种因素能够吸引新顾客。(6)提供概要信息a)多维度的综合报告。b)统计概要信息(数据的集中趋势和变化)。2、数据挖掘应用——公司分析和风险管理(1)财务计划a)现金流转分析和预测。b)交叉区域分析和时间序列分析(财务资金比率,趋势分析等等)。(2)资源计划a)总结和比较资源和花费。(3)竞争a)对竞争者和市场趋势的监控。b)将顾客按等级分组和基于等级的定价过程。c)将定价策略应用于竞争更激烈的市场中。3、数据挖掘应用——欺诈行为检测和异常模式的发现(1)方法:对欺骗行为进行聚类和建模,并进行孤立点分析。(2)应用:卫生保健、零售业、信用卡服务、电信等。a)汽车保险:相撞事件的分析。b)洗钱:发现可疑的货币交易行为。c)医疗保险i.职业病人,医生以及相关数据分析。ii.不必要的或相关的测试。d)电信:电话呼叫欺骗行为i.电话呼叫模型:呼叫目的、持续时、日或周呼叫次数。分析该模型发现与期待标准的偏差。e)零售产业i.分析师估计有38%的零售额下降是由于雇员的不诚实行为造成的。f)反恐怖主义4、数据挖掘应用——高校图书馆例:国家社科项目12.3.2数据挖掘技术在地球物理学领域的应用例:国家自然科学基金项目12.3.3数据挖掘技术在其他领域的应用例:教育部春辉计划项目