数据清洗(缺失、异常处理)

一、缺失值

1.1 填补原则

首选基于业务的填补方法,其次根据单变量分析进行填补
(多重插补进行所有变量统一填补的方法只有在粗略清洗时菜户其使用。)

缺失比例 填补原则
缺失值少于20% 连续变量使用均值中位值填补;分类变量不需要填补,单算一类即可,或者用众数填补
缺失值在20~80% 填补方法同上;另外每个有缺失值的变量生成一个指示哑变量,参与后续的建模
缺失值大于80% 每个有缺失值的变量生成一个指示哑变量,参与后续的建模。原始变量不再使用

1.2 填补方法(待补充)

#用平均值填充
df.fillna(df.mean())
#如果整列都是空,则填入test
df.apply(lambda x: x.fillna(np.mean(x)) if isinstance(np.max(x), float) else x.fillna('test' ))

二、异常值

2.1 查找原则

  • 极端值、离群值
  • 设置标准,如:5倍标准差之外的数据
  • 极值有时并不意味着错误,应重新理解数据,例如:特殊用户的超大额消费

平均值法

  • 平均值法:平均值±n倍标准差之外的数据

建议的临界值:

|SR|>2 用于观察值较少的数据集
|SR|>3 用于观察值较多的数据集

四分位数法

  • 四分位数法(更适用于对称分布的数据)
    IQR = Q3-Q1
    Q1-1.5IQR ~ Q3+1.5IQR

2.2 处理方式

盖帽法

上下两端直接截断。

  • 例子:用1%99%的分位数进行盖帽
def 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值