机器学习基础与实践(一)数据清洗

2020-04-30  本文已影响0人  米小河123

数据清洗一般包括以下几个步骤:

一、分析数据

可以通过作图的方式,简单了解数据概况。

二、缺失值处理

1、直接删除(适合缺失值数量较小,并且是随机出现的,删除它们对整体数据影响不大)
2、使用全局常量填充(算法可能会把它识别为一个新的类别,很少使用)
3、使用均值或者中位数填充(对于正常分布的数据可以使用均值填充,如果数据是倾斜的,使用中位数填充可能更好)
4、插补法
5、建模法(回归等,比较常用)

三、异常值处理

识别异常值的方法有以下几种:
1、简单的统计分析

df.describe()

2、3∂原则
如果数据服从正态分布,在3∂原则下,异常值为一组测定值与平均值的偏差超过3倍标准差的值。如果数据服从正态分布,距离平均值3∂之外的值的出现的概率为P(|x-u|>3∂)<=0.003,属于极个别的小概率事件。如果数据不服从正态分布,也可以用远离平均值的多少倍标准差来描述。

3、箱型图分析

四分位数:Qi = i (n+1)/4,其中i={1,2,3}
四分位距:IQR=Q3-Q1
上限:Q3+1.5IQR,表示非异常范围内的最大值
下限:Q1-1.5
IQR,表示非异常范围内的最小值

箱型图提供了识别异常值的一个标准:如果一个值小于Q1-1.5IQR或大于Q3+1.5IQR,则被称为异常值。

箱型图判断异常值的方法以四分位数和四分位距为基础,四分位数具有鲁棒性(25%的数据可以变得任意远并且不会干扰四分位数,所以异常值不能对这个标准施加影响,因此箱型图识别异常值比较客观)。

4、基于模型检测
首先建立一个模型,异常值是那些与模型不能完美拟合的数据。

5、基于距离
在对象之间定义邻近性度量,异常对象是那些远离其他对象的对象

6、基于密度

7、基于聚类

异常值的处理方法:
1、删除异常值
2、不处理
3、平均值替代
4、视为缺失值

四、去重处理

data.duplicated() ## 判断各行是否是重复行
data.drop_duplicates() ## 移除重复行
上一篇 下一篇

猜你喜欢

热点阅读