异常值(Outliers)
定义:指样本中的个别值,其数值明显偏离它(或他们)所属样本的其余观测值,也称异常数据,离群值。
产生异常值的因素:
1、传感器故障所引起的值,通常为零,这些零都是异常值;
2、手动录入值引起的错误;
3、反常事件所产生的值(即你认为不可能发生的情况)。
异常值检测/删除算法:
步骤一:训练数据集;
步骤二:去掉最大误差的点,一般也叫残差;
步骤三:对剩下的数据进行再训练。
以上操作有时候需要循环操作。
备注:一般情况下,去除所有数据点的10%。
去除10%数据的代码参考(引用代码):
cleaned_data = []
import operator
errors = [a-b for a,b in zip(predictions,net_worths)]
data = zip(ages,net_worths,errors)
data.sort(key = operator.itemgetter(2))
cleaned_data = data[:int(len(predictions)*0.9)]