作者:Arunn Thevapalan
翻译:陈超校对:王紫岳
本文约3000字,建议阅读9分钟
本文介绍了Python中的Ydata-quality库如何应用于数据质量诊断,并给出数据实例进行详细的一步步解释。
在你的下一个项目之前早点这么做将会让你免于几周的辛苦和压力。
图片由 Mikael Blomkvist拍摄 来自 Pexels
如果你在处理现实数据的AI行业工作,那么你会理解这种痛苦。无论数据收集过程多么精简 ,我们用于建模的数据总是一片狼藉。
就像IBM描述的那样,80/20规则在数据科学领域同样适用。数据科学家80%的宝贵时间都花费在发现、清洗以及组织数据上。仅仅留下了20%的时间用于真正的数据分析。
整理数据并不有趣。对于“垃圾输入进去,垃圾输出出来”这句话,我知道它的重要性,但是我真的不能享受清洗空白格,修正正则表达式,并且解决数据中无法预料的问题的过程。
根据谷歌研究:“每个人都想做建模工作,而不是数据工作”——我对此感到非常愧疚。另外 ,本文介绍了一种叫做数据级联(data cascade)的现象,这种现象是指由底层数据问题引发的不利的后续影响的混合事件。实际上,该问题目前有三个方面 :
绝大多数数据科学技术并不喜欢清理和整理数据;
只有20%的时间是在做有用的分析;
数据质量问题如果不尽早处理,将会产生级联现象并影响后续工作。
只有解决了这些问题才能确保清理数据是容易,快捷,自然的。我们需要工具和技术来帮助我们这些数据科学家快速识别并解决数据质量问题,并以此将我们宝贵的时间投入到分析和AI领域——那些我们真正喜欢的工作当中。
在本文当中,我将呈现一种帮助我们基于预期优先级来提前识别数据质量问题的开源工具(https://github.com/ydataai/ydata-quality)。我很庆幸有这个工具存在,并且我等不及要跟你们分享它。
ydata-quality库拯救数据质量
作者截图
Ydata-quality是一个开源的Python库,用于数据管道发展的多个阶段来评估数据质量。该库是直观、易用的,并且你可以直接将其整合进入你的机器学习工作流。
对我个人而言,这个库的好处在于它可以基于数据质量问题(接下来展开)的优先级排序。在我们时间有限时,这是很有帮助的,并且我们也想优先处理对我们数据质量影响较大的问题。
让我向你们展示一下如何使用一团乱麻的数据的现实例子。在这个例子当中,我们将会:
加载一个混乱的数据集;
分析数据质量问题;
进一步挖掘警告信息;
应用策略来减轻这些问题;
检查在半清洗过后的数据的最终质量分析报告。
在安装任何库之前,最好使用venv或者conda来为项目创建虚拟环境,一旦这一步完成,在你的终端输入下面这行代码来安装库:
pip install ydata-quality
现在你的环境已经准备就绪,让我们转移到数据上吧。