您现在的位置: 首页 > 网站导航收录 > 百科知识百科知识
数据清理(数据清理的目的)
数据,字符串,缺失数据清理(数据清理的目的)
发布时间:2020-12-06加入收藏来源:互联网点击:
Gender male female
m 3 5
Male 1 3
fem. 5 3
FemalE 3 2
Femle 3 1
此外,如果你有一个像城市名称这样的变量,你怀疑拼写错误或类似字符串应该被视为相同。例如,“lisbon”可以输入为“lisboa”,“lisbona”,“Lisbon”等。
City Distance from "lisbon"
lisbon 0
lisboa 1
Lisbon 1
lisbona 2
注意“0”,“NA”,“无”,“空”或“INF”等值,它们可能意味着同样的事情:缺少价值。
规范
我们的职责是不仅要识别拼写错误,还要将每个值放在同一标准格式中。对于字符串,请确保所有值都是小写或大写。
对于数值,请确保所有值都具有特定的测量单位。例如,高度可以是米和厘米。1米的差异被认为与1厘米的差异相同。因此,这里的任务是将高度转换为单个单位。
对于日期,美国版本与欧洲版本不同。将日期记录为时间戳(毫秒数)与将日期记录为日期对象不同。
缩放/转换
缩放意味着转换数据以使其适合特定的比例,例如0-100或0-1。
例如,可以将学生的考试分数重新缩放为百分比(0-100)而不是GPA(0-5)。
它还可以帮助使某些类型的数据绘图更容易。例如,我们可能希望减少偏斜以帮助绘图(当有这么多异常值时)。最常用的函数是log,square root和inverse。缩放也可以在具有不同测量单位的数据上进行。
规范化
虽然规范化也将值重新调整为0-1的范围,但目的是转换数据以使其正常分布。为什么?
因为在大多数情况下,如果我们要使用依赖于正态分布数据的统计方法,我们会对数据进行标准化。怎样完成?
可以使用日志功能,也可以使用其中一种方法。
根据使用的缩放方法,数据分布的形状可能会发生变化。例如“标准Z分数”和“学生t统计量”保留了形状,而日志功能则没有。
规范化与缩放(使用特征缩放)
缺失值
鉴于缺失值是不可避免的,让我们在遇到它们时该怎么做。有三种或许更多的方法来处理它们。
一、Drop
如果列中的缺失值很少发生并且随机发生,那么最简单和最正确的解决方案是删除具有缺失值的观察值(行)。如果缺少大多数列的值,并且随机发生,则典型的决定是删除整列。
这在进行统计分析时特别有用。
二、Impute
这意味着根据其他观察结果计算缺失值。有很多方法可以做到这一点:
1、使用统计值,如均值,中位数。但是,这些都不能保证获得无偏的数据,特别是在有许多缺失值的情况下。
当原始数据不偏斜时,平均值最有用,而中值更稳健,对异常值不敏感。在正态分布的数据中,可以获得与均值相差2个标准偏差的所有值。接下来,通过生成之间的随机数填写缺失值(mean — 2 * std) (mean + 2 * std):
rand = np.random.randint(average_age - 2*std_age, average_age + 2*std_age, size = count_nan_age)dataframe["age"][np.isnan(dataframe["age"])] = rand2、使用线回归。根据现有数据,可以计算出两个变量之间的最佳拟合线,比如房价与面积m2。值得一提的是,线回归模型对异常值很敏感。
3、Hot-deck:从其他类似记录中复制值。这仅在你有足够的可用数据时才有用。并且,它可以应用于数值的且已经分类的数据。
另外我们还可以采用随机方法,用随机值填充缺失值。进一步采用这种方法,可以先将数据集分成两组,基于某些特征,比如别,然后随机分别填写不同别的缺失值。
三、Flag
一些人认为,无论我们使用何种插补方法,填写缺失值都会导致信息丢失。这是因为说缺少数据本身就是信息的,算法知道它。当丢失的数据不是随机发生时,这一点尤为重要。举一个例子,一个特定种族的大多数人拒绝回答某个问题。
丢失的数据可以用例如0填充,但在计算任何统计值或绘制分布时必须忽略这些零。虽然分类数据可以用“缺失”填写:一个新的类别,它告诉我们缺少这一数据。
离群(极端)值
它们的值与所有其他观察值显著不同。远离Q1和Q3四分位数的任何数据值(1.5 * IQR)都被认为是异常值。
在被证明之前,异常值是无辜的。话虽如此,除非有充分理由,否则不应删除它们。例如,人们可以注意到一些不太可能发生的奇怪的,可疑的值,因此决定将它们删除。虽然,他们值得调查之前删除。
值得一提的是,某些模型,如线回归,对异常值非常敏感。换句话说,异常值可能会使模型脱离大多数数据所在的位置。
记录和交叉数据集错误
这些错误是由于在同一行中有两个或多个值,或者是在彼此相互矛盾的数据集中。例如,如果我们有一个关于城市生活成本的数据集。总列数必须等于租金,运输和食物的总和。同样,孩子不能结婚。员工的工资不能低于计算的税额。相同的想法适用于不同数据集的相关数据。
验证
完成后,应通过重新检查数据并确保其规则和约束确实存在来验证正确。
例如,在填写缺失数据后,它们可能违反任何规则和约束。如果不可能,可能会涉及一些手动校正。
报告
报告数据的健康程度对清洁同样重要。如前所述,软件包或库可以生成所做更改的报告,违反了哪些规则以及多少次。
除了记录违规外,还应考虑这些错误的原因。为什么他们发生?
总结
我很高兴你能坚持到最后。但是,如果不接受质量文化,所提到的内容都没有价值。
无论验证和清理过程多么强大和强大,随着新数据的进入,我们必须将继续受苦。最好是保护自己免受疾病的侵害,而不是花时间和精力去补救它。
文章原标题《the-ultimate-guide-to-data-cleaning》作者:OMAR ELGABRY
译者:乌拉乌拉,审校:袁虎。
本文到此结束,希望对大家有所帮助呢。
上一篇:克扣工资(克扣工资的法律后果)
下一篇:返回列表
相关链接 |
||
网友回复(共有 0 条回复) |