PyOD是一个全面且易于使用的Python库,专门用于检测多变量数据中的异常点或离群点。异常点是指那些与大多数数据点显著不同的数据,它们可能表示错误、噪声或潜在的有趣现象。无论是处理小规模项目还是大型数据集,PyOD提供了50多种算法以满足用户的需求。PyOD的特点包括:
目录
PyOD提供了这些算法的接口类实现,具体算法对应的接口见:pyod-implemented-algorithms。同时PyOD对于这些算法提供了统一的API接口,如下所示:
- 统一且用户友好的接口,适用于多种算法。
- 丰富的模型选择,从经典技术到最新的PyTorch深度学习方法。
- 高性能与高效率,利用numba和joblib实现即时编译与并行处理。
- 快速的训练和预测,通过SUOD框架实现。
pip install pyod
目录
1 使用说明
1.1 PyOD背景介绍
PyOD作者发布了一份长达45页的预印论文,名为ADBench: Anomaly Detection Benchmark,以及提供ADBench开源仓库对30种异常检测算法在57个基准数据集上的表现进行了比较。ADBench结构图如下所示:
PyOD提供了这些算法的接口类实现,具体算法对应的接口见:pyod-implemented-algorithms。同时PyOD对于这些算法提供了统一的API接口,如下所示:
- pyod.models.base.BaseDetector.fit():训练模型,对于无监督方法,目标变量y将被忽略。
- pyod.models.base.BaseDetector.decision_function():使用已训练的检测器预测输入数据的异常分数。
- pyod.models.base.BaseDetector.predict():使用已训练的检测器预测特定样本是否为异常点。
- pyod.models.base.BaseDetector.predict_proba():使用已训练的检测器预测样本为异常点的概率。
- pyod.models.base.BaseDetector.predict_confidence():预测模型对每个样本的置信度(可在predict和predict_proba中使用)。
- pyod.models.base.BaseDetector.decision_scores_:训练数据的异常分数。分数越高,越异常。
- pyod.models.base.BaseDetector.labels_:训练数据的二进制标签。0表示正常样本,1表示异常样本。