背景
有时候数据集中会包含一个或多个数值异常大或异常小的值,这样的极端值称为异常值
- 对于异常值,我们该怎么办呢?
- 需要采用一定的技术手段从大量数据中找出哪些数值可能是异常值
- 然后对找到的这些异常值的准确性进行检查,以确定如何处理异常值
Tukey's test
小于最小值或者大于最大值即可判断为异常值
-代码实现
import numpy as np
# 先进行特征缩放
log_data = np.log(data)
Q1 = np.percentile(log_data[feature],25)
Q3 = np.percentile(log_data[feature],75)
#计算四分位
step = 1.5*(Q3-Q1)
#异常值判断
log_data[((log_data[feature] < Q1 - step) | (log_data[feature] > Q3 + step))]