1、清洗异常数据

1.1、基于统计的异常点检测算法

  • 简单统计分析:比如对属性值进行一个描述性的统计,从而查看哪些值是不合理的,比如针对年龄来说,我们规定范围维 [0,100],则不在这个范围的样本,则就认为是异常样本
  • 3δ原则(δ为方差):当数据服从正态分布:根据正态分布的定义可知,距离平均值3δ之外的概率为 P(|x-μ|>3δ) <= 0.003 ,这属于极小概率事件,在默认情况下我们可以认定,距离超过平均值3δ的样本是不存在的。 因此,当样本距离平均值大于3δ,则认定该样本为异常值
  • 通过极差和四分位数间距,进行异常数据的检测

    1.2、基于距离的异常点检测算法

    主要通过距离方法来检测异常点,将一个数据点与大多数点之间距离大于某个阈值的点视为异常点,主要使用的距离度量方法有绝对距离(曼哈顿距离)、欧氏距离和马氏距离等方法

    1.3基于密度的异常点检测算法

    考察当前点周围密度,可以发现局部异常点

    2、缺失值处理

    对于一个特征来说
  1. 如果所有样本中的的缺失值极多,则可以直接去掉
  2. 如果缺失值不是很多,可以考虑用全局均值,或者中位数进行填充
  3. 将此特征作为目标,根据未缺失的数据,利用相关算法模型,对缺失值进行预测

    3、数据采样

    数据采样主要是为了处理样本不均衡问题的。比如有些情况下,获取来的数据,正负样本个数差距很大,而大多数模型对正负样本比是敏感的(比如逻辑回归),所以,需要通过数据采样,来使数据正负样本均衡
    在处理样本不均衡问题时,主要分为两种情况

  4. 正负样本个数差距很大,并且同时正负样本个数本身也很大,这个时候可以采取下采样方法。
    下采样:对训练集里面样本数量较多的类别(多数类)进行欠采样,抛弃一些样本来缓解类不平衡。

  5. 正负样本个数差距很大,并且同时正负样本个数本身比较小,这个时候可以采取上采样方法。
    上采样:对训练集里面样本数量较少的类别(少数类)进行过采样,合成新的样本来缓解类不平衡。 这个时候会用到一个非常经典的过采样算法SMOTE(关于过采样SMOTE算法