Table of Contents
Fetching ...

PyGOD: A Python Library for Graph Outlier Detection

Kay Liu, Yingtong Dou, Xueying Ding, Xiyang Hu, Ruitong Zhang, Hao Peng, Lichao Sun, Philip S. Yu

TL;DR

The paper addresses the lack of a dedicated tool for graph outlier detection by introducing PyGOD, a Python library that unifies a wide range of graph-based detectors under a common API. It supports backbones including clustering, matrix factorization, GANs, autoencoders, GNNs, and self-supervised learning, and is built on PyTorch and PyG to enable CPU/GPU execution and scalable mini-batching. The design emphasizes modularity, utilities for workflow construction, built-in datasets and outlier generators, and rigorous robustness through comprehensive documentation, unit tests, and continuous integration. The library aims to accelerate research and practical deployment in applications such as social network analysis and security, with plans to extend supervision signals, scalability, and automated hyperparameter tuning.

Abstract

PyGOD is an open-source Python library for detecting outliers in graph data. As the first comprehensive library of its kind, PyGOD supports a wide array of leading graph-based methods for outlier detection under an easy-to-use, well-documented API designed for use by both researchers and practitioners. PyGOD provides modularized components of the different detectors implemented so that users can easily customize each detector for their purposes. To ease the construction of detection workflows, PyGOD offers numerous commonly used utility functions. To scale computation to large graphs, PyGOD supports functionalities for deep models such as sampling and mini-batch processing. PyGOD uses best practices in fostering code reliability and maintainability, including unit testing, continuous integration, and code coverage. To facilitate accessibility, PyGOD is released under a BSD 2-Clause license at https://pygod.org and at the Python Package Index (PyPI).

PyGOD: A Python Library for Graph Outlier Detection

TL;DR

The paper addresses the lack of a dedicated tool for graph outlier detection by introducing PyGOD, a Python library that unifies a wide range of graph-based detectors under a common API. It supports backbones including clustering, matrix factorization, GANs, autoencoders, GNNs, and self-supervised learning, and is built on PyTorch and PyG to enable CPU/GPU execution and scalable mini-batching. The design emphasizes modularity, utilities for workflow construction, built-in datasets and outlier generators, and rigorous robustness through comprehensive documentation, unit tests, and continuous integration. The library aims to accelerate research and practical deployment in applications such as social network analysis and security, with plans to extend supervision signals, scalability, and automated hyperparameter tuning.

Abstract

PyGOD is an open-source Python library for detecting outliers in graph data. As the first comprehensive library of its kind, PyGOD supports a wide array of leading graph-based methods for outlier detection under an easy-to-use, well-documented API designed for use by both researchers and practitioners. PyGOD provides modularized components of the different detectors implemented so that users can easily customize each detector for their purposes. To ease the construction of detection workflows, PyGOD offers numerous commonly used utility functions. To scale computation to large graphs, PyGOD supports functionalities for deep models such as sampling and mini-batch processing. PyGOD uses best practices in fostering code reliability and maintainability, including unit testing, continuous integration, and code coverage. To facilitate accessibility, PyGOD is released under a BSD 2-Clause license at https://pygod.org and at the Python Package Index (PyPI).
Paper Structure (4 sections, 1 figure, 1 table)

This paper contains 4 sections, 1 figure, 1 table.

Figures (1)

  • Figure 1: Demonstration of PyGOD's unified API design.