《第三讲数据预处理精选文档.ppt》由会员分享,可在线阅读,更多相关《第三讲数据预处理精选文档.ppt(69页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第三讲数据预处理本讲稿第一页,共六十九页2数据预处理(Data Preprocessing)l为什么要预处理数据?l数据清理l数据集成与转换l数据简约(归约)l离散化与概念分层生成l用SSIS对数据进行ETL操作本讲稿第二页,共六十九页3为什么进行数据预处理?l现实世界中的数据是“脏”的l不完整:缺少属性值,缺少某些属性,或者仅包含聚集类数据l噪音:包含错误、异常数据或存在偏离期望的孤立点值。l不一致:包含编码或名称的差异。例如,用于商品分类的部门编码存在差异。l没有质量保证的数据,就没有高质量的挖掘结果!l高质量的决策必须以高质量的数据为基础l数据仓库需要一致集成的高质量数据本讲稿第三页,共
2、六十九页5数据预处理的主要任务l数据清理(Data cleaning)lFill in missing values,smooth noisy data,identify or remove outliers,and resolve inconsistenciesl数据集成(Data integration)lIntegration of multiple databases,data cubes,or filesl数据转换(Data transformation)lNormalization and aggregationl数据归约/约简(Data reduction)lObtains re
3、duced representation in volume but produces the same or similar analytical results本讲稿第五页,共六十九页6数据预处理的形式本讲稿第六页,共六十九页7为什么要预处理数据?l现实世界的数据一般是脏的、不完整的和不一致的。数据预处理技术可以改进数据的质量,从而有助于提高其后的挖掘过程的精度和性能。由于高质量的决策必然依赖于高质量的数据,因此数据预处理是知识发现过程中的重要步骤。本讲稿第七页,共六十九页8数据预处理l为什么要预处理数据?l数据清理l数据集成与转换l数据简约(归约)l离散化与概念分层生成l用SSIS对数据
4、进行ETL操作本讲稿第八页,共六十九页9数据清理l数据清理任务l补充缺失值l识别异常并平滑噪音数据l修正不一致的数据本讲稿第九页,共六十九页10Missing Data(缺失数据)l数据并非总是可得到的l例如:许多元组在某些属性上没有记录值,比如销售数据中的客户收入l导致缺失数据的原因 l设备出错l和其他记录数据不一致,进而被删除了l由于误解导致数据没有录入l在录入的时候某些数据可能被认为是不重要的l缺失数据可能需要被推知本讲稿第十页,共六十九页11如何处理缺失数据l忽略该元组:通常类标志缺失时(假设在分类任务中)l手工填入缺失值:繁琐+不可能?l用一个全局常量来填充缺失值:例如,用“unkn
5、own”来替换空缺值。可能挖掘出一个有趣的概念,因为这些数据都具有相同的值“unknown”。该方法虽然简单,却并不十分可靠。l利用该属性的均值来填充缺失值:例如用顾客的平均收入替换收入(income)的空值。l利用与给定元组属于同一类的所有样本的均值:例如,如果将顾客按信用等级(credit_risk)分类,则用具有相同信用度的顾客的平均收入替换收入的空缺值。smarterl利用最可能的值来填充缺失值:决策树。例如利用数据集中其他顾客的属性,可以构造一棵决策树,来预测income的空缺值。本讲稿第十一页,共六十九页12如何处理缺失数据l方法3-6使数据倾斜,填入的值可能不正确。然而,方法6是
6、最常用的方法。与其他方法相比,它使用现存数据的多数信息来预测空缺值。通过考虑其他属性的值,有更大机会保持空值属性和其他属性之间的联系。本讲稿第十二页,共六十九页13噪音数据(Noisy Data)lNoise:(具有不正确的属性值)在可测度变量中的随机错误或偏差l导致不正确属性值的原因l错误的数据收集手段l数据输入问题l数据传送问题l技术限制本讲稿第十三页,共六十九页14如何处理噪音数据?给定一个数值属性,例如price,怎样才能平滑数据,去掉噪音?常用的数据平滑技术:l分箱(Binning method):分箱方法通过考察“邻居”(即周围的值)来平滑存储数据的值。l首先将数据排序并将其分割到
7、一些相等深度的“桶”(bucket or bin)中l然后可根据桶均值,桶中间值,桶边界值等进行平滑本讲稿第十四页,共六十九页15Sorted data:4,8,15,21,21,24,25,28,34Partition into(equidepth)bins:Bin1:4,8,15Bin2:21,21,24Bin3:25,28,34Smoothing by bin means:Bin1:9,9,9Bin2:22,22,22Bin3:29,29,29Smoothing by boundaries:Bin1:4,4,15Bin2:21,21,24Bin3:25,25,34Binning Meth
8、od本讲稿第十五页,共六十九页16数据平滑的Binning 方法*Sorted data for price(in dollars):4,8,9,15,21,21,24,25,26,28,29,34*Partition into(equi-depth)bins:-Bin 1:4,8,9,15 -Bin 2:21,21,24,25 -Bin 3:26,28,29,34*Smoothing by bin means:-Bin 1:9,9,9,9 -Bin 2:23,23,23,23 -Bin 3:29,29,29,29*Smoothing by bin boundaries:-Bin 1:4,4,
9、15,15 -Bin 2:21,21,25,25 -Bin 3:26,26,34,34本讲稿第十六页,共六十九页17简单的离散化方法:Binningl等宽(距)划分:l将范围分为等大小的N个区间l如果 A和 B是该属性的最低或最高值,则区间的宽度为:W=(B-A)/N.l最直接易懂l但是异常值可能会主导其展现l不能很好的处理偏离数据(Skewed data)l等深(频)划分:l将范围划分为N个区间,每个区间包含近似相等数量的样本l较好的数据比例本讲稿第十七页,共六十九页18如何处理噪音数据?l聚类(Clustering)l孤立点可以被聚类检测。聚类将类似的值组织成群或“聚类”。直观地看,落在聚
10、类集合之外的值被视为孤立点。l回归l通过让数据适合一个函数(如线性回归函数)来平滑数据。l线性回归涉及找出适合两个变量的“最佳”直线,使得一个变量能够预测另一个。本讲稿第十八页,共六十九页19聚类分析本讲稿第十九页,共六十九页20回归xyy=x+1X1Y1Y1本讲稿第二十页,共六十九页21数据预处理l为什么要预处理数据?l数据清理l数据集成与转换l数据简约(归约)l离散化与概念分层生成l用SSIS对数据进行ETL操作本讲稿第二十一页,共六十九页22数据集成l数据集成(Data integration):将多个数据源中的数据组合到一个一致的数据存储中。需要考虑的问题:l实体识别问题l从多种数据源
11、中识别真实世界中的实体 e.g.,A.cust-id B.cust-#l通过元数据解决l侦测并解决数据值的冲突l对于真实世界中的同一实体,来自不同数据源的属性值可能是不同的l可能的原因:不同的表示,不同比率,e.g.,公制 vs.英制单位l属于语义的异种性本讲稿第二十二页,共六十九页23数据集成中的冗余数据处理l在集成多种数据库时经常会出现冗余数据l同一属性值在不同的数据库中可能有不同的名字l一个属性可能是另外一个表中的一个“衍生”属性,e.g.,年薪l冗余数据可能通过相关性分析而被发现l仔细集成来自不同源的数据有助于减少或避免冗余和不一致性从而改善挖掘速度和质量其中,是A的标准差本讲稿第二十
12、三页,共六十九页24数据转换l数据转换:将数据转换成适合于挖掘的形式。涉及以下内容:l平滑:从数据中去掉噪音。这种技术包括分箱、聚类和回归。l聚集:对数据进行汇总和聚集。l数据泛化:使用概念分层,用高层次概念替换低层次“原始”数据。l规范化:将属性数据按比例映射到一个小的特定范围,如-1,1lmin-max normalizationlz-score normalizationlnormalization by decimal scalingl属性构造(或特征构造):从给定属性中创建新属性本讲稿第二十四页,共六十九页25数据转换:规范化lmin-max normalization:对原始数据进
13、行线性变换。l能够保持原始数据值之间的关系。如果今后的输入落在A的原数据区之外,该方法将面临“越界”的错误。l例如,假定属性income的最小与最大值分别为$12 000和$98 000,映射income到区间0.0,1.0。根据公式,income值$73 600将变换为本讲稿第二十五页,共六十九页26数据转换:规范化lz-score normalization:属性A的值基于A的平均值和标准差。l当属性A的最大和最小值未知,或孤立点左右了min-max normalization时,该方法是有用的。lnormalization by decimal scaling:通过移动属性A的小数点位置
14、进行规范化。小数点的移动位数依赖于A的最大绝对值。Where j is the smallest integer such that Max(|)Reduced attribute set:A1,A4,A6YNYNYN本讲稿第三十一页,共六十九页32数值压缩l数值压缩:通过选择替代的、较小的数据表示形式来减少数据量。l参数方法l用一个模型来估计数据,因此一般来说只有模型参数需要存储,而无须存储实际数据。例如:线性回归模型。l非参数方法 l无须假设模型l存储简约后的表示,包括:histograms,clustering,sampling 本讲稿第三十二页,共六十九页33回归模型l线性回归:将数据
15、建模,用来拟合一条直线,用来近似给定数据。lY=+Xl经常使用最小二乘方法来拟合直线l多元回归:Y=b0+b1 X1+b2 X2.本讲稿第三十三页,共六十九页34Histograms本讲稿第三十四页,共六十九页35ClusterRaw Data Cluster/Stratified Sample本讲稿第三十五页,共六十九页36SamplingSRSWOR(simple random sample without replacement)SRSWRRaw Data本讲稿第三十六页,共六十九页37数据预处理l为什么要预处理数据?l数据清理l数据集成与转换l数据简约(归约)l离散化与概念分层生成l用
16、SSIS对数据进行ETL操作本讲稿第三十七页,共六十九页38离散化和概念分层l离散化:将连续属性的范围分成区间,用来减少给定连续属性值的个数。l为什么要离散化l有些分类算法只接受类别属性l减小数据大小l为进一步分析做准备l概念分层:通过用高层概念(如青年,中年,老年)收集和替换低层概念(如年龄属性的数值)来减少数据量。本讲稿第三十八页,共六十九页39数值型数据的离散化和概念分层生成方法lBinning lHistogram analysislClustering analysis lEntropy-based discretizationlSegmentation by natural par
17、titioning本讲稿第三十九页,共六十九页40基于熵的离散化l给定一组样本 S,如果 S利用边界 T被划分为两个区间S1和 S2,划分之后的熵为l使得熵函数在所有可能的边界中取得最小值的那个边界被选作为二元离散因子l递归地将这一过程应用于所得的分区,直到满足特定的结束条件,e.g.,l实验表明这样处理数据可以减少数据大小,以及改善分类准确率。本讲稿第四十页,共六十九页41总结l数据准备是数据仓库和数据挖掘中的大问题l数据准备包括l数据清理和数据集成l数据归约和属性选择l离散化l目前已经开发了许多中方法用于数据准备,但其仍是个活跃的研究领域本讲稿第四十一页,共六十九页42数据预处理l为什么要
18、预处理数据?l数据清理l数据集成与转换l数据简约(归约)l离散化与概念分层生成l用SSIS对数据进行ETL操作本讲稿第四十二页,共六十九页用SSIS对数据进行ETL操作lSQL Server Integration Services(SSIS)是由SQL Server 2000中的DTS服务升级而来,是用于生成高性能数据集成和工作流解决方案的平台,可以进行数据的提取、转换和加载(ETL)操作。lSSIS可以解决业务数据库中数据模型不同、数据不兼容等问题。lSSIS通过包来管理复杂的数据整合任务,通过控制流、数据流和事件处理程序等组件来处理这些任务。43本讲稿第四十三页,共六十九页44包包控制流
19、任务源转换目标数据流任务包包的的典典型型使使用用方方式式本讲稿第四十四页,共六十九页第一个SSIS包的设计l将设计一个包来处理AdventureWorks数据库的“TransactionHistoryArchive”表,同时把处理后的数据转换为平面文件目标(文本文件),并且在包内把此目标文件复制到备份文件夹中。45本讲稿第四十五页,共六十九页1.新建项目46本讲稿第四十六页,共六十九页47本讲稿第四十七页,共六十九页2.设置连接管理器(1)鼠标右键单击“连接管理器”区域任意位置,在弹出的快捷菜单中选择“新建OLE DB连接”命令。(2)在“配置OLE DB连接管理器”对话框中单击“新建”按钮,
20、在弹出的“连接管理器”对话框中选择相应服务器,并选择Adventure Works数据库。(3)设置好后可单击此对话框中的“测试连接”按钮。返回SSIS设计器。48本讲稿第四十八页,共六十九页49本讲稿第四十九页,共六十九页3.规划控制流l本例中需要计算销售归档数据表中的数据,并把结果保存为一个文本文件,同时复制到备份文件夹中。(1)确认管理标签是“控制流”,从工具箱中选择“数据流任务”组件拖动到控制流设计器中,改名为“计算归档值”。(2)从工具箱中选择“文件系统任务”组件拖动到控制流设计器中,命名为“备份”。拖动“计算归档值”数据流任务下的绿色箭头到这个文件系统任务。(3)选择工具箱中的“序
21、列容器”组件拖动到控制流设计界面,同时把前2个组件一起放入到序列容器中。50本讲稿第五十页,共六十九页51本讲稿第五十一页,共六十九页4.设计“计算归档值”数据流(1)双击“计算归档值”组件,计入数据流管理界面。(2)从工具箱中选择“OLE DB 源”组件,改名为“提取数据”。双击此组件,在弹出的“OLE DB 源编辑器”窗口中进行设置。如图所示。52本讲稿第五十二页,共六十九页53本讲稿第五十三页,共六十九页4.设计“计算归档值”数据流(3)从工具箱中选择“派生列”组件,命名为“计算每一项的总成本”,并把“提取数据”组件所带的绿色箭头拖动到“计算每一项的总成本”组件,后双击该组件,进行设置。
22、54本讲稿第五十四页,共六十九页55本讲稿第五十五页,共六十九页4.设计“计算归档值”数据流(4)把“聚合”组件加入数据流设计界面,命名为“汇总数量和成本”。先让数据流从“计算每一项的总成本”组件流向此聚合组件,并双击进行设置。56本讲稿第五十六页,共六十九页57本讲稿第五十七页,共六十九页4.设计“计算归档值”数据流(5)增加“派生列”组件,命名为“计算平均成本”。设置好数据流向后,双击进行设置。58本讲稿第五十八页,共六十九页59本讲稿第五十九页,共六十九页4.设计“计算归档值”数据流(6)添加“排序”组件,命名为“按照ProductID排序”。设置好数据流向后,双击进行设置。60本讲稿第
23、六十页,共六十九页61本讲稿第六十一页,共六十九页4.设计“计算归档值”数据流(7)选择“平面文件目标”组件,命名为“输出文件”。设置好数据流向后,双击进行设置。在弹出的“平面文件目标编辑器”中单击“新建”按钮建立一个平面文件的连接。将连接管理器的名称命名为“输出文件”。62本讲稿第六十二页,共六十九页63本讲稿第六十三页,共六十九页64本讲稿第六十四页,共六十九页65本讲稿第六十五页,共六十九页5.设置“备份”文件系统任务l回到控制流的编辑界面。双击“备份”文件系统任务组件。把源连接设置为数据流中创建的“输出文件”连接,而目标连接选择“新建连接”选项。l在弹出的“文件连接管理器编辑器”窗口中在“使用类型”中选择“现有文件夹”,同时指定需要复制的目标备份文件夹。66本讲稿第六十六页,共六十九页67本讲稿第六十七页,共六十九页68本讲稿第六十八页,共六十九页6、运行包l单击工具栏上的“运行 ”按钮,可以运行这个包。在运行过程中,控制流和数据流中没有问题的会变成绿色。如果运行成功,在输出窗口中可以看到显示运行成功的信息。69本讲稿第六十九页,共六十九页