2003年5月25日1数据组织与分析技术武森北京科技大学经济管理学院2003年5月25日2第一部分:数据仓库第二部分:数据挖掘2003年5月25日3数据挖掘1.数据挖掘概述2.数据挖掘的数据准备3.聚类分析4.分类发现5.关联规则发现6.数据挖掘的发展与应用2003年5月25日4数据挖掘1.数据挖掘概述2.数据挖掘的数据准备3.聚类分析4.分类发现5.关联规则发现6.数据挖掘的发展与应用2003年5月25日51数据挖掘概述1.1KDD与数据挖掘1.2KDD过程1.3数据挖掘的任务1.4数据仓库与数据挖掘2003年5月25日61.1KDD与数据挖掘数据库知识发现(KnowledgeDiscoveryinDatabase,KDD)的比较公认的定义:数据库知识发现是从数据集中识别有效的、新颖的、潜在有用的,以及最终可理解模式的非平凡处理过程(Knowledgediscoveryindatabasesisthenon-trivialprocessofidentifyingvalid,novel,potentiallyuseful,andultimatelyunderstandablepatternsindata)2003年5月25日7数据库知识发现的成功应用(1)在科学实验中的应用(2)数据挖掘在零售行业上的应用(3)金融分析领域(4)识别银行或商业上经常发生诈骗行为(5)电话销售和直接销售行业(6)制造行业(7)电信行业(8)交通管理及车流状态预测2003年5月25日8数据挖掘:数据库知识发现中专门负责发现知识的核心环节。数据库知识发现:是一个交互式、循环反复的整体过程,除了包括数据挖掘外,还包括数据的预处理和对所发现的结果进行解释评估等诸多环节。2003年5月25日91.2KDD过程数据库知识发现过程如图9-1所示,整个过程可以分为三个阶段:数据准备(DataPreparation)、数据挖掘、挖掘结果的解释与评估(InterpretationandEvaluation)。可视化数据准备数据挖掘解释评估数据库待挖掘数据抽取的信息有用的知识2003年5月25日10数据准备阶段的工作包括四个方面的内容:(1)数据的净化(2)数据的集成(3)数据的应用变换(4)数据的精简2003年5月25日111.3数据挖掘的任务根据挖掘任务分,有如下几种知识发现任务:(1)分类知识发现(2)数据总结(3)数据聚类(4)关联规则发现(5)序列模式发现(6)依赖关系或依赖模型发现(7)异常发现和趋势预测等2003年5月25日12DataMining:ConfluenceofMultipleDisciplinesDataMiningDatabaseTechnologyStatisticsOtherDisciplinesInformationScienceMachineLearningVisualization2003年5月25日131.4数据仓库与数据挖掘在数据仓库中进行数据挖掘对数据挖掘提出了更高的要求:(1)数据仓库中集成和存储着来自若干异构的数据源的信息。这些数据源本身就可能是一个规模庞大的数据库,有着比一般数据库系统更大的数据规模。这就要求在数据仓库中进行数据挖掘的算法必须更有效、更快速。(2)数据仓库具有一个重要的特征,就是一般具有长时间的历史数据存储。存储长时间历史数据的目的就是进行数据长期趋势的分析。数据仓库中的数据在时间轴上的特征,在一定程度上增加了数据挖掘的难度。2003年5月25日14数据仓库也为数据挖掘创造了更方便的数据条件,体现在:(1)数据仓库集成了企业内各部门的全面的、综合的数据(2)数据仓库是面向决策支持的,它的体系结构努力保证查询和分析的实时性2003年5月25日15DataMining:AKDDProcessDatamining:thecoreofknowledgediscoveryprocess.DataCleaningDataIntegrationDatabasesDataWarehouseTask-relevantDataSelectionDataMiningPatternEvaluation2003年5月25日16数据挖掘1.数据挖掘概述2.数据挖掘的数据准备3.聚类分析4.分类发现5.关联规则发现6.数据挖掘的发展与应用2003年5月25日172数据挖掘的数据准备2.1数据准备概述2.2数据的应用变换2.3数据的精简2003年5月25日182.1数据准备概述2.1.1数据准备的内容(1)数据的净化(2)数据的集成(3)数据的应用变换(4)数据的精简2003年5月25日19数据的净化数据净化是清除数据源中不正确、不完整等不能达到数据挖掘质量要求的数据,例如不正确的数据、空值数据、不完整的数据等。数据净化可以提高数据的质量,从而得到更正确的数据挖掘结果。由于数据挖掘需要应用具体的算法,而不仅仅是对数据进行检索和浏览,因此对数据的净化要求一般比数据仓库要高。2003年5月25日20数据的集成数据挖掘所应用的数据不一定来源于同一个数据源。如果来自多个数据源,就需要进行数据的集成。数据的集成是从不同的数据源选取所需的数据,并进行统一的存储,而且需要消除其中的不一致性。数据的集成性是数据仓库系统非常重要的一个特征。2003年5月25日21数据的应用变换数据的应用变换就是为了使数据适用于计算的需要而进行的一种数据转换。这种变换主要源于两个方面的原因:一是现有数据不满足分析需求而进行的数据变换;二是应用具体的数据挖掘算法的需要。不同的算法对数据往往也有着不同的要求。为了使得计算的结果更高效更准确,需要对数据进行应用变换。2003年5月25日22数据的精简数据精简是采用一定的方法对数据的数量进行缩减,或从初始特征中找出真正有意义的特征以消减数据的维数。许多数据挖掘算法在数据量比较小或维数比较低的情况下能够得到比较好的结果,却不是很适用于处理大数据集或高维的情况。而且,在数据量非常大的情况下,算法的计算效率往往不能够满足应用的要求。2003年5月25日232.1.2数据准备的内容在基于数据仓库进行数据挖掘的情况下,数据准备的工作量会减少很多。数据仓库中存储的是经过数据转换后的数据,已经基本完成了数据的净化和集成。但是,数据仓库中的数据预处理同数据挖掘的数据准备不完全相同。2003年5月25日24不同之处主要体现在如下几个方面:(1)数据挖掘对数据的净化要求一般比数据仓库要高(2)在某些数据挖掘应用中,需要将数据集划分为训练集、测试集和评估集三个部分(3)在数据仓库与数据挖掘结合时,往往需要在数据中增加某些新的属性(4)在数据挖掘的数据准备中一般对异常值进行专门处理(5)在应用许多数据挖掘算法之前,需进行数据的标准化(6)在有些数据挖掘应用中,需要进行数据的泛化(7)在数据仓库中一般只进行数据的聚集,而不进行其它方面的数据精简;而在进行数据挖掘的数据准备中,数据的精简是一个非常重要的内容2003年5月25日252.2数据的应用变换数据的应用变换是为了使数据适用于计算的需要而进行的一种数据转换。数据的应用变换包含的内容主要有:(1)异常值的处理(2)数据的标准化(3)数据的泛化(4)数据的聚集2003年5月25日262.2.1异常值处理异常值也被称为噪声(Noise),指的是取值远远偏离于一般值的数据。比较常见的异常值处理方法有:(1)回归方法(Regression)(2)聚类方法(Clustering)(3)装箱方法(Binning)2003年5月25日27回归方法(Regression)回归方法是比较常见的一种统计学方法,用以尽可能近似地确定两个或多个变量之间的函数关系。X:年度Y:销售额一元线性回归示意图2003年5月25日28聚类方法(Clustering)聚类方法是把一组对象按照相似性分成若干类别,目的在于使得属于同一类别的对象之间尽可能的相似,而属于不同类别中的对象之间尽可能的不相似。如果一个对象没有被归入任何类别,那么表明该对象同任何类别中的对象都不相似,则被认为是异常值。图10-3采用聚类的方法除去异常值2003年5月25日29装箱方法(Binning)装箱的方法是首先对数据进行排序,按照一定的规则将排序后的数据分成若干“箱”(Bin),然后针对各个箱,将其中的数据以平均值、中值等进行替换,使数据取值更加平滑。装箱的规则有两个:深度相等规则和广度相等规则。深度相等规则指的是每个箱中装入的数据的个数相等;广度相等规则指的是每个箱中数据取值的间隔相等2003年5月25日30装箱方法的数值例子替换前替换后第1箱8,13,1512,12,12第2箱17,28,3627,27,27第3箱40,42,4743,43,43第4箱50,56,6256,56,562003年5月25日312.2.2数据标准化对于大部分数据挖掘算法来讲,数据的标准化是非常必要的。例如,大部分聚类分析算法都需要进行对象间距离的计算,而描述一个对象的多个属性往往具有不同的度量单位,各属性的取值常常不在一个数量级上,如果不进行数据的标准化,聚类分析算法会受到取值数量级高的属性的影响,可能产生不合理的聚类结果。2003年5月25日32对于对象,描述其第个属性的变量值分别为,那么针对该第k个属性标准化后的度量值可以采用下面的两个公式之一进行计算:(公式10.2.2)(公式10.2.3)2003年5月25日33其中,为属性的平均值;,为属性的平均绝对离差;,为属性的标准差。2003年5月25日34例:应用公式(10.2.2)进行属性取值的标准化假设有8个对象,描述每个对象的第一个属性为,取值如表10-2中第一行所示,那么:平均值:平均绝对离差:标准化后的值:计算结果见表10-2中第二行所示。2003年5月25日35表10-2标准化前后的属性取值标准化前的5476668578847213标准化后的-0.740.6201.170.741.110.37-3.262003年5月25日36另外,还有一种很常见的数据标准化方法,就是以十进制单位为基础改变数据的数量级,使得标准化后数据的取值范围限制在某一个特定的区间,例如[-1,1]区间。对于对象,描述其第k个属性的变量值分别为那么针对该第个属性采用该方法标准化后的度量值为其中,为使得的最小整数值。(10.2.4)2003年5月25日37例:假设存在4个对象,其中第k个属性的取值分别为=-1,=90,=100,=27,那么=2,标准化后属性的取值分别为:2003年5月25日382.2.3数据泛化数据泛化:通过建立概念层次将低层次的数据以高层次的概念来进行替换。数据泛化的方法:装箱方法聚类分析的方法直方图方法自然分割方法2003年5月25日39直方图方法直方图方法是将描述对象的某一个属性的取值范围划分为若干个不交叉的子集,每一个子集以一个直方块在坐标轴中表示出来,横轴标明该子集的取值区间,纵轴标明属性取值在该子集内的频数,即属性取值在该子集内的对象的个数。例如,将16个属性取值数据8,13,15,17,28,33,35,36,36,37,40,42,47,50,56,62划分为7个子集,取值区间及频数如表10-3所示,形成的直方图见图10-4。2003年5月25日40表10-3各子集的取值区间及频数子集1子集2子集3子集4子集5子集6子集7取值区间0-1011-2021-3031-4041-5051-6061-70频数1315321频数取值范围0-1011-2021-3031-4041-5051-6061-70543210图10-4采用直方图进行数据泛化2003年5月25日41在采用直方图的方法进行数据的泛化时,最为关键的是如何对取值区间进行分割。对此,有多种方法可供选择,例如:等宽的方法,即每一个直方块取值的宽度是相同的,图10-4所示的直方图应用的就是等宽的方法;等深的方法,即每一个直方块中取值的频数是基本相同的;最大距离的方法,即首先选择距离最大的相邻的两个数据进行分割,然后再选