scikit-learn 中异常值检测算法的比较。LocalOutlier Factor (LOF) 不会以黑色显示决策边界,因为当用于异常值检测时,它没有可应用于新数据的预测方法。
ensemble.IsolationForest
并且neighbors.LocalOutlierFactor
在这里考虑的数据集上表现相当好。众所周知,它svm.OneClassSVM
对异常值很敏感,因此在异常值检测方面表现不佳。话虽如此,在高维中检测异常值,或者对内围数据的分布没有任何假设,是非常具有挑战性的。svm.OneClassSVM
仍可与异常值检测一起使用,但需要微调其超参数nu以处理异常值并防止过度拟合。linear_model.SGDOneClassSVM
提供非线性单类支持向量的实现,其样本数复杂度呈线性。此实现与内核近似技术一起使用,以获得与默认使用高斯内核类似的svm.OneClassSVM
结果。最后,covariance.EllipticEnvelope
假设数据是高斯的,并学习一个椭圆。有关不同估计器的更多详细信息,请参阅示例比较玩具数据集上异常值检测的异常检测算法以及以下部分。
例子:
-
请参阅比较玩具数据集上异常值检测的异常检测算法,以比较 、
svm.OneClassSVM
、ensemble.IsolationForestneighbors.LocalOutlierFactor
和covariance.EllipticEnvelope
。 -
请参阅异常值检测估计器的评估,了解如何使用 ROC 曲线评估异常值检测估计器、和
neighbors.LocalOutlierFactorensemble.IsolationForestmetrics.RocCurveDisplay
的示例。