数据挖掘学习之路:Python去极值方法(极值滤波)

本文介绍了使用MAD法(中位数去极值)对数据进行清洗,通过计算因子的中位数和偏差来确定异常值范围。此外,还讲解了百分位法,通过设置阈值找出数据的上下边界,实现数据标准化。两种方法在实际数据分析中的应用和比较。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、MAD法(中位数去极值)

def fil_ex(se):
    me = se.quantile(0.5) #找出所有因子的中位数
    n_me = ((se-me).abs()).quantile(0.5)#得到每个因子与中位数的绝对偏差值
    max_r = me + n*n_me  #
    min_r = me - n*n_me
    return np.clip(se,min_r,max_r)
da = Series([69,96,2,3,5,6])
da1 = fil_ex(da, 6)

2、3\sigma

def fil_ex(se):
    me = se.mean()
    std = se.std()
    max_r = mean + n*std
    min_r = mean - n*std
    retnrn np.clip(se,min_r,max_r)

3、百分位法(最好理解)

def fil_ex(se,min = 0.1,max = 0.9):
    se = se.sort_values()
    q = se.quantile([min,max])
    return np.clip(se,q.iloc[0],q.iloc[1])

我用的第三种,调用的函数的意思自己查百度,

转载自https://wenku.baidu.com/view/192db00bee630b1c59eef8c75fbfc77da26997bc.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值