箱型图
这种方法是利用箱型图的四分位距(IQR)对异常值进行检测,也叫Tukey‘s test。箱型图的定义如下:
(图片来源:https://blog.csdn.net/weixin_39501270/article/details/77369597,侵删。)
四分位距(IQR)就是上四分位与下四分位的差值。而我们通过IQR的1.5倍为标准,规定:超过(上四分位+1.5倍IQR距离,或者下四分位-1.5倍IQR距离)的点为异常值。下面是Python中的代码实现,主要使用了numpy的percentile方法。
-
Percentile = np.percentile(df['length'],[0,25,50,75,100])
-
IQR = Percentile[3] - Percentile[1]
-
UpLimit = Percentile[3] + IQR*1.5
-
DownLimit = Percentile[1] - IQR*1.5
也可以使用seaborn的可视化方法boxplot来实现:
-
f,ax=plt.subplots(figsize=(10,8))
-
sns.boxplot(y='length',data=df,ax=ax)
-
plt.show()
上图中的菱形点就是异常值。