Notice: The reproducibility variables underlying each score are classified using an automated LLM-based pipeline, validated against a manually labeled dataset. LLM-based classification introduces uncertainty and potential bias; scores should be interpreted as estimates. Full accuracy metrics and methodology are described in [1].

PyGOD: A Python Library for Graph Outlier Detection

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

JMLR 2024 | Venue PDF | LLM Run Details

Reproducibility Variable Result LLM Response
Research Type Experimental PyGOD already supports more than fifteen representative algorithms as shown in Table 1. Additionally, we provide unit tests with cross-platform continuous integration along with code coverage and maintainability checks. Code Demo 1: Using DOMINANT (Ding et al., 2019a) on Cora (Morris et al., 2020). eval_f1(data.y.bool(), pred) # evaluate by F1 eval_roc_auc(data.y.bool(), score) # evaluate by AUC
Researcher Affiliation Collaboration 1University of Illinois Chicago, 2Visa Research, 3Carnegie Mellon University, 4Arizona State University, 5Alibaba Group, 6Kunming University of Science and Technology, 7Shantou University, 8Lehigh University
Pseudocode No The paper does not contain structured pseudocode or algorithm blocks. Code Demo 1 shows an example of Python usage, not an algorithm's pseudocode.
Open Source Code Yes To facilitate accessibility, PyGOD is released under a BSD 2-Clause license at https://pygod.org and at the Python Package Index (PyPI).
Open Datasets Yes data = load_data("inj_cora") # load built-in dataset ... Code Demo 1: Using DOMINANT (Ding et al., 2019a) on Cora (Morris et al., 2020).
Dataset Splits No The paper mentions loading a built-in dataset (inj_cora) and an API design that includes `predict on test data`, but it does not provide specific details on how this dataset is split into training, validation, or testing sets (e.g., percentages, sample counts, or methodology).
Hardware Specification No PyGOD builds for Python 3.8+ and depends on the popular PyTorch (Paszke et al., 2019) and PyTorch Geometric (PyG) (Fey and Lenssen, 2019) packages for graph learning on both CPUs and GPUs. No specific hardware models (e.g., specific CPU or GPU models) are mentioned.
Software Dependencies No PyGOD builds for Python 3.8+ and depends on the popular PyTorch (Paszke et al., 2019) and PyTorch Geometric (PyG) (Fey and Lenssen, 2019) packages for graph learning on both CPUs and GPUs. Additionally, PyGOD uses NumPy (Harris et al., 2020), SciPy (Virtanen et al., 2020), and scikit-learn (Pedregosa et al., 2011), and NetworkX (Hagberg et al., 2008) for data manipulation. While Python 3.8+ is mentioned, specific version numbers for the other listed libraries are not provided for the PyGOD implementation itself.
Experiment Setup Yes Code Demo 1: model = DOMINANT(num_layers=4) # initialize the detector