返回

从数据汪洋中挖掘异常值,让模型一马当先!

人工智能

揭开异常值的庐山真面目

异常值,顾名思义,就是那些在数据集中显得格格不入的值。它们可能比其他值大得多,也可能小得多;可能与其他值明显不同,也可能只是略有差异。异常值的存在可能由于多种原因,比如数据录入错误、测量误差、数据损坏等。

识破异常值的套路

识别异常值的方法有很多,每种方法都有各自的优缺点。下面介绍几种常用的异常值识别方法:

  • 统计方法: 统计方法是识别异常值的常用方法。这些方法基于统计学原理,通过计算数据点的离散程度来判断其是否异常。常用的统计方法包括:
    • 均值和标准差: 均值和标准差是两个常用的统计量,可以用来衡量数据点的离散程度。如果一个数据点与均值的差值超过一定倍数的标准差,则认为该数据点是异常值。
    • Z-score: Z-score是标准化后的数据点,其值等于数据点与均值的差值除以标准差。Z-score大于2或小于-2的数据点通常被认为是异常值。
  • 距离方法: 距离方法也是识别异常值的常用方法。这些方法基于数据点之间的距离来判断其是否异常。常用的距离方法包括:
    • 欧式距离: 欧式距离是两个数据点之间直线距离的平方根。欧式距离较大的数据点通常被认为是异常值。
    • 曼哈顿距离: 曼哈顿距离是两个数据点之间水平和垂直距离的和。曼哈顿距离较大的数据点通常被认为是异常值。
  • 密度方法: 密度方法是基于数据点周围的密度来判断其是否异常。常用的密度方法包括:
    • 局部异常因子(LOF): LOF值较高的数据点通常被认为是异常值。
    • 孤立森林: 孤立森林是一种无监督学习算法,可以用于识别异常值。孤立森林通过构建决策树来将数据点孤立起来,孤立程度较高的数据点通常被认为是异常值。

降服异常值的招数

一旦识别出异常值,就可以对其进行处理。异常值处理的方法有多种,每种方法都有各自的优缺点。下面介绍几种常用的异常值处理方法:

  • 删除异常值: 最简单的方法是直接删除异常值。但是,这种方法可能会导致数据丢失,从而影响模型的性能。
  • 替换异常值: 可以将异常值替换为其他值,比如均值、中值或众数。这种方法可以减少异常值对模型的影响,但可能会引入新的偏差。
  • 修正异常值: 如果知道异常值出现的原因,可以尝试修正这些值。这种方法可以保留原始数据,但需要具体问题具体分析。
  • 建模异常值: 可以在模型中显式地对异常值进行建模。这种方法可以使模型对异常值更加鲁棒,但可能会增加模型的复杂度。

结语

异常值是数据预处理中需要重点关注的问题。异常值的存在可能对模型的训练和预测产生不利影响,因此需要对其进行识别和处理。常用的异常值识别方法包括统计方法、距离方法和密度方法。常用的异常值处理方法包括删除异常值、替换异常值、修正异常值和建模异常值。