【数据处理_异常值检测及处理】

在数据清洗的过程中,异常值的检测及处理是非常重要的一部分,现就以下问题学习异常值的相关知识。

1.什么是异常值?

  指样本中个别数值明显偏离其余的观测值,比如一个学生的年龄<0,身高>5m等等,这些数据都属于异常值

2.异常值有什么影响?

  回归模型对异常值比较敏感,如果数据样本中存在异常值,那么模型的拟合,变量的系数、显著性等都会产生较大影响。

3.怎么检测异常值?

- 箱型图

  首先计算变量的分位数(Q1、Q3),然后得到四分位数极差IQR=Q3-Q1,那么小于Q1-1.5IQR 或 大于Q3+1.5IQR的值称为异常值
在这里插入图片描述

代码如下:

# 函数:统计学方法计算每个字段的异常值情况
def outlier_box(data,cols_all,k=1.5):
    '''
    args:
        data:数据源
        cols_all:进行异常值分析的字段,列表形式
        k:超过高低四分位数时IQR的比例,1.5:中度异常,3:重度异常
    return:
        data_outlier:
            outlier_low:下部异常值
            outlier_up:上部异常值
            outlier_len:异常值记录条数
    '''
    outlier = {
   }
    for col in cols_all:
        print(col)
        # 下限
        low = np.percentile(data[col],25) - k*(np.percentile(data[col],75)-np.percentile(data[col],25))  
        low = float(np.where(low<data[col].min(),np.nan,low))
        # 上限
        up = np
  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值