数据分析师:避免低质量数据的5个方法
数据科学家的最怕的是低质量的数据。因为哪怕你发明出世界上最聪明的算法,这些算法碰到低质量数据便毫无用处。正如我们常说的,“垃圾数据入,垃圾数据出”。
我最近在为一个大型的石油天然气公司工作。为 提升炼油厂的安全性,我协助他们采用一个更加基于风险的检验策略。为了能够最好地运用这种策略,我们需要把风险完全量化。我们想使用历史检验数据来确定需 要更多关注的高风险区域。但是因为人们对于现有的历史数据并没有信心,这个方法便行不通。这是一个数据从业者经常面对的挑战。为了让你的数据科学良好地运 作,你需要有一些避免低质量数据的方法。
1.清洁数据源
一个清洁的数据源是非常重要的。一个本来就相对干净的房子,清理起来会比较轻松。数据清理也是一个道理。
在石油天然气客户那里,我发现了许多数据采集 的问题。比如说,在数据库中,你可能发现2015年管道厚度的读数比2012年的读数大。虽然我不是一个物理学家,但是我相当肯定管道厚度不会随着时间而 增长。当初当我们看到一个如此可疑的数据,我们并没有从根本上做出一个原因的分析。但是这的确是值得详细调查的。这就是我所说的从源头清理数据。相对于其 他的数据清理方法,我偏爱清洁数据源这种方法。因为它的清洁效果是任何其他方法的10倍。
2.建立标准答案
在你能够认定什么是高质量数据前,你必须知道高数据质量是什么样子。虽然在一些案例中,这是不可能的。譬如说在管道测量这个例子中,就不可能确切知道三年之后管会道薄多少。这也正是你测量它的原因。但在一些案例中,你可以知道高质量的数据是什么样子的。
你最好有一个标准答案。特别当你在用统计学的方法确定数据质量时候,一个简单的单一样本T检验,就可以告诉你数据的质量如何。
当你在利用公司Email服务器进行员工情绪的数据挖掘时,你的算法应该排除所有进入服务器的垃圾邮件。在这种情况下,垃圾邮件十分明显,所以你也能够很明显地看出哪些是非垃圾邮件,而这就是标准答案的作用。
3.谨记完整性规则
完整性规则是清理数据的必须条件
我曾经在一间大型的技术公司工作,公司主要业 务是构建政府交易的客户注册表。这些客户注册表是4到5个数据源的客户主数据。为集成每一个数据源,我们会见了产品的拥有者,询问了他们关于数据的 ACD(增加、修改、删除)属性情况。然后,我们在它们的数据表中建立ACD审计日志去观察实际上发生了什么事情 。结果,在几乎所有的案例中,总有一些不应该删除的数据从表中被删除,并且总有数据被插入到本应是静态的表中。
考虑数据没有损坏时,你的数据中运用的逻辑法则,然后建立审计脚本,在有违背规则情况发生的时候,你可以得到及时的通知。例如,如果有一个外键指向一个不存在的主键,你就可以及时发现这个问题。
4.采用专家系统
如果不涉及定量的风险评策略不能让石油天然气 的客户满意,我们会和专家们商量,看我们是否可以重复他们在分析数据前进行数据清洗的过程。这是一个专家系统,它是一个基于规则的复制,复制一个人类专家 如何去介定好的数据质量。一个专家系统可以良好地运作,只要如下条件:1)你有真正的专家(提示:检查他们的结果并且忽略他们的职位)。2)他们可以清楚 地解释他们所做的一切。3)他们所做的可以转换为明确的规则。
理论都是背后内容的简化,所以需要小心,你的专家可能很难向你解释他们所做的事。正如同向一个小学生解释如何开车,并不是那么容易的事。
5.在你的兵工厂中加上机器学习能力这个工具
使用机器学习能力去清理你将会用作机器学习的 数据,听起来有点绕。但它确实可行。你要设立两种系统:一个用于清理,而另一个用于分析。你需要确保它们的解决方案空间独立,因为这是两个不相同的问题。 教会计算机学习清洁数据是什么样的,这个方法是完全可行的,特别是当你有标准答案的时候。
只依靠计算机,利用它的机器学习能力去清洗输 入数据并不能让我安心。因为哪怕是在机器学习能力如此发达的今天,你都永远不能完全了解清洗算法究竟能在多大程度上发挥作用。就好像亚马逊的机器,它的确 很好,但它推荐给我的电影却不合我心意。然而,即使如此,在你的兵工厂中储存上这种工具依旧是有利无害的。
小结:
我讲述了五个方法用来确保你不会因为垃圾数据破坏你的数据科学努力。一些战术可以马上使用,一些需要时间去开发。
你应该认真对待只输入高质量的数据到你的数据算法这一原则。否则,你很快会看到你的数据科学团队将被质量问题所困扰。http://www.cda.cn/view/17414.html
相关文章
- hibernate向mysql插入数据后,得到该条数据主键的方法
- WIN10电脑创建文件夹和更改文件夹名称变慢的解决方法
- Struts.xml中Action的method与路径的三种匹配方法
- 批量更新代码整理(代码库)从数组中批量取数据的方法
- asp.net中导出excel数据的方法汇总
- Mysql中查找并删除重复数据的方法
- 获得内核函数地址的四种方法
- 使用rundll32.exe绕过应用程序白名单(多种方法)
- python中列表元素连接方法join用法实例
- 当Web服务需要传递多个参数时的处理方法
- Dev GridControl 单元格输入数据的验证方法
- Sql语句把一个表的某几列的数据存到另一个表里的方法
- 常见方案 目录 1. 发现目前 WEB 上主流的视频直播方案有 HLS 和 RTMP,1 2. 实现直播的方法有很多,但是常用的,就这几个。 3个直播协议:rtmp、rtsp、hls。 和三个端:
- Atitit 软件程序的定义 软件广义定义 程序代码,文档 ,数据 方法,规则, 狭义定义 软件=程序+数据+文档 软件(英文:Software)是一系列按照特定顺序组织的计算机数据和指
- Dataset之Cityscapes:Cityscapes数据集的简介、安装、使用方法之详细攻略
- Dataset之ImageNet:ImageNet数据集简介、下载、使用方法之详细攻略
- 【图像分类】基于 CNN 和混合/随机配对的数据增强方法进行图像分类(Matlab代码实现)
- 拯救深度学习:标注数据不足下的深度学习方法
- 【Groovy】MOP 元对象协议与元编程 ( 方法注入 | 使用 Mixin 混合进行方法注入 )
- spring 读取properties的两种方法
- 学编程有80%的人不知正确方法:这两套妙招助你事半功倍!
- 避免以上的问题可采用对数据进行加锁的方法
- 浅谈php处理后端&接口访问超时的解决方法
- 【语音处理】基于加权压力匹配方法(WPMM)的声音系统研究(Matlab代码实现)
- Linux下查看输入设备、获取输入事件的详细方法
- 关于免密windows系统自带远程桌面登录,避免总是弹出无法识别此远程连接的发布者...对话框解决方法。