![数据挖掘竞赛实战:方法与案例](https://wfqqreader-1252317822.image.myqcloud.com/cover/110/52842110/b_52842110.jpg)
上QQ阅读APP看书,第一时间看更新
2.2.2 异常值
异常值是指对应的数值不符合业务逻辑、偏离正常范围,或和其他样本有着显著差异的数值。合理地处理异常值,能防止其对模型造成干扰,避免模型得出错误的结论。
1.异常值识别
异常值识别是指通过数据分析,识别出异常的数据样本。常见的异常值识别方法包括基于业务逻辑和基于数据可视化两种。
1)基于业务逻辑
可以设置一些规则来判断数据是否存在异常。例如一个人的身高、体重不可能为负数,邮政编码只能是6位等。
2)基于数据可视化
箱型图是一种非常简单但有效地识别异常值的可视化方法。如图2.8所示,显示在上下限之外的数据点可以被视为异常值。其中,上限=Q3+1.5×四分位距,下限=Q1-1.5×四分位距。
注意:
Q3和Q1分别表示75%分位数和25%分位数。
![](https://epubservercos.yuewen.com/6889A6/31397662403378406/epubprivate/OEBPS/Images/Figure-P31_46283.jpg?sign=1739047414-kylYibQGqpwHsZprP8ddxKu1WWVqgwKD-0-ca8e4427b226804acb63d7b15a59eafa)
图2.8 箱型图
绘制箱型图的代码如下。
import seaborn as sns sns.boxplot(data=data)
2.异常值处理
对于识别为异常值的样本,需要根据具体情况区别对待。例如,如果异常值是由于收集、记录过程中的错误导致的,需要对其进行修正;如果异常值代表了一种真实存在的现象,那就需要把异常值纳入模型的考量中。对于前者,异常值的处理方法可以参考缺失值的处理方式,如删除法、使用代表值填充、使用预测值填充。