PyGOD项目简介
PyGOD是一款专为图异常检测(亦称为离群检测)设计的Python库。这个领域充满挑战但也令人兴奋,其应用极为广泛,如在社交网络中检测可疑活动以及在安全系统中进行异常检测等。PyGOD的创建旨在为这一领域提供便利和高效的解决方案。
项目特点
- 丰富的检测算法:PyGOD提供了超过10种的图离群检测算法。
- 统一的API设计:开发采用了PyTorch和PyTorch Geometric的底层架构,API设计类似于PyOD,便于学习和使用。
- 全面的检测能力:支持节点、边和图级别的多层次检测。
- 可扩展性:支持对大型图的处理,提供mini-batch和采样等技术。
- 与PyG的兼容:数据处理可以无缝兼容PyG的数据对象。
如何使用PyGOD
使用PyGOD进行离群点检测只需五行代码:
from pygod.detector import DOMINANT
model = DOMINANT(num_layers=4, epoch=20) # 可调整的超参数
model.fit(train_data) # 输入训练数据
score = model.decision_score_ # 获取训练数据上的离群点得分
pred, score = model.predict(test_data, return_score=True) # 预测测试数据的标签和得分
安装说明
PyGOD依赖于PyTorch和PyTorch Geometric,但这些库并不会自动安装,因此需要用户手动安装:
- 需要的库版本:torch>=2.0.0和torch_geometric>=2.3.0。
- 使用pip进行安装:建议确保安装最新版本,PyGOD更新频繁。
pip install pygod # 正常安装
pip install --upgrade pygod # 更新
快速上手
PyGOD的基本API可以参见其官方文档中的"快速介绍"部分。需要注意的是,所有算法的API设计一致或相似。
实现的算法
PyGOD实现了一系列离群检测算法,包括SCAN、GAE、DOMINANT、OCGNN等,这些算法在多年的研究基础上不断演进,结合了最新的机器学习和深度学习技术。
贡献与合作
PyGOD是多所大学研究者的合作项目,其核心团队来自于UIC、IIT、BUAA、ASU和CMU。项目欢迎更多有兴趣的开发者和研究人员加入贡献,可以通过GitHub上的贡献指南获得更多信息。
项目团队
核心团队成员包括来自UIC的Kay Liu、Yingtong Dou,来自CMU的Yue Zhao、Xueying Ding,以及来自ASU的Kaize Ding等。这是一个跨机构合作的项目团队,致力于继续推动图异常检测技术的发展。