异常检测 (又称outlier detection、anomaly detection,离群值检测) 是一种常见的数据挖掘方法 , 主要被用于检测与主要数据分布不同的异常值 (deviant from the general data distribution),比如从信用卡交易中找出诈骗案例,从正常的网络数据流中找出入侵,有非常广泛的商业应用价值。另一个常见的用途就是作为机器学习任务的预处理(preprocessing),防止因为少量异常点存在而导致的训练或预测失败。
Python Outlier Detection(PyOD) 是当下最流行的Python异常检测工具库(toolkit),其主要亮点包括:
包括近20种常见的异常检测算法,比如经典的ABOD以及最新的 深度学习 如对抗生成模型(GAN)和 集成异常检测 (outlier ensemble)
支持不同版本的Python :包括2.7和3.5+; 支持多种操作系统 :windows,macOS和Linux
简单易用且一致的API , 只需要几行代码就可以完成异常检测 ,方便评估大量算法
使用JIT和并行化(parallelization)进行优化,加速算法运行及扩展性(scalability),可以处理大量数据
从2018年5月正式发布以来, PyOD 已经获得了超过50000次下载与1400个GitHub Star,在所有GitHub数据挖掘(data mining)工具库[1]中排名14 。同时它也被运用于多项学术研究中[2, 3]。我也曾在回答中使用过 PyOD :「 数据挖掘中常见的「异常检测」算法有哪些? 」。 因为现阶段 PyOD 的文档与实例全部为英文,为了方便大家使用,特别专门创作了这篇中