我是Spark and Hadoop World的新手。我已经开始从互联网上自己学习这些主题。我想知道如何在Spark DataFrame中执行异常值检测,因为Spark中的数据帧是不变的?是否有可以执行此功能的火花包或模块?我正在使用Pyspark API作为Spark,因此,如果有人回答如何在Pyspark中做到这一点,我将非常感激。如果我在Pyspark(Pyhton)中获得了在Spark DataFrame中执行异常值检测的小型代码,将非常感谢。预先感谢!
据我所知,由于数据本身取决于应用程序而变化,因此没有一个专门用于检测异常值的软件包。但是,有几种已知的方法都有助于识别异常值。首先让我们看一下术语"离群值"的含义,它只是指超出观测值范围/范围的极端值。一个很好的例子说明了这些异常值的观察是在以直方图或散点图可视化数据时,它们可以强烈影响静态并极大地压缩有意义的数据。或者它们可以看作是对数据统计摘要的强大影响。例如使用平均值或标准偏差。这肯定会产生误导,危险将是当我们使用包含异常值的培训数据时,培训将需要更长的时间,因为该模型将在范围内挣扎,因此我们以较不准确的模型和较差的结果降落或"永不融合客观度量",即比较有关训练时间或精确值范围的测试和培训的输出/评分。
尽管通常将离群值作为数据中的不良实体是常见的,但它们仍然可以符合异常,并且它们的检测本身将是一种发现欺诈或提高安全性的方法。
这是一些K自己的离群值检测方法(可以在此好的文章中找到更多详细信息):
- 极值分析,
- 概率和统计模型,
- 线性模型:减少数据维度,
- 基于接近度的模型:主要使用聚类。
对于代码,我建议MAPR的这个好教程。希望这个答案有帮助。祝你好运。