全文共4898字,预计学习时长10分钟
实际上,数据科学家80%到90%的工作是数据清理,而这项工作的目的是为了执行其余10%的机器学习任务。没有什么比完成数据集分析后的收获更让人兴奋的了。如何减少清理数据的时间?如何为至关重要的10%的工作保留精力?
根据很多专业人士的经验,对数据清理涉及的过程有充分的认知总是好的。了解流程、流程的重要性以及流程中可使用的技巧,将减少执行数据清理任务所需的时间。
良好数据的重要性
好的数据被定义为准确、完整、符合、一致、及时、独特且有效的数据。机器学习算法依赖于“好数据”来构建模型,执行和概括性能。对于实际数据,当意识到ML算法不起作用或者ML算法的性能无法在更大的数据集中推广时,通常会发现数据问题。
在第一次数据科学的过程中找到所有数据问题几乎是不可能的。需要做好以下准备:数据清理的迭代过程 - >数据建模 - >性能调整。在迭代过程中,通过从一开始就获得基本面,可以大幅缩短时间。
在统计学中,经常会发现有人将数据分析过程比作约会。在最初的约会中,了解伴侣(即数据)至关重要。是否有可能在后期出现的交易破坏者?这些交易破坏者是你一开始就要抓住的,它们将使数据有失偏颇。
数据中最大的交易破坏者之一是“数据缺失”。
了解缺失的数据
缺失的数据可以有各种形状和大小。它们可能类似于下面第1行的数据,其中只有胰岛素栏有所缺失。它们也可以是第2行中丢失的许多栏数据。它们还可以是第3行中包含0的许多栏数据。需要知道它们有许多变体。可视化每列数据只能到此为止。在箱线图中可视化每栏数据以查找异常值。或者使用热图来可视化数据,突出显示缺失的数据。
吴军的糖尿病缺失数据
在Python中:
import seaborn as sb
sb.heatmap(df.isnull(),cbar=False)
如何对缺失数据进行分类?
图片来源:pexels.com/@black-ice-551383
在可视化缺失数据后,第一件事是对丢失的数据进行分类。
有三类缺失数据:完全缺失随机(MCAR),缺失随机(MAR),缺失不随机(MNAR):
MCAR—缺失值完全随机丢失。数据点丢失的倾向与其假设值和其他变量的值无关。
MAR—由于某些观察到的数据而缺少缺失值。数据点丢失的倾向与丢失的数据无关,但它与一些观察到的数据有关。
MNAR—缺失的值不是随机丢失的,而是有原因的。通常,原因在于缺失值取决于假设值,或者取决于另一个变量的值。