初识机器学习:数据异常检测

396 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第11天,点击查看活动详情

异常数据的检测在数据科学中是一项重要的工作。

  • 在数据的预处理阶段,异常数据监测可以帮助发现样本数据集中的噪音数据,如果能在数据预处理的阶段,尽可能地排除掉异常数据,再训练预测模型,可以提高模型的准确度;
  • 在参数调优的阶段,分析过程中出现的异常数据点,可以对寻找最优的参数提供帮助,还可能让我们发现之前被忽略掉的预测变量;
  • 另外,异常数据监测,还可以直接应用于具体业务中,比如交易欺诈、垃圾邮件、自动纠错等。

不过,当训练数据集中的数据过少时,隐含在数据中的模式并不那么清晰,也会导致一些数据表现为异常数据。

KNN 用于数据异常检测

上一篇(10. 初识机器学习:k近邻算法 )介绍了如何 KNN 算法预测数据结果的过程和原理,预测之外,KNN 还可以用来检测数据的异常。换一种说法,KNN 算法可以根据已有的模式(样本数据的分布)和数据点的特征变量,来预测数据点的类别获取值,反过来,如果一个数据点的类别和取值是已知的,那么我们可以根据 KNN 预测的结果和一只结果对比,观察其误差的大小,如果误差较大,则可以被人为是异常数据。

其他异常检测的方法

实际上,任何能够产生预测模型的机器学习算法,都可以应用在异常检测上。比如,之前的文章(08. 初识机器学习:回归分析 )讲过的回归分析,我们可以根据训练集数据点的预测变量,在所在的坐标系中拟合出一条曲线,那么,如果有数据点的位置明显偏离了这条最佳回归线,那么,极有可能是一个异常数据点。

除此之外,一些常见的统计学规律也可以帮助我们识别数据中的异常。

总结

  1. 可以产生预测模型的机器学习算法,也可以用来检测异常数据。
  2. 异常检测可以用在数据预处理阶段,也可以帮助我们调优参数、发现被忽略的重要特征变量。
  3. 异常检测也可应用于具体业务场景,如识别交易、邮件中的异常。