本文介绍: scikit-learn 中异常值检测算法的比较。LocalOutlier Factor (LOF) 不会以黑色显示决策边界,因为当用于异常值检测时,它没有可应用于新数据的预测方法。并且在这里考虑的数据集上表现相当好。众所周知,它对异常值很敏感,因此在异常值检测方面表现不佳。话虽如此,在高维中检测异常值,或者对内围数据的分布没有任何假设,是非常具有挑战性的。仍可与异常值检测一起使用,但需要微调其超参数nu以处理异常值并防止过度拟合。提供非线性单类支持向量的实现,其样本数复杂度呈线性。
许多应用程序需要能够确定新观测值是属于与现有观测值相同的分布(它是异常值),还是应被视为不同的分布值(它是异常值)。通常,此功能用于清理真实数据集。必须做出两个重要的区别:
异常值检测和新颖性检测都用于异常检测,其中人们有兴趣检测异常或异常观察结果。异常值检测也称为无监督异常检测,新颖性检测也称为半监督异常检测。在异常值检测的上下文中,异常值/异常值不能形成密集聚类,因为可用的估计器假设异常值/异常值位于低密度区域。相反,在新颖性检测的上下文中,新奇/异常可以形成密集的聚类,只要它们位于训练数据的低密度区域,在这种情况下被认为是正常的。
scikit-learn 项目提供了一组机器学习工具,可用于新颖性或异常值检测。该策略是通过从数据中以无监督方式进行对象学习来实现的:
然后,可以使用以下predict
方法将新观测值排序为异常值或异常值:
Inliers 标记为 1,而异常值标记为 -1。预测方法使用由估计器计算的原始评分函数的阈值。该评分函数可通过该score_samples
方法访问,而阈值可以通过contamination
参数控制。
异常值检测方法概述
新颖性检测
纵向扩展单类 SVM
异常值检测
拟合椭圆包络
隔离林
局部异常因子
使用局部异常因子进行新颖性检测
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。