数据科学中,在对数据分析前,必须要多数据进行处理。将非正常的、错误的数据输入到算法中会导致不好的结果。所以异常的检测及处理为非常重要的一环。
1.1 单变量异常检测
在处理单变量异常时,有一条准则:极端值可以当做异常值
1. IQR(四分位距,75分位与25分位的差)。第一种是比25分位值减去IQR*1.5小的值;第二种是比75分为大IQR*1.5的值
2. Z-scores 得分绝对值大于3的观测值可认为是异常值
先用箱图来直观观察一下每个特征的分布情况
from sklearn.datasets import load_boston
import numpy as np
import pandas as pd
from sklearn import preprocessing
data=load_boston()
boston=pd.DataFrame( data.data)
boston.columns=data['feature_names']
boston.pop('CHAS')#remove column
normolized_data=preprocessing.StandardScaler().fit_transform(boston)
boston.boxplot(sym='r',vert=False,patch_artist=True,meanline=False,showmeans=True)
箱图能非常直观的观察数据间离散程度、异常值