Python与数据分析

数据分析中对缺失值和异常值的处理

2020-01-15  本文已影响0人  清梦载星河

在数据分析、数据挖掘中,每一个分析师几乎都遇见过数据缺失或异常的问题。

1. 缺失值的常见处理方法

1.1 知其然:什么导致了数据缺失?

很多数据分析书在谈到处理缺失值时,给出的方法就是:删除、替换、填充。这个是没什么大问题的,但新手分析师刚上手,大概率就是生搬硬套。毕竟就这三个方法,时间充足的话,直接三个方法都用,总有一个方法的处理是对的。但其实应当先知道数据缺失的原因,知根知底才能更从容地处理缺失值。比如填写问卷时,用户可能会漏掉一个选项;还有信用卡激活日期缺失,这种情况可能是因为日期丢失,也可能是因为信用卡还没激活;还有一些缺失值问题可能是由于错误的数学运算导致。

上述例子有不同的缺失原因,在处理时就需要不同的处理方法。

1.2 判断缺失值是否需要特殊处理

有些缺失值具有特定的商业意义。比如上一条中信用卡的例子,激活日期的缺失可能就是因为用户没有激活,对于这部分用户的数据就要特殊处理。

1.3 直接删除缺失值

直接删除是处理缺失值时常用方法,尤其是数据规模比较大而缺失数据相对较少的时候,可以直接删除包含缺失值的数据对象或变量,省时省力

1.4 替换缺失值

替换缺失值的数值一般用全集中的代表性属性,比如众数、均值,最值、中位数等。直接替换缺失值的好处在于简单直观,并且有相当的依据。缺点就是不能完全代表缺失数据本身真实的含义。

1.5 对缺失值进行赋值

使用各种机器学习方法来预测缺失值的最近替代值,也就是把缺失数据对应的变量当作目标变量,其他输入变量当自变量。理论上,这种方法最严谨,但时间和分析资源的成本上较高。

2. 异常值的常见处理技巧

2.1 异常值的判断

2.2 异常值的常见处理


本文大部分内容摘自《数据挖掘与数据化运营实战》(卢辉著)一书

上一篇下一篇

猜你喜欢

热点阅读