Pygod Versions Save

A Python Library for Graph Outlier Detection (Anomaly Detection)

v1.1.0

3 months ago

What's Changed

Greatly appreciate our community contributors helping improve PyGOD: @OldPanda, @ParthaPratimBanik, @ahmed3amerai

Full Changelog: https://github.com/pygod-team/pygod/compare/v1.0.0...v1.1.0

v1.0.0

9 months ago

We are thrilled to release PyGOD v1.0.0, a comprehensive open-source graph outlier detection library in the PyG ecosystem.

PyGOD contains more than 10 latest graph outlier detectors, which are built on PyTorch and PyG. It features:

  • unified and simple API: detector.fit, detector.predict
  • full documentation and examples at docs.pygod.org
  • all you need to prepare a PyG Data object

New features in recent versions:

  • built-in data and benchmark: utils.load_data
  • modularized components: nn.encoder, nn.decoder, nn.fuctional, etc.
  • extensive utility functions: metric, generator, utils, etc.

If you encounter a bug or have any suggestions please fill an issue or reach us via email at [email protected]. Also, feel free to try it out with your code! We appreciate every star, fork, and follow.

v0.4.0

1 year ago

We are excited to announce the final pre-alpha release, PyGOD v0.4, which marks a major milestone in our development. Following bug fixes and minor improvements, we plan to release v1.0. Your feedback and suggestions are appreciated. ⚠️ Please note that this version is NOT forward compatible and some APIs have changed. Here are the major changes in this release:

Enhanced Base Class

  • Detector: base class for all detectors.
  • DeepDetector: base class for all deep learning based detectors.

Simplied APIs

  • Removed predict_proba and predict_confidence.
  • Use predict(return_prob=True, return_conf=True) instead.

Modularized Detectors

We now introduce multiple modules to improve the code reusability and extendibility.

  • nn: all base models inherit torch.nn.Module
  • nn.encoder:
  • nn.decoder:
  • nn.functional: loss function, etc. Also, we changed the name of several modules to improve the clarity.
  • modelsdetector
  • metricsmetric

More Utility Functions

  • to_edge_score: edge outlier score converter
  • to_graph_score: graph outlier score converter
  • init_detector: detector initializer
  • init_nn: neural network initializer

Updated Requirements

  • PyGOD now requires Python 3.8+
  • PyTorch 2.0 and PyG 2.3.0 support
  • Enabled model compile via detector(compile_model=True) (beta)

And Many More

  • More comprehensive test coverage (almost 100%)
  • Reorganized documentation for better readability
  • Merge MLPAE and GCNAE to GAE
  • Most of the deep detectors support specifying various backbone from PyG
  • Retrieve learned embedding from fitted deep detectors with save_emb=True by detector.emb

v0.3.1

1 year ago

What's Changed

  • add edge drop probability to structural outlier injection
  • update benchmark script with more datasets.
  • multiple minor fixes by @cshjin @YingtongDou @kayzliu

New Contributors

v0.3.0

1 year ago

What's New

  • We release the first comprehensive node-level graph outlier detection benchmark, and the paper is available on arXiv. See benchmark and data for more details.
  • Add new models SCAN, Radar, and ANOMALOUS.
  • Accelerate GAAN and CONAD by vectorization. Up to 40x faster.
  • Add a new metric eval_ndcg.

v0.2.0

2 years ago

What's New

  • Our paper is available on arXiv.
  • We enable most of the models to train with minbatch, see model list for supported models. @kayzliu @xyvivian @aha12345678
  • Add new models CoLA (beta) and ANEMONE (beta) by @harvardchen
  • The first community contributor @zhiming-xu add a new model CONAD.
  • Add new metric eval_average_precision by @YingtongDou.
  • Improved device setting by @yzhao062

v0.1.1

2 years ago

Many key applications depend on graph data. To tailor this need, we just open-sourced the first comprehensive graph outlier detection library--PyGOD.

PyGOD contains more than 10 latest graph outlier detectors, which are built on PyTorch and PyG. It features:

  • unified and simple API as PyOD: using GNNs for outlier detection within 5 lines of code
  • full documentation and examples
  • for both academic use and industry app, all you need to prepare is the data in PyG format.

PyGOD is a collaborative effort among UIC, CMU, ASU, IIT, and BUAA. We commit to providing long-term maintenance and keep adding new models to the library. It is also our goal to promote graph outlier detection methods to broader audiences. If you encounter a bug or have any suggestions please fill an issue or reach us via email [email protected]. Also, feel free to try it out with your code!

We appreciate every star, fork, and follow.