数据挖掘竞赛实战:方法与案例
上QQ阅读APP看书,第一时间看更新

2.2.2 异常值

异常值是指对应的数值不符合业务逻辑、偏离正常范围,或和其他样本有着显著差异的数值。合理地处理异常值,能防止其对模型造成干扰,避免模型得出错误的结论。

1.异常值识别

异常值识别是指通过数据分析,识别出异常的数据样本。常见的异常值识别方法包括基于业务逻辑和基于数据可视化两种。

1)基于业务逻辑

可以设置一些规则来判断数据是否存在异常。例如一个人的身高、体重不可能为负数,邮政编码只能是6位等。

2)基于数据可视化

箱型图是一种非常简单但有效地识别异常值的可视化方法。如图2.8所示,显示在上下限之外的数据点可以被视为异常值。其中,上限=Q3+1.5×四分位距,下限=Q1-1.5×四分位距。

注意:

Q3和Q1分别表示75%分位数和25%分位数。

图2.8 箱型图

绘制箱型图的代码如下。

import seaborn as sns
sns.boxplot(data=data)
2.异常值处理

对于识别为异常值的样本,需要根据具体情况区别对待。例如,如果异常值是由于收集、记录过程中的错误导致的,需要对其进行修正;如果异常值代表了一种真实存在的现象,那就需要把异常值纳入模型的考量中。对于前者,异常值的处理方法可以参考缺失值的处理方式,如删除法、使用代表值填充、使用预测值填充。