马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
本帖最后由 wdhd 于 2016-8-31 15:00 编辑
鲁剑锋
(华中科技大学国家高性能计算中心【武汉】 430074)
【摘 要】大部分数据挖掘工具需要在集成的、一致的和清理过的数据上运行,这需要昂贵的数据清理、数据变换和数据集成作为数据预处理步骤。经由这些预处理而构造的数据仓库不仅用作OLAP而且也用作数据挖掘的高质量的、有价值的数据源。文中提出了几种预处理技术,并由为什么要预处理数据以及怎样进行数据预处理展开本文。
【关键词】数据质量;数据仓库;数据清理;数据集成;数据变换;数据规约
Enhancing data quality in data warehouse environment
Lu Jianfeng
(National high performance computing center(Wu Han), HuazhongUniversityofScienceandTechnology,Wuhan430074)
【 Abstract】 Most parts of data mining tool need need in , a unanimous one and run at the datum that clear up that integrate, This need expensive data cleaning、data intergration、data transformation and data reduction as the treatment step in advance of datum which is very expensive. But the data warehouse of the structure is not only used as OLAP but also used as high quality that the data excavate , valuable data source via the pretreatment. Propose several treatment technology in advance in the article, and tell us why data need pretreatment and how go on pretreatment of datum
【 Keyword 】 data quantity;data warehouse;data cleaning;data intergration;Data transformation; data reduction
1 引言
随着数据库技术的迅速发展以及数据库管理系统的广泛应用,人们积累的数据越来越多!激增的数据背后隐藏着许多重要的信息,人们希望能够对其进行更高层次的分析,以便更好地利用这些数据! 目前的数据库系统虽然可以高效地实现数据的录入、查询、统计等功能,但无法发现数据中存在的关联和规则,无法根据现有的数据预测未来的发展趋势! 缺乏挖掘数据背后隐藏的知识的手段,导致了“数据爆炸但知识贫乏”的现象!应用的需求促使一门新的技术诞生——数据挖掘!
数据挖掘(Data Mining)就是从大量的、不完全的、有噪声的、模糊的、随机的数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程! 这些数据可以是结构化的,也可以是半结构化的,甚至是分布在网络上的异构型数据!发现知识的方法可以是数学的,也可以是非数学的,可以是演绎的,也可以是归纳的!发现了的知识可以被用于信息管理 、查询优化、决策支持、过程控制等,还可以进行数据自身的维护!
数据仓库这个名词最早出现于20世纪90年代初,根据“数据仓库之父”W.H.Inmon对数据仓库的定义,数据仓库就是一个用以更好地支持企业或组织决策分析处理的、面向主题的、集成的、不可更新的、随时间不断变化的数据集合。所谓面向主题,是与传统数据库的面向应用相对应的,按照一定的主题域进行组织;所谓集成的,是因为数据仓库中的数据来自组织不同系统的面向应用的数据;所谓不可更新,是指一旦某个数据进入仓库以后,一般情况下将被长期保留;所谓随时间变化的,是指数据仓库中的信息并不只是关于组织当时或某一时点的信息,而是系统记录了组织从过去某一时点到目前以及顺沿的各个阶段的信息。数据仓库的关键技术包括数据的抽取、清洗、转换、加载和维护数据技术。数据仓库是在数据库基础上发展而来的,有3个部分:数据仓库、联机分析处理及数据挖掘,他们之间具有极强的互补关系。在这三个概念中,数据仓库是企业进行数据分析的基础,他的主要工作是将数据库中的原始数据进行归纳整理,聚集成一个可供高层次使用的数据集合在数据仓库的基础上有2类分析工具:一类是分析过去工作的OLAP;另一类是预测未来工作的数据挖掘。
2 数据仓库中数据的高质量
数据质量包括数据的完整度,数据的一致性,数据的惟一性,源数据的可信度,以及数据的正确度等。大部分数据挖掘工具需要在集成的、一致的和清理过的数据上运行,这需要昂贵的数据清理、数据变换和数据集成作为数据预处理步骤。经由这些预处理而构造的数据仓库不仅用作OLAP而且也用作数据挖掘的高质量的、有价值的数据源。
3 为什么要预处理数据
当今世界中的数据库极易受噪声数据,空缺数据和不一致性数据的侵扰,因为数据库太大。如何预处理数据才能提高数据质量,从而提高挖掘结果的质量?数据清理可以去掉数据中的噪声,纠正不一致。数据集成将数据由多个源合并成一致的数据存储,如数据仓库和数据立方体。数据变换(如规范化)也可以使用。数据规约可以通过聚集、删除冗余特性或聚类等方法来压缩数据。
4 怎样进行数据预处理
4.1 数据清理:
数据清理主要用来检测、清除数据的错误和不一致性以改善数据的质量。由于输入时误拼、信息缺失或别的无效数据,数据质量问题可出现在单一的数据容器中,如文件或数据库等。当多个数据源需要集成的时候,数据清理的重要性就体现出来了,这是因为数据源经常包含有表现形式各异的冗余数据,为了保证提供正确且具有一致性的数据,合并数据的表现形式、清理重复的信息就很必要。但是异构数据库之间存在着语法和语义上的差异,另外集成信息以实现高效准确的查询依旧是个困难而且复杂的课题,很难找到一般性的方法。下面将研究数据清理的基本方法:
1.空缺元组:一些元组的属性没有相应记录。怎样才能为该属性填上空缺的值?通常有以下方法:
(1) 忽略元组:当类标号缺少时通常这样作。除非元组有多个属性缺少值,否则该方法不是很有效。当每个属性缺少值的百分比变化很大时,它的性能非常差。
(2) 人工填写空缺值:该方法很费时,并且当数据集很大,缺少很多值时,该方法可能行不通。
(3) 使用一个全局变量填充空缺值:将空缺的属性值用同一个常数替换。尽管该方法简单,但不推荐用。
(4) 使用属性的平均值填充空缺值:将空缺的属性值用属性的平均值替换。
(5) 使用与给定源组属同一类的所有样本的平均值。
(6) 使用最可能的值填充空缺值:这个值可以用回归,基于推倒的使用贝叶斯形式化方法的工具或判定树归纳确定。
2.噪声数据:噪声——是一个测量变量的随机错误或偏差。给定一个数据属性,如何才能平滑数据,去掉噪声?下面列数部分数据平滑技术:
(1) 分箱:分箱方法通常考察“邻居”(即周围的值)来平滑存储数据的值。
u 按箱中值平滑
u 按箱平均值平滑
u 按箱边界平滑
(2) 聚类:孤立点可以被聚类检测。聚类将类似的值成群或“聚类”。直观地看,落在聚类集合之外的值被视为孤立点。
(3) 计算机和人工检查结合:可以通过计算机和人工检查结合的办法来识别孤立点。
(4) 回归:可以通过让数据适合一个函数(如回归函数)来平滑数据。
3.不一致数据:对于有些事务,所记录的数据可能存在不一致。有些数据不一致可以使用其他材料人工的加以更正。由于数据集成,也可能产生不一致:一个给定的属性在不同的数据库中可能具有不同的名字。也可能存在冗余。这就需要在数据集成后进行数据清理,删除冗余数据。
4.2 数据集成
数据集成将数据由多个源合并成一致的数据存储,如数据仓库和数据立方体。这些源可能包括多个数据库、数据立方体或一般文件。在数据集成时有许多问题需要考虑:
(1) 模式集成:来自多个信息源的现实世界的实体如何才能“匹配”?通常数据库和数据仓库有元数据——关于数据的数据。这种元数据可以帮助避免模式集成中的错误。
(2) 冗余:一个属性是冗余的,如果它能由另一个表“导出”。属性或维命名的不一致也可能导致数据集中的冗余。除了检测属性间的冗余外,“重复”也应当在元组级进行检测。
(3) 数据值冲突的检测与处理:仔细将多个数据源中的数据集成起来,能够减少或避免结果数据集中数据的冗余和不一致。这有助于提高其后挖掘的精度和速度。
4.3 数据变换:
数据变换将数据转换成适合于挖掘的形式。数据变换可能涉及如下内容:
(1) 平滑:去掉数据中的噪声。这种技术包括分箱﹑聚类和回归。
(2) 聚集:对数据进行汇总和聚集。
(3) 数据概化:使用概念分层,用高层次概念替换低层次“原始”数据。
(4) 规访化:将属性数据按比例缩放,使之落入一个小的特定区间。
l 最小—最大规范化:对原始数据进行线性变换。
l Z-score规范化:属性的值基于其平均值和标准差规范化。
l 小数定标规范化:通过移动属性的小数点位置进行规访化。
(5) 属性构造:可以构造新的属性并添加到属性集中,以帮助挖掘过程。
|