数据清洗经验分享:什么是数据清洗如何做好数据清洗(转)N神3

大数据本身是一座金矿、一种资源,沉睡的资源是很难创造价值的,它必须经过清洗、分析、建模、可视化等过程加工处理之后,才真正产生价值。

数据加工、清洗的过程与机械加工的流水线生产过程相似。例如,从各个渠道采集到的数据质量很差,于是就需要对数据进行“脱敏”以及“包装”,最终呈现在用户面前时是一个个数据产品,这样才能提供给消费者,进行数据交易。

数据清洗的目的——发现并纠正数据文件

数据清洗是发现并纠正数据文件中可识别错误的一道程序,该步骤针对数据审查过程中发现的明显错误值、缺失值、异常值、可疑数据,选用适当方法进行“清理”,使“脏”数据变为“干净”数据,有利于后续的统计分析得出可靠的结论。当然,数据清理还包括对重复记录进行删除、检查数据一致性。如何对数据进行有效的清理和转换使之成为符合数据挖掘要求的数据源是影响数据挖掘准确性的关键因素。

附:

1、Web服务器的日志

2、某种科学仪器的输出结果

3、在线调查问卷的导出结果

4、1970s的政府数据

5、企业顾问准备的报告

1、不完整的(某些记录的某些字段缺失)

2、前后不一致(字段名和结构前后不一)

3、数据损坏(有些记录可能会因为种种原因被破坏)

因此,你必须经常维护你的清洗程序来清洗这些原始数据,把他们转化成易于分析的格式,通常称为datawrangling。接下来会介绍一些关于如何有效清洗数据,所有介绍的内容都可以由任意编程语言实现。

使用断言

这是最重要的一点经验:使用断言(Assertions)揪出代码中的bug。用断言的形式写下你对代码格式的假设,如果一旦发现有数据跟你的断言相悖,就修改这些断言。

记录是有序的?如果是,断言之!每一条记录都是有7个字段么?如果是,断言之。每一个字段都是0-26之间的奇数么?如果是,断言之!总之,能断言的都断言!

在理想世界中,所有记录都应该是整整齐齐的格式,并且遵循某种简洁的内在结构。但是实际当中可不是这样。写断言写到你眼出血,即便是出血还得再写。

洗数据的程序肯定会经常崩溃。这很好,因为每一次崩溃都意味着你这些糟糕的数据又跟你最初的假设相悖了。反复的改进你的断言直到能成功的走通。但一定要尽可能让他们保持严格,不要太宽松,要不然可能达不到你要的效果。最坏的情况不是程序走不通,而是走出来不是你要的结果。

不要默默的跳过记录

原始数据中有些记录是不完整或者损坏的,所以洗数据的程序只能跳过。默默的跳过这些记录不是最好的办法,因为你不知道什么数据遗漏了。因此,这样做更好:

1、打印出warning提示信息,这样你就能够过后再去寻找什么地方出错了

2、记录总共跳过了多少记录,成功清洗了多少记录。这样做能够让你对原始数据的质量有个大致的感觉,比如,如果只跳过了0.5%,这还说的过去。但是如果跳过了35%,那就该看看这些数据或者代码存在什么问题了。

使用Set或者Counter把变量的类别以及类别出现的频次存储起来

数据中经常有些字段是枚举类型的。例如,血型只能是A、B、AB或者O。用断言来限定血型只能是这4种之一虽然挺好,但是如果某个类别包含多种可能的值,尤其是当有的值你可能始料未及的话,就不能用断言了。这时候,采用counter这种数据结构来存储就会比较好用。这样做你就可以:

1、对于某个类别,假如碰到了始料未及的新取值时,就能够打印一条消息提醒你一下。

2、洗完数据之后供你反过头来检查。例如,假如有人把血型误填成C,那回过头来就能轻松发现了。

断点清洗

如果你有大量的原始数据需要清洗,要一次清洗完可能需要很久,有可能是5分钟,10分钟,一小时,甚至是几天。实际当中,经常在洗到一半的时候突然崩溃了。

假设你有100万条记录,你的清洗程序在第325392条因为某些异常崩溃了,你修改了这个bug,然后重新清洗,这样的话,程序就得重新从1清洗到325391,这是在做无用功。其实可以这么做:1.让你的清洗程序打印出来当前在清洗第几条,这样,如果崩溃了,你就能知道处理到哪条时崩溃了。2.让你的程序支持在断点处开始清洗,这样当重新清洗时,你就能从325392直接开始。重洗的代码有可能会再次崩溃,你只要再次修正bug然后从再次崩溃的记录开始就行了。

