第287章 衣裙
分布式消息订阅分发也是一种常见的数据采集方式Y其中YKaa就是一种具有代
表性的产品Kaa是由LinkedIn公司开发的一种高吞吐量的分布式发布订阅消息
系统Y用户通过Kaa系统可以发布大量的消息Y同时也能实时订阅消费消息
Kaa的架构包括以下组件X话题生产者服务代理消费者。
ETL是英文Extract-Transform-Load的缩写Y常用于数据仓库中的数据采
集和预处理环节顾名思义YETL从原系统中抽取数据Y并根据实际商务
需求对数据进行转换Y并把转换结果加载到目标数据存储中可以看出Y
ETL既包含了数据采集环节Y也包含了数据预处理环节
Kettle是一款国外开源的ETL工具Y使用Java语言编写Y可以在
WindowsLinuxUnix上运行Y数据抽取高效稳定。
网络数据采集是指通过网络爬虫或网站公开应用程序编程接口等方式从
网站上获取数据信息该方法可以将非结构化数据从网页中抽取出来Y
将其存储为统一的本地数据文件Y并以结构化的方式存储它支持图片
音频视频等文件的采集Y文件与正文可以自动关联网络数据采集的
应用领域十分广泛Y包括搜索引擎与垂直搜索平台搭建与运营Y综合门
户与行业门户地方门户专业门户网站数据支撑与流量运营Y电子政
务与电子商务平台的运营Y知识管理与知识共享Y企业竞争情报系统的
运营YBI商业智能系统Y信息咨询与信息增值Y信息安全和信息监控等。
数据清洗的主要应用领域包括数据仓库与数据挖掘数据质量管理
?
1?数据仓库与数据挖掘数据清洗对于数据仓库与数据挖掘应用来
说Y是核心和基础Y它是获取可靠有效数据的一个基本步骤数据仓
库是为了支持决策分析的数据集合Y在数据仓库领域Y数据清洗一般是
应用在几个数据库合并时或者多个数据源进行集成时例如Y消除数据
库中的重复记录数据挖掘是建立在数据仓库基础上的增值技术Y在数
据挖掘领域Y经常会遇到挖掘出来的特征数据存在各种异常情况Y如数
据缺失数据值异常等对于这些情况Y如果不加以处理Y就会直接影
响到最终挖掘模型的使用效果Y甚至会使得创建模型任务失败因此Y
在数据挖掘过程中Y数据清洗是第一步。
数据质量管理数据质量管理贯穿数据生命周期的全过程在
数据生命周期中Y可以通过数据质量管理的方法和手段Y在数据生成
使用消亡的过程里Y及时发现有缺陷的数据Y然后借助数据管理手
段Y将数据正确化和规范化Y从而达到符合要求的数据质量标准总
体而言Y数据质量管理覆盖质量评估数据去噪数据监控数据探
查数据清洗数据诊断等方面Y而在这个过程中Y数据清洗是决定
数据质量好坏的重要因素。
数据清洗按照实现方式Y可以分为手工清洗和自动清洗
?
1?手工清洗X手工清洗是通过人工方式对数据进行检查Y发现数据中
的错误这种方式比较简单Y只要投入足够的人力物力财力Y也能
发现所有错误Y但效率低下在大数据量的情况下Y手工清洗数据几乎
是不可能的
?
2?自动清洗X自动清洗是通过专门编写的计算机应用程序来进行数据
清洗这种方法能解决某个特定的问题Y但不够灵活Y特别是在清理过
程需要反复进行时?一般来说,数据清理一遍就达到要求的很少?Y程序
复杂Y清理过程变化时工作量大而且Y这种方法也没有充分利用目前
数据库提供的强大的数据处理能力。
数据清洗主要是对缺失值重复值异常值和数据类型有误的数据
进行处理Y数据清洗的内容主要包括四点
?
1?缺失值处理由于调查编码和录入误差Y数据中可能存在
一些缺失值Y需要给予适当的处理常用的处理方法有X估算
整例删除变量删除和成对删除
?
2?异常值处理根据每个变量的合理取值范围和相互关系Y检
查数据是否合乎要求Y发现超出正常范围逻辑上不合理或者相
互矛盾的数据。
数据清洗主要是对缺失值重复值异常值和数据类型有误的数据
进行处理Y数据清洗的内容主要包括四点
?
3?数据类型转换数据类型往往会影响到后续的数据处理分析
环节Y因此Y需要明确每个字段的数据类型Y比如Y来自A表的
学号是字符型Y而来自B表的字段是日期型Y在数据清洗的时候
就需要对二者的数据类型进行统一处理
?
4?重复值处理重复值的存在会影响数据分析和挖掘结果的准
确性Y所以Y在数据分析和建模之前需要进行数据重复性检验Y
如果存在重复值Y还需要进行重复值的删除。
在进行数据清洗时Y需要注意如下事项X
?
1?数据清洗时优先进行缺失值异常值和数据类型转换的操作Y最后进
行重复值的处理
?
2?在对缺失值异常值进行处理时Y要根据业务的需求进行处理Y这些
处理并不是一成不变的Y常见的填充包括X统计值填充?常用的统计值有
均值中位数众数?前/后值填充?一般使用在前后数据存在关联的情
况下Y比如数据是按照时间进行记录的?零值填充。
在进行数据清洗时Y需要注意如下事项X
?
3?在数据清洗之前Y最为重要的对数据表的查看Y要了解表的结构和发
现需要处理的值Y这样才能将数据清洗彻底
?
4?数据量的大小也关系着数据的处理方式
?
5?在导入数据表后Y一般需要将所有列一个个地进行清洗Y来保证数据
处理的彻底性Y有些数据可能看起来是可以正常使用的Y实际上在进行处
理时可能会出现问题?比如某列数据在查看时看起来是数值类型Y但是其
实这列数据的类型却是字符串Y这就会导致在进行数值操作时无法使用?。
数据处理常常涉及数据集成操作Y即将来自多个数据源的数
据Y结合在一起形成一个统一的数据集合Y以便为数据处理
工作的顺利完成提供完整的数据基础
在数据集成过程中Y需要考虑解决以下几个问题X
?
1?模式集成问题
?
2?冗余问题
?
3?数据值冲突检测与消除问题。
常见的数据转换策略包括X
?
1?平滑处理帮助除去数据中的噪声Y常用的方法包括分箱回归
和聚类等
?
2?聚集处理对数据进行汇总操作例如Y每天的数据经过汇总操
作可以获得每月或每年的总额这一操作常用于构造数据立方体或对数
据进行多粒度的分析
?
3?数据泛化处理用更抽象的概念来取代低层次的数据对象例如Y
街道属性可以泛化到更高层次的概念Y如城市国家Y再比如年龄属性
可以映射到更高层次的概念Y如青年中年和老年。
规范化处理将属性值按比例缩放Y使之落入一个特定的区间Y
比如0~1常用的数据规范化方法包括Min-Max规范化Z-Score规范化
和小数定标规范化等
?
5?属性构造处理根据已有属性集构造新的属性Y后续数据处理直
接使用新增的属性例如Y根据已知的质量和体积属性Y计算出新的属
性密度。
我怎么又困了。