作者: eavea 发表日期: 2020年04月14日 分类: 后端技术
标签: Python , 数据处理
阅读次数: 6,076
评论数: 0 条
【Python实战】单变量异常值检测
异常值检测是数据预处理阶段重要的环节,这篇文章介绍下对于单变量异常值检测的常用方法,通过Python代码实现。
一、什么是异常值
异常值是在数据集中与其他观察值有很大差距的数据点,它的存在,会对随后的计算结果产生不适当的影响,因此检测异常值并加以适当的处理是十分必要的。
二、异常值的处理
异常值并不都是坏的,了解这一点非常重要。只是简单地从数据中删除异常值,而不考虑它们如何影响结果的话,可能会导致灾难。
“异常值不一定是坏事。这些只是与其他模式不一致的观察。但事实上异常值非常有趣。例如,如果在生物实验中,某只老鼠没有死亡而其他老鼠都死了,去了解为什么将会非常有趣。这可能会带来新的科学发现。因此,检测异常值非常重要。” —— Pierre Lafaye de Micheaux,统计师
对于异常值,一般有如下几种处理:
删除含有异常值的记录(是否删除根据实际情况考虑)
将异常值视为缺失值,利用缺失值的处理方法进行处理
平均值修正(前后两个观测值的平均值)
不处理(直接在具有异常值的数据集上进行挖掘)
三、异常值的类型
异常值有两种类型:单变量和多变量(Univariate and Multivariate)。单变量异常值是仅由一个变量中的极值组成的数据点,而多变量异常值是至少两个变量的组合异常分数。假设您有三个不同的变量 – X,Y