如何从大量数据中找出异常值

在机器学习的数据预处理阶段,异常值的检测至关重要。本文介绍了通过直方图观察、sigma原则、二次sigma处理、快速傅里叶变换、中值方法等多种方法来识别异常值。对于周期性时序数据,使用快速傅里叶变换能有效分离噪声。同时,文章提到了马尔科夫链蒙特卡洛等其他方法,并提供了相关开源项目的链接。
摘要由CSDN通过智能技术生成

前言

机器学习中数据预处理阶段,首先要考虑的就是将数据集中的异常值找出来,然后再做额外处理。当然,异常值的处理并不存在什么银弹,只能具体情况具体分析再根据效果选择处理方法。

直方图

看看数据集直方图也许能看出点端倪,比如下面这个图,下方的是原始数据集,上面的是对应直方图,可以看到大多数都分布在11000左边,它的右边存在一些分布,这些分布极少的点很可能就是异常点。

sigma原则

一些简单的场景可能直接使用某些准则就能找出异常值,比如3 sigma或5 sigma之类的。如下图,这里用3 sigma准则找到5个异常点。该过程主要计算出平均值mu和标准差sigma,然后再比较[mu-3*sigma,mu+3*sigma]

二次sigma处理

如果直接使用sigma原则效果不好,也就是说可能有些没问题的点被识别成异常点,或者有些异常点没有被发现,那么这种情况下可以考虑用二次sigma处理。第一次使用n1 sigma,第二次n2 sigma。

快速傅里叶变换

如果是周期性的时序数据,假如原始信号包含了噪音,可以考虑用快速傅里叶变换找出异常点

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值