在一部分数据上进行测试

但是要注意,这样做的话,用于测试的子集往往不能涵盖到一些奇葩记录,因为奇葩总是比较少见的嘛。

把清洗日志打印到文件中

当运行清洗程序时,把清洗日志和错误提示都打印到文件当中,这样就能轻松的使用文本编辑器来查看他们了。

可选:把原始数据一并存储下来

当你不用担心存储空间的时候这一条经验还是很有用的。这样做能够让原始数据作为一个字段保存在清洗后的数据当中,在清洗完之后,如果你发现哪条记录不对劲了,就能够直接看到原始数据长什么样子,方便你debug。

不过,这样做的坏处就是需要消耗双倍的存储空间,并且让某些清洗操作变得更慢。所以这一条只适用于效率允许的情况下。

最后一点,验证清洗后的数据

记得写一个验证程序来验证你清洗后得到的干净数据是否跟你预期的格式一致。你不能控制原始数据的格式,但是你能够控制干净数据的格式。所以,一定要确保干净数据的格式是符合你预期的格式的。

这一点其实是非常重要的,因为你完成了数据清洗之后,接下来就会直接在这些干净数据上进行下一步工作了。如非万不得已,你甚至再也不会碰那些原始数据了。因此,在你开始数据分析之前要确保数据是足够干净的。要不然的话,你可能会得到错误的分析结果,到那时候,就很难再发现很久之前的数据清洗过程中犯的错了。

THE END
1.数据清洗的重要性与技巧:提升大数据分析的准确性和效率节省时间和资源:在数据分析的早期阶段进行数据清洗可以避免在后续阶段进行昂贵的修正。自动化数据清洗流程可以进一步节省时间和资源,尤其是在处理大量数据时。 提高决策透明度:基于干净数据的决策更有可能产生预期的结果。数据清洗有助于去除偏见和噪声,从而提高决策的透明度和可解释性。 https://blog.csdn.net/Shaidou_Data/article/details/144110971
2.数据清洗涵盖了哪些方面?探索数据处理的全貌与重要步骤数据清洗是数据分析中的重要环节,为了提高效率和准确性,有许多工具和技术可供选择。 常见的数据清洗软件包括商业软件如IBM InfoSphere QualityStage和OpenRefine等,它们提供了用户友好的界面和丰富的功能,能够帮助用户快速进行数据清洗和转换。 此外,编程语言中的数据清洗库也是常用的工具,例如Python中的pandas库和R语言中的https://www.zhaocaifu.cn/article/99497.html
3.深度学习数据清洗的目的mob649e81673fa5的技术博客深度学习的成功依赖于高质量的数据。在深度学习之前,数据清洗是一个至关重要的步骤。本文将详细介绍数据清洗的目的,流程及实现步骤,帮助初学者更好地理解这一过程。 数据清洗目的 数据清洗的主要目的是去除噪声和不一致的数据,确保输入到深度学习模型中的数据是准确和高效的。具体包括: https://blog.51cto.com/u_16175512/12697067
4.数据清洗:让数据更干净更好用@慕课网原创慕课网数据清理是什么? 数据清洗是指一个过程,会移除数据集中的错误、不一致的数据和不完整数据。目标是提升数据的质量,使其更适合分析和进一步使用。 数据清洗的关键任务 1. 关于处理缺失数据: 用合适的替代值(比如平均值或中位数)来填补缺失值,或者直接删除含有缺失值的行或列。 https://m.imooc.com/mip/article/371415
5.数据清洗工具:基于规则引擎的数据预处理什么是数据清洗工具? 数据清洗工具是一种用于数据预处理的软件工具,它能够通过规则引擎对数据进行清洗、筛选、转换以及修复,以准备好数据用于分析和建模。数据清洗工具通常能够识别和处理数据中的错误、缺失、重复、不一致等问题,提高数据的质量和可靠性。 数据清洗工具的作用 https://www.jianshu.com/p/11574e1fa674
6.数据预处理在AI中的重要性及实操方法在人工智能新手入门教程中,数据预处理往往被忽视,但它是构建有效模型和提高系统性能的关键步骤。无论是机器学习还是深度学习,如果没有进行恰当的数据预处理,模型可能无法达到最佳效果。 什么是数据预处理? 简单来说,数据预处理就是对收集到的原始数据进行清洗、转换和特征工程,以便更好地适应后续算法使用。这个过程包括https://www.zuenw.cn/ke-ji/527288.html
7.数据清洗有哪些难点?为什么要做数据清洗?1. 数据过滤 当用户需要进行空值、重复值过滤,或是筛选出符合目标的值以进一步处理时,可以直接使用「数据转换」中的数据过滤功能进行数据处理。这是数据清洗中非常基础且常用的功能,有助于提高数据的质量和可用性。 2. 新增计算列 FDL提供了「新增计算列」功能,可以使用多种函数实现对数据的清洗计算。这个功能允许用https://www.fanruan.com/bw/article/178563
8.为什么要进行数据清洗呢?今天讲数据清洗,为什么要进行数据清洗呢?我们在书上看到的数据,譬如常见的iris数据集,房价数据,电影评分数据集等等,数据质量都很高,没有缺失值,没有异常点,也没有噪音,而在真实数据中,我们拿到的数据可能包含了大量的缺失值,可能包含大量的噪音,也可能因为人工录入错误导致有异常点存在,对我们挖据出有效信息造成了一https://m.elecfans.com/article/717997.html
9.劳顿管理信息系统习题集第6章商务智能基传选.pdf33.理清数据之间的关系,并最大限度减少冗余以及棘手的多对多关系的过程被 称之为 A)规范化 B)数据清理 C)数据清洗 D)数据定义 E)最优化 Answer: A Difficulty: Easy 34.用于描述整个数据库中的关系的视图被称之为 A)数据字典 B)交互关系图 C)实体关系图 D)数据定义图 E)数据分析表 Answer: C Difficulthttps://m.360docs.net/doc/3917096721.html
10.Python处理股票数据分析有哪些方法?量化交易Python为股票数据的处理和分析提供了丰富的工具和方法。无论是获取数据、清洗数据还是进行各种分析,都有相应的库和技术可以使用。掌握这些方法有助于投资者和分析师更好地挖掘股票数据中的价值。 相关问答 如何用tushare获取股票历史数据? tushare有专门的函数来获取历史数据,如ts.get_hist_data。只需输入股票代码等必https://www.caiair.com/post/python-gupiao-shuju-373218-18174.html
11.excel数据清洗(excel数据清洗的方法包括哪些)本篇文章给大家谈谈excel数据清洗,以及excel数据清洗的方法包括哪些对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 今天给各位分享excel数据清洗的知识,其中也会对excel数据清洗的方法包括哪些进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧! https://www.huoban.com/news/post/126556.html
12.国外客商数据清洗示例公司估计大约?有关客户和潜在客户的所有业务数据不准确, 55%的领导者不信任其组织拥有的数据, 只有50% 的人认为他们的 CRM/ERP 数据是干净的数据并且可以充分利用。 此外,多达95%的公司注意到与低数据质量相关的负面影响。 数据清理的好处 定期数据清洗的好处主要是解决脏数据在企业中产生的问题。低质量数据: https://36kr.com/p/2707385155614849
13.新澳全年免费资料大全,快速整合方案实施体现版LTD6.36首先,企业对现有销售、客服和市场调研的数据进行了需求分析,确定需要整合的信息类型。随后,相关部门联合收集了来自不同渠道的数据,包括内部系统与第三方市场报告。 在完成数据的清洗和整合后,企业应用了先进的数据分析软件,生成了不同用户群体的消费画像及趋势分析。这一过程帮助企业在产品设计上做出了有针对性的调整,同http://sddyzdbz.com/post/8974.html
14.内容数据范文12篇(全文)南方报业传媒集团是较早进行新媒体和全媒体发展探索的报业传媒集团之一, 通过这几年在平面媒体、互联网媒体、手机移动媒体、广播电视、户外LED、电子阅报栏等6种媒介形态上进行积极而富有特色的探索, 积累了海量的平面媒体和新媒体数据, 加上多年来, 集团一直重视历史数据整理聚合工作, 已叠加形成了庞大的内容数据资https://www.99xueshu.com/w/ikeye1u5qrlv.html
15.玩转逻辑回归之金融评分卡模型消费金融风控联盟数据预处理主要包括数据清洗,变量分箱和 WOE 编码三个步骤。 2.3.1 数据清洗 数据清洗主要是对原始数据中脏数据,缺失值,异常值进行处理。关于对缺失值和异常值的处理,我们采用的方法非常简单粗暴,即删除缺失率超过某一阈值(阈值自行设定,可以为30%,50%,90%等)的变量,将剩余变量中的缺失值和异常值作为一种状态https://www.shangyexinzhi.com/article/5177142.html