web数据集成技术可以从web上自动获取数据,但是获取的信息存在着大量的脏数据,比如滥用缩写词,惯用语,数据输入错误,重复记录,丢失值,拼写变化,不同的计量单位。这些数据是没有意义的,根本就不可能为以后的数据挖掘决策分析提供任何支持。
数据清洗主要是提高数据的可用性,目前,数据清洗主要应用于三个领域:
1 数据仓库(DW)
2数据库中的知识发现(KDD)
3数据质量管理(TDQM)
我在公司里的第一个项目就是数据质量管理,在这里在说下数据质量管理:
通过制定、实施数据质量检核,暴露各系统数据质量问题。持续监控各系统数据质量波动情况及数据质量规则占比分析,定期生成各系统关键数据质量报告,掌握系统数据质量状况。结合系统提供的清洗组件以及数据质量问题处理流程为各系统数据质量提升提供有效支撑。
数据质量(DataQuality)管理是贯穿数据生命周期的全过程,覆盖质量评估,数据去噪,数据监控,数据探查,数据清洗,数据诊断等方面。数据度量和变化频度提供了衡量数据质量好坏的手段。数据度量主要包括完整性、唯一性、一致性、准确性、合法性。变化频度主要包括业务系统数据的变化周期和实体数据的刷新周期。数据质量管理准则包括测量、提高组织数据的质量和整合性的方法。数据质量处理包括数据标准化、匹配、生存和质量监测。数据必须具备适当的质量,以解决业务要求问题。
结合大数据的参考框架及数据处理实际需求情况,数据质量管理系统主要功能定位为:数据发现、质量管理、元数据、主数据管理和信息政策管理。
在数据生命周期中,数据的获取和使用周期包括系列活动:评估,分析,调整,丢弃数据,
目前数据清洗的模型:
基于粗糙集理论数据清洗
基于聚式模式数据清洗
基于模糊匹配数据清洗模型
基于遗传神经网络数据清洗
基于专家系统体系结构等
数据校验及转换
数据校验的目的是确保抽取数据本身的正确性和完整性,
数据转换的目的是保证数据的一致性
数据清洗流程
1数据预处理: 包括数据元素化,保准化
2确定清洗方法:
3校验清洗方法:先验证所用的清洗方法是否合适,抽取小样本进行验证,判断其召回率和准确率
4执行清洗工具:
5数据归档:将新旧数据源进行归档处理,方便以后的清洗
一般情况下,模式中反应的元数据对应判断一个数据源的质量远远不够,因此通过具体实例来获得有关数据熟悉和不寻常模式的元数据很重要。这些元数据可以帮助发现数据质量问题,也有助于发现属性间的依赖关系,
1数据分析
数据分析的两种方法;
数据派生:主要对单独的某个属性进行实例分析。数据派生可以得到关于属性的很多信息,比如数据类型,长度,取值空间,离散值,他们的出现频率和不同值的个数等,通过应用统计技术,可以得到属性间的平均值,中间值标准差等
数据挖掘:帮助在大型数据集中发现特定的数据模式,可以通过数据挖掘来发现属性间的一些完整性约束如函数依赖和商业规则。
2定义清洗转换规则与工作流
根据数据源中不一致数据和“脏数据”多少的程度,需要执行大量的数据转换和清洗步骤
3验证
定义的清洗规则和工作流的正确性和效率应该进行验证和评估,真正的数据清洗过程需多次迭代的进行分析设计和验证
4清洗数据中的错误
注意先备份源数据,
5干净数据回流
干净的数据替换数据源中原来的“脏数据”
数据清洗框架
A与领域无关的数据清洗框架
元数据是指”关于数据的数据“,指在数据清洗过程中所产生的有关数据源定义,目标定义,转换规则等相关的关键数据,元数据在数据清洗过程中包含以下几个组件:
1基本组件:主要是对元数据的特征进行描述,包括:可以提供元数据的数据库名,数据库编号,数据库表及表的编号,表中的属性及属性的编号。
2清洗规则组件:数据质量规则定义了元数据中质量问题和数据清洗规则,包括错误数据表
3数据加载组件:用于确定异构的元数据什么时候、将什么数据加载到目的数据库中
另外的三个工作流:
(1)数据分析流(2)数据清洗工作流(3)清理结果检验工作流
B.基于领域知识相关的数据清洗框架
基于知识的数据清洗框架,在领域知识的指导下从样本数据中抽取,验证知识,然后通过专家系统引擎对整体数据进行清洗
1规则生成阶段:首先生成一个样本数据集,样本数据集是从整个数据库中抽出的小部分样本,在此基础上通过专家的参与产生规则库,在得到初步的规则后,把他们应用到数据集上,观察中间结果,进一步修改规则,在这个过程中,可以基于机器学习和统计学技术来帮助解决。
2预处理阶段:根据生成的预处理规则纠正我们能检测到的所有异常,基本的预处理包括:数据类型检测,数据格式标准化,解决数据不一致
3处理阶段:数据会接着流入 专家引擎系统,典型的规则包括脏数据检测规则,重复数据检测,错误数据更正规则
4数据加载阶段:通过数据加载规则,把清洗后的数据加载到目的数据库中
数据框架清洗设计
下面是nosql的一点笔记
Hypertable的目标就是为了解决大并发,大数据量的数据库需求,可以处理大量并发请求,管理大量数据,可扩缩性好。