pygod


Namepygod JSON
Version 1.1.0 PyPI version JSON
download
home_pagehttps://github.com/pygod-team/pygod/
SummaryA Python Library for Graph Outlier Detection (Anomaly Detection)
upload_time2024-02-04 21:25:17
maintainer
docs_urlNone
authorPyGOD Team
requires_python
licenseBSD-2
keywords outlier detection anomaly detection graph mining data mining neural networks graph neural networks
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            .. image:: https://raw.githubusercontent.com/pygod-team/pygod/main/docs/pygod_logo.png
   :width: 1050
   :alt: PyGOD Logo
   :align: center

.. image:: https://img.shields.io/pypi/v/pygod.svg?color=brightgreen
   :target: https://pypi.org/project/pygod/
   :alt: PyPI version

.. image:: https://readthedocs.org/projects/pygod/badge/?version=latest
   :target: https://docs.pygod.org/en/latest/?badge=latest
   :alt: Documentation status

.. image:: https://img.shields.io/github/stars/pygod-team/pygod.svg
   :target: https://github.com/pygod-team/pygod/stargazers
   :alt: GitHub stars

.. image:: https://img.shields.io/github/forks/pygod-team/pygod.svg?color=blue
   :target: https://github.com/pygod-team/pygod/network
   :alt: GitHub forks

.. image:: https://static.pepy.tech/personalized-badge/pygod?period=total&units=international_system&left_color=grey&right_color=blue&left_text=Downloads
   :target: https://pepy.tech/project/pygod
   :alt: PyPI downloads

.. image:: https://github.com/pygod-team/pygod/actions/workflows/testing.yml/badge.svg
   :target: https://github.com/pygod-team/pygod/actions/workflows/testing.yml
   :alt: testing

.. image:: https://coveralls.io/repos/github/pygod-team/pygod/badge.svg?branch=main
   :target: https://coveralls.io/github/pygod-team/pygod?branch=main
   :alt: Coverage Status

.. image:: https://img.shields.io/github/license/pygod-team/pygod.svg
   :target: https://github.com/pygod-team/pygod/blob/master/LICENSE
   :alt: License


-----

PyGOD is a **Python library** for **graph outlier detection** (anomaly detection).
This exciting yet challenging field has many key applications, e.g., detecting
suspicious activities in social networks [#Dou2020Enhancing]_  and security systems [#Cai2021Structural]_.

PyGOD includes **10+** graph outlier detection algorithms.
For consistency and accessibility, PyGOD is developed on top of `PyTorch Geometric (PyG) <https://www.pyg.org/>`_
and `PyTorch <https://pytorch.org/>`_, and follows the API design of `PyOD <https://github.com/yzhao062/pyod>`_.
See examples below for detecting outliers with PyGOD in 5 lines!


**PyGOD is featured for**:

* **Unified APIs, detailed documentation, and interactive examples** across various graph-based algorithms.
* **Comprehensive coverage** of 10+ graph outlier detectors.
* **Full support of detections at multiple levels**, such as node-, edge-, and graph-level tasks.
* **Scalable design for processing large graphs** via mini-batch and sampling.
* **Streamline data processing with PyG**--fully compatible with PyG data objects.

**Outlier Detection Using PyGOD with 5 Lines of Code**\ :

.. code-block:: python


    # train a dominant detector
    from pygod.detector import DOMINANT

    model = DOMINANT(num_layers=4, epoch=20)  # hyperparameters can be set here
    model.fit(train_data)  # input data is a PyG data object

    # get outlier scores on the training data (transductive setting)
    score = model.decision_score_

    # predict labels and scores on the testing data (inductive setting)
    pred, score = model.predict(test_data, return_score=True)


**Citing PyGOD**\ :

Our `software paper <https://arxiv.org/abs/2204.12095>`_ and `benchmark paper <https://proceedings.neurips.cc/paper_files/paper/2022/hash/acc1ec4a9c780006c9aafd595104816b-Abstract-Datasets_and_Benchmarks.html>`_ are publicly available.
If you use PyGOD or BOND in a scientific publication, we would appreciate citations to the following papers::

    @article{liu2022pygod,
      title={PyGOD: A Python Library for Graph Outlier Detection},
      author={Liu, Kay and Dou, Yingtong and Zhao, Yue and Ding, Xueying and Hu, Xiyang and Zhang, Ruitong and Ding, Kaize and Chen, Canyu and Peng, Hao and Shu, Kai and Chen, George H. and Jia, Zhihao and Yu, Philip S.},
      journal={arXiv preprint arXiv:2204.12095},
      year={2022}
    }
    @article{liu2022bond,
      title={Bond: Benchmarking unsupervised outlier node detection on static attributed graphs},
      author={Liu, Kay and Dou, Yingtong and Zhao, Yue and Ding, Xueying and Hu, Xiyang and Zhang, Ruitong and Ding, Kaize and Chen, Canyu and Peng, Hao and Shu, Kai and Sun, Lichao and Li, Jundong and Chen, George H. and Jia, Zhihao and Yu, Philip S.},
      journal={Advances in Neural Information Processing Systems},
      volume={35},
      pages={27021--27035},
      year={2022}
    }

or::

    Liu, K., Dou, Y., Zhao, Y., Ding, X., Hu, X., Zhang, R., Ding, K., Chen, C., Peng, H., Shu, K. and Chen, G.H., Jia, Z., and Yu, P.S. 2022. PyGOD: A Python Library for Graph Outlier Detection. arXiv preprint arXiv:2204.12095.
    Liu, K., Dou, Y., Zhao, Y., Ding, X., Hu, X., Zhang, R., Ding, K., Chen, C., Peng, H., Shu, K. and Sun, L., Li, J., Chen, G.H., Jia, Z., and Yu, P.S. 2022. Bond: Benchmarking unsupervised outlier node detection on static attributed graphs. Advances in Neural Information Processing Systems, 35, pp.27021-27035.

----

Installation
^^^^^^^^^^^^

**Note on PyG and PyTorch Installation**\ :
PyGOD depends on `torch <https://https://pytorch.org/get-started/locally/>`_ and `torch_geometric (including its optional dependencies) <https://pytorch-geometric.readthedocs.io/en/latest/install/installation.html#>`_.
To streamline the installation, PyGOD does **NOT** install these libraries for you.
Please install them from the above links for running PyGOD:

* torch>=2.0.0
* torch_geometric>=2.3.0

It is recommended to use **pip** for installation.
Please make sure **the latest version** is installed, as PyGOD is updated frequently:

.. code-block:: bash

   pip install pygod            # normal install
   pip install --upgrade pygod  # or update if needed

Alternatively, you could clone and run setup.py file:

.. code-block:: bash

   git clone https://github.com/pygod-team/pygod.git
   cd pygod
   pip install .

**Required Dependencies**\ :

* python>=3.8
* numpy>=1.24.3
* scikit-learn>=1.2.2
* scipy>=1.10.1
* networkx>=3.1


----


Quick Start for Outlier Detection with PyGOD
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

`"A Blitz Introduction" <https://docs.pygod.org/en/latest/tutorials/1_intro.html#sphx-glr-tutorials-1-intro-py>`_
demonstrates the basic API of PyGOD using the DOMINANT detector. **It is noted that the API across all other algorithms are consistent/similar**.


----


API Cheatsheet & Reference
^^^^^^^^^^^^^^^^^^^^^^^^^^

Full API Reference: (https://docs.pygod.org). API cheatsheet for all detectors:

* **fit(data)**\ : Fit the detector with train data.
* **predict(data)**\ : Predict on test data (train data if not provided) using the fitted detector.

Key Attributes of a fitted detector:

* **decision_score_**\ : The outlier scores of the input data. Outliers tend to have higher scores.
* **label_**\ : The binary labels of the input data. 0 stands for inliers and 1 for outliers.
* **threshold_**\ : The determined threshold for binary classification. Scores above the threshold are outliers.

**Input of PyGOD**: Please pass in a `PyG Data object <https://pytorch-geometric.readthedocs.io/en/latest/generated/torch_geometric.data.Data.html#torch_geometric.data.Data>`_.
See `PyG data processing examples <https://pytorch-geometric.readthedocs.io/en/latest/notes/introduction.html#data-handling-of-graphs>`_.


Implemented Algorithms
^^^^^^^^^^^^^^^^^^^^^^

==================  =====  ===========  ===========  ========================================
Abbr                Year   Backbone     Sampling      Ref
==================  =====  ===========  ===========  ========================================
SCAN                2007   Clustering   No           [#Xu2007Scan]_
GAE                 2016   GNN+AE       Yes          [#Kipf2016Variational]_
Radar               2017   MF           No           [#Li2017Radar]_
ANOMALOUS           2018   MF           No           [#Peng2018Anomalous]_
ONE                 2019   MF           No           [#Bandyopadhyay2019Outlier]_
DOMINANT            2019   GNN+AE       Yes          [#Ding2019Deep]_
DONE                2020   MLP+AE       Yes          [#Bandyopadhyay2020Outlier]_
AdONE               2020   MLP+AE       Yes          [#Bandyopadhyay2020Outlier]_
AnomalyDAE          2020   GNN+AE       Yes          [#Fan2020AnomalyDAE]_
GAAN                2020   GAN          Yes          [#Chen2020Generative]_
DMGD                2020   GNN+AE       Yes          [#Bandyopadhyay2020Integrating]_
OCGNN               2021   GNN          Yes          [#Wang2021One]_
CoLA                2021   GNN+AE+SSL   Yes          [#Liu2021Anomaly]_
GUIDE               2021   GNN+AE       Yes          [#Yuan2021Higher]_
CONAD               2022   GNN+AE+SSL   Yes          [#Xu2022Contrastive]_
GADNR               2024   GNN+AE       Yes          [#Roy2024Gadnr]_
==================  =====  ===========  ===========  ========================================


----

How to Contribute
^^^^^^^^^^^^^^^^^

You are welcome to contribute to this exciting project:

See `contribution guide <https://github.com/pygod-team/pygod/blob/main/CONTRIBUTING.rst>`_ for more information.


----

PyGOD Team
^^^^^^^^^^

PyGOD is a great team effort by researchers from UIC, IIT, BUAA, ASU, and CMU.
Our core team members include:

`Kay Liu (UIC) <https://kayzliu.com/>`_,
`Yingtong Dou (UIC) <http://ytongdou.com/>`_,
`Yue Zhao (CMU) <https://www.andrew.cmu.edu/user/yuezhao2/>`_,
`Xueying Ding (CMU) <https://scholar.google.com/citations?user=U9CMsh0AAAAJ&hl=en>`_,
`Xiyang Hu (CMU) <https://www.andrew.cmu.edu/user/xiyanghu/>`_,
`Ruitong Zhang (BUAA) <https://github.com/pygod-team/pygod>`_,
`Kaize Ding (ASU) <https://www.public.asu.edu/~kding9/>`_,
`Canyu Chen (IIT) <https://github.com/pygod-team/pygod>`_,

Reach out us by submitting an issue report or send an email to dev@pygod.org.

----

Reference
^^^^^^^^^

.. [#Dou2020Enhancing] Dou, Y., Liu, Z., Sun, L., Deng, Y., Peng, H. and Yu, P.S., 2020, October. Enhancing graph neural network-based fraud detectors against camouflaged fraudsters. In Proceedings of the 29th ACM International Conference on Information & Knowledge Management (CIKM).

.. [#Cai2021Structural] Cai, L., Chen, Z., Luo, C., Gui, J., Ni, J., Li, D. and Chen, H., 2021, October. Structural temporal graph neural networks for anomaly detection in dynamic graphs. In Proceedings of the 30th ACM International Conference on Information & Knowledge Management (CIKM).

.. [#Xu2007Scan] Xu, X., Yuruk, N., Feng, Z. and Schweiger, T.A., 2007, August. Scan: a structural clustering algorithm for networks. In Proceedings of the 13th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD).

.. [#Kipf2016Variational] Kipf, T.N. and Welling, M., 2016. Variational graph auto-encoders. arXiv preprint arXiv:1611.07308.

.. [#Li2017Radar] Li, J., Dani, H., Hu, X. and Liu, H., 2017, August. Radar: Residual Analysis for Anomaly Detection in Attributed Networks. In Proceedings of the Twenty-Sixth International Joint Conference on Artificial Intelligence (IJCAI).

.. [#Peng2018Anomalous] Peng, Z., Luo, M., Li, J., Liu, H. and Zheng, Q., 2018, July. ANOMALOUS: A Joint Modeling Approach for Anomaly Detection on Attributed Networks. In Proceedings of the Twenty-Seventh International Joint Conference on Artificial Intelligence (IJCAI).

.. [#Bandyopadhyay2019Outlier] Bandyopadhyay, S., Lokesh, N. and Murty, M.N., 2019, July. Outlier aware network embedding for attributed networks. In Proceedings of the AAAI conference on artificial intelligence (AAAI).

.. [#Ding2019Deep] Ding, K., Li, J., Bhanushali, R. and Liu, H., 2019, May. Deep anomaly detection on attributed networks. In Proceedings of the SIAM International Conference on Data Mining (SDM).

.. [#Bandyopadhyay2020Outlier] Bandyopadhyay, S., Vivek, S.V. and Murty, M.N., 2020, January. Outlier resistant unsupervised deep architectures for attributed network embedding. In Proceedings of the International Conference on Web Search and Data Mining (WSDM).

.. [#Fan2020AnomalyDAE] Fan, H., Zhang, F. and Li, Z., 2020, May. AnomalyDAE: Dual autoencoder for anomaly detection on attributed networks. In Proceedings of the IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP).

.. [#Chen2020Generative] Chen, Z., Liu, B., Wang, M., Dai, P., Lv, J. and Bo, L., 2020, October. Generative adversarial attributed network anomaly detection. In Proceedings of the 29th ACM International Conference on Information & Knowledge Management (CIKM).

.. [#Bandyopadhyay2020Integrating] Bandyopadhyay, S., Vishal Vivek, S. and Murty, M.N., 2020. Integrating network embedding and community outlier detection via multiclass graph description. Frontiers in Artificial Intelligence and Applications, (FAIA).

.. [#Wang2021One] Wang, X., Jin, B., Du, Y., Cui, P., Tan, Y. and Yang, Y., 2021. One-class graph neural networks for anomaly detection in attributed networks. Neural computing and applications.

.. [#Liu2021Anomaly] Liu, Y., Li, Z., Pan, S., Gong, C., Zhou, C. and Karypis, G., 2021. Anomaly detection on attributed networks via contrastive self-supervised learning. IEEE transactions on neural networks and learning systems (TNNLS).

.. [#Yuan2021Higher] Yuan, X., Zhou, N., Yu, S., Huang, H., Chen, Z. and Xia, F., 2021, December. Higher-order Structure Based Anomaly Detection on Attributed Networks. In 2021 IEEE International Conference on Big Data (Big Data).

.. [#Xu2022Contrastive] Xu, Z., Huang, X., Zhao, Y., Dong, Y., and Li, J., 2022. Contrastive Attributed Network Anomaly Detection with Data Augmentation. In Proceedings of the 26th Pacific-Asia Conference on Knowledge Discovery and Data Mining (PAKDD).

.. [#Roy2024Gadnr] Roy, A., Shu, J., Li, J., Yang, C., Elshocht, O., Smeets, J. and Li, P., 2024. GAD-NR: Graph Anomaly Detection via Neighborhood Reconstruction. In Proceedings of the 17th ACM International Conference on Web Search and Data Mining (WSDM).

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/pygod-team/pygod/",
    "name": "pygod",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "outlier detection,anomaly detection,graph mining,data mining,neural networks,graph neural networks",
    "author": "PyGOD Team",
    "author_email": "dev@pygod.org",
    "download_url": "https://files.pythonhosted.org/packages/4a/f5/0a9822e6a7931292e7738b3027e6dbab0e0f37f9364c4e28b11c05c1800b/pygod-1.1.0.tar.gz",
    "platform": null,
    "description": ".. image:: https://raw.githubusercontent.com/pygod-team/pygod/main/docs/pygod_logo.png\n   :width: 1050\n   :alt: PyGOD Logo\n   :align: center\n\n.. image:: https://img.shields.io/pypi/v/pygod.svg?color=brightgreen\n   :target: https://pypi.org/project/pygod/\n   :alt: PyPI version\n\n.. image:: https://readthedocs.org/projects/pygod/badge/?version=latest\n   :target: https://docs.pygod.org/en/latest/?badge=latest\n   :alt: Documentation status\n\n.. image:: https://img.shields.io/github/stars/pygod-team/pygod.svg\n   :target: https://github.com/pygod-team/pygod/stargazers\n   :alt: GitHub stars\n\n.. image:: https://img.shields.io/github/forks/pygod-team/pygod.svg?color=blue\n   :target: https://github.com/pygod-team/pygod/network\n   :alt: GitHub forks\n\n.. image:: https://static.pepy.tech/personalized-badge/pygod?period=total&units=international_system&left_color=grey&right_color=blue&left_text=Downloads\n   :target: https://pepy.tech/project/pygod\n   :alt: PyPI downloads\n\n.. image:: https://github.com/pygod-team/pygod/actions/workflows/testing.yml/badge.svg\n   :target: https://github.com/pygod-team/pygod/actions/workflows/testing.yml\n   :alt: testing\n\n.. image:: https://coveralls.io/repos/github/pygod-team/pygod/badge.svg?branch=main\n   :target: https://coveralls.io/github/pygod-team/pygod?branch=main\n   :alt: Coverage Status\n\n.. image:: https://img.shields.io/github/license/pygod-team/pygod.svg\n   :target: https://github.com/pygod-team/pygod/blob/master/LICENSE\n   :alt: License\n\n\n-----\n\nPyGOD is a **Python library** for **graph outlier detection** (anomaly detection).\nThis exciting yet challenging field has many key applications, e.g., detecting\nsuspicious activities in social networks [#Dou2020Enhancing]_  and security systems [#Cai2021Structural]_.\n\nPyGOD includes **10+** graph outlier detection algorithms.\nFor consistency and accessibility, PyGOD is developed on top of `PyTorch Geometric (PyG) <https://www.pyg.org/>`_\nand `PyTorch <https://pytorch.org/>`_, and follows the API design of `PyOD <https://github.com/yzhao062/pyod>`_.\nSee examples below for detecting outliers with PyGOD in 5 lines!\n\n\n**PyGOD is featured for**:\n\n* **Unified APIs, detailed documentation, and interactive examples** across various graph-based algorithms.\n* **Comprehensive coverage** of 10+ graph outlier detectors.\n* **Full support of detections at multiple levels**, such as node-, edge-, and graph-level tasks.\n* **Scalable design for processing large graphs** via mini-batch and sampling.\n* **Streamline data processing with PyG**--fully compatible with PyG data objects.\n\n**Outlier Detection Using PyGOD with 5 Lines of Code**\\ :\n\n.. code-block:: python\n\n\n    # train a dominant detector\n    from pygod.detector import DOMINANT\n\n    model = DOMINANT(num_layers=4, epoch=20)  # hyperparameters can be set here\n    model.fit(train_data)  # input data is a PyG data object\n\n    # get outlier scores on the training data (transductive setting)\n    score = model.decision_score_\n\n    # predict labels and scores on the testing data (inductive setting)\n    pred, score = model.predict(test_data, return_score=True)\n\n\n**Citing PyGOD**\\ :\n\nOur `software paper <https://arxiv.org/abs/2204.12095>`_ and `benchmark paper <https://proceedings.neurips.cc/paper_files/paper/2022/hash/acc1ec4a9c780006c9aafd595104816b-Abstract-Datasets_and_Benchmarks.html>`_ are publicly available.\nIf you use PyGOD or BOND in a scientific publication, we would appreciate citations to the following papers::\n\n    @article{liu2022pygod,\n      title={PyGOD: A Python Library for Graph Outlier Detection},\n      author={Liu, Kay and Dou, Yingtong and Zhao, Yue and Ding, Xueying and Hu, Xiyang and Zhang, Ruitong and Ding, Kaize and Chen, Canyu and Peng, Hao and Shu, Kai and Chen, George H. and Jia, Zhihao and Yu, Philip S.},\n      journal={arXiv preprint arXiv:2204.12095},\n      year={2022}\n    }\n    @article{liu2022bond,\n      title={Bond: Benchmarking unsupervised outlier node detection on static attributed graphs},\n      author={Liu, Kay and Dou, Yingtong and Zhao, Yue and Ding, Xueying and Hu, Xiyang and Zhang, Ruitong and Ding, Kaize and Chen, Canyu and Peng, Hao and Shu, Kai and Sun, Lichao and Li, Jundong and Chen, George H. and Jia, Zhihao and Yu, Philip S.},\n      journal={Advances in Neural Information Processing Systems},\n      volume={35},\n      pages={27021--27035},\n      year={2022}\n    }\n\nor::\n\n    Liu, K., Dou, Y., Zhao, Y., Ding, X., Hu, X., Zhang, R., Ding, K., Chen, C., Peng, H., Shu, K. and Chen, G.H., Jia, Z., and Yu, P.S. 2022. PyGOD: A Python Library for Graph Outlier Detection. arXiv preprint arXiv:2204.12095.\n    Liu, K., Dou, Y., Zhao, Y., Ding, X., Hu, X., Zhang, R., Ding, K., Chen, C., Peng, H., Shu, K. and Sun, L., Li, J., Chen, G.H., Jia, Z., and Yu, P.S. 2022. Bond: Benchmarking unsupervised outlier node detection on static attributed graphs. Advances in Neural Information Processing Systems, 35, pp.27021-27035.\n\n----\n\nInstallation\n^^^^^^^^^^^^\n\n**Note on PyG and PyTorch Installation**\\ :\nPyGOD depends on `torch <https://https://pytorch.org/get-started/locally/>`_ and `torch_geometric (including its optional dependencies) <https://pytorch-geometric.readthedocs.io/en/latest/install/installation.html#>`_.\nTo streamline the installation, PyGOD does **NOT** install these libraries for you.\nPlease install them from the above links for running PyGOD:\n\n* torch>=2.0.0\n* torch_geometric>=2.3.0\n\nIt is recommended to use **pip** for installation.\nPlease make sure **the latest version** is installed, as PyGOD is updated frequently:\n\n.. code-block:: bash\n\n   pip install pygod            # normal install\n   pip install --upgrade pygod  # or update if needed\n\nAlternatively, you could clone and run setup.py file:\n\n.. code-block:: bash\n\n   git clone https://github.com/pygod-team/pygod.git\n   cd pygod\n   pip install .\n\n**Required Dependencies**\\ :\n\n* python>=3.8\n* numpy>=1.24.3\n* scikit-learn>=1.2.2\n* scipy>=1.10.1\n* networkx>=3.1\n\n\n----\n\n\nQuick Start for Outlier Detection with PyGOD\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n`\"A Blitz Introduction\" <https://docs.pygod.org/en/latest/tutorials/1_intro.html#sphx-glr-tutorials-1-intro-py>`_\ndemonstrates the basic API of PyGOD using the DOMINANT detector. **It is noted that the API across all other algorithms are consistent/similar**.\n\n\n----\n\n\nAPI Cheatsheet & Reference\n^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nFull API Reference: (https://docs.pygod.org). API cheatsheet for all detectors:\n\n* **fit(data)**\\ : Fit the detector with train data.\n* **predict(data)**\\ : Predict on test data (train data if not provided) using the fitted detector.\n\nKey Attributes of a fitted detector:\n\n* **decision_score_**\\ : The outlier scores of the input data. Outliers tend to have higher scores.\n* **label_**\\ : The binary labels of the input data. 0 stands for inliers and 1 for outliers.\n* **threshold_**\\ : The determined threshold for binary classification. Scores above the threshold are outliers.\n\n**Input of PyGOD**: Please pass in a `PyG Data object <https://pytorch-geometric.readthedocs.io/en/latest/generated/torch_geometric.data.Data.html#torch_geometric.data.Data>`_.\nSee `PyG data processing examples <https://pytorch-geometric.readthedocs.io/en/latest/notes/introduction.html#data-handling-of-graphs>`_.\n\n\nImplemented Algorithms\n^^^^^^^^^^^^^^^^^^^^^^\n\n==================  =====  ===========  ===========  ========================================\nAbbr                Year   Backbone     Sampling      Ref\n==================  =====  ===========  ===========  ========================================\nSCAN                2007   Clustering   No           [#Xu2007Scan]_\nGAE                 2016   GNN+AE       Yes          [#Kipf2016Variational]_\nRadar               2017   MF           No           [#Li2017Radar]_\nANOMALOUS           2018   MF           No           [#Peng2018Anomalous]_\nONE                 2019   MF           No           [#Bandyopadhyay2019Outlier]_\nDOMINANT            2019   GNN+AE       Yes          [#Ding2019Deep]_\nDONE                2020   MLP+AE       Yes          [#Bandyopadhyay2020Outlier]_\nAdONE               2020   MLP+AE       Yes          [#Bandyopadhyay2020Outlier]_\nAnomalyDAE          2020   GNN+AE       Yes          [#Fan2020AnomalyDAE]_\nGAAN                2020   GAN          Yes          [#Chen2020Generative]_\nDMGD                2020   GNN+AE       Yes          [#Bandyopadhyay2020Integrating]_\nOCGNN               2021   GNN          Yes          [#Wang2021One]_\nCoLA                2021   GNN+AE+SSL   Yes          [#Liu2021Anomaly]_\nGUIDE               2021   GNN+AE       Yes          [#Yuan2021Higher]_\nCONAD               2022   GNN+AE+SSL   Yes          [#Xu2022Contrastive]_\nGADNR               2024   GNN+AE       Yes          [#Roy2024Gadnr]_\n==================  =====  ===========  ===========  ========================================\n\n\n----\n\nHow to Contribute\n^^^^^^^^^^^^^^^^^\n\nYou are welcome to contribute to this exciting project:\n\nSee `contribution guide <https://github.com/pygod-team/pygod/blob/main/CONTRIBUTING.rst>`_ for more information.\n\n\n----\n\nPyGOD Team\n^^^^^^^^^^\n\nPyGOD is a great team effort by researchers from UIC, IIT, BUAA, ASU, and CMU.\nOur core team members include:\n\n`Kay Liu (UIC) <https://kayzliu.com/>`_,\n`Yingtong Dou (UIC) <http://ytongdou.com/>`_,\n`Yue Zhao (CMU) <https://www.andrew.cmu.edu/user/yuezhao2/>`_,\n`Xueying Ding (CMU) <https://scholar.google.com/citations?user=U9CMsh0AAAAJ&hl=en>`_,\n`Xiyang Hu (CMU) <https://www.andrew.cmu.edu/user/xiyanghu/>`_,\n`Ruitong Zhang (BUAA) <https://github.com/pygod-team/pygod>`_,\n`Kaize Ding (ASU) <https://www.public.asu.edu/~kding9/>`_,\n`Canyu Chen (IIT) <https://github.com/pygod-team/pygod>`_,\n\nReach out us by submitting an issue report or send an email to dev@pygod.org.\n\n----\n\nReference\n^^^^^^^^^\n\n.. [#Dou2020Enhancing] Dou, Y., Liu, Z., Sun, L., Deng, Y., Peng, H. and Yu, P.S., 2020, October. Enhancing graph neural network-based fraud detectors against camouflaged fraudsters. In Proceedings of the 29th ACM International Conference on Information & Knowledge Management (CIKM).\n\n.. [#Cai2021Structural] Cai, L., Chen, Z., Luo, C., Gui, J., Ni, J., Li, D. and Chen, H., 2021, October. Structural temporal graph neural networks for anomaly detection in dynamic graphs. In Proceedings of the 30th ACM International Conference on Information & Knowledge Management (CIKM).\n\n.. [#Xu2007Scan] Xu, X., Yuruk, N., Feng, Z. and Schweiger, T.A., 2007, August. Scan: a structural clustering algorithm for networks. In Proceedings of the 13th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD).\n\n.. [#Kipf2016Variational] Kipf, T.N. and Welling, M., 2016. Variational graph auto-encoders. arXiv preprint arXiv:1611.07308.\n\n.. [#Li2017Radar] Li, J., Dani, H., Hu, X. and Liu, H., 2017, August. Radar: Residual Analysis for Anomaly Detection in Attributed Networks. In Proceedings of the Twenty-Sixth International Joint Conference on Artificial Intelligence (IJCAI).\n\n.. [#Peng2018Anomalous] Peng, Z., Luo, M., Li, J., Liu, H. and Zheng, Q., 2018, July. ANOMALOUS: A Joint Modeling Approach for Anomaly Detection on Attributed Networks. In Proceedings of the Twenty-Seventh International Joint Conference on Artificial Intelligence (IJCAI).\n\n.. [#Bandyopadhyay2019Outlier] Bandyopadhyay, S., Lokesh, N. and Murty, M.N., 2019, July. Outlier aware network embedding for attributed networks. In Proceedings of the AAAI conference on artificial intelligence (AAAI).\n\n.. [#Ding2019Deep] Ding, K., Li, J., Bhanushali, R. and Liu, H., 2019, May. Deep anomaly detection on attributed networks. In Proceedings of the SIAM International Conference on Data Mining (SDM).\n\n.. [#Bandyopadhyay2020Outlier] Bandyopadhyay, S., Vivek, S.V. and Murty, M.N., 2020, January. Outlier resistant unsupervised deep architectures for attributed network embedding. In Proceedings of the International Conference on Web Search and Data Mining (WSDM).\n\n.. [#Fan2020AnomalyDAE] Fan, H., Zhang, F. and Li, Z., 2020, May. AnomalyDAE: Dual autoencoder for anomaly detection on attributed networks. In Proceedings of the IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP).\n\n.. [#Chen2020Generative] Chen, Z., Liu, B., Wang, M., Dai, P., Lv, J. and Bo, L., 2020, October. Generative adversarial attributed network anomaly detection. In Proceedings of the 29th ACM International Conference on Information & Knowledge Management (CIKM).\n\n.. [#Bandyopadhyay2020Integrating] Bandyopadhyay, S., Vishal Vivek, S. and Murty, M.N., 2020. Integrating network embedding and community outlier detection via multiclass graph description. Frontiers in Artificial Intelligence and Applications, (FAIA).\n\n.. [#Wang2021One] Wang, X., Jin, B., Du, Y., Cui, P., Tan, Y. and Yang, Y., 2021. One-class graph neural networks for anomaly detection in attributed networks. Neural computing and applications.\n\n.. [#Liu2021Anomaly] Liu, Y., Li, Z., Pan, S., Gong, C., Zhou, C. and Karypis, G., 2021. Anomaly detection on attributed networks via contrastive self-supervised learning. IEEE transactions on neural networks and learning systems (TNNLS).\n\n.. [#Yuan2021Higher] Yuan, X., Zhou, N., Yu, S., Huang, H., Chen, Z. and Xia, F., 2021, December. Higher-order Structure Based Anomaly Detection on Attributed Networks. In 2021 IEEE International Conference on Big Data (Big Data).\n\n.. [#Xu2022Contrastive] Xu, Z., Huang, X., Zhao, Y., Dong, Y., and Li, J., 2022. Contrastive Attributed Network Anomaly Detection with Data Augmentation. In Proceedings of the 26th Pacific-Asia Conference on Knowledge Discovery and Data Mining (PAKDD).\n\n.. [#Roy2024Gadnr] Roy, A., Shu, J., Li, J., Yang, C., Elshocht, O., Smeets, J. and Li, P., 2024. GAD-NR: Graph Anomaly Detection via Neighborhood Reconstruction. In Proceedings of the 17th ACM International Conference on Web Search and Data Mining (WSDM).\n",
    "bugtrack_url": null,
    "license": "BSD-2",
    "summary": "A Python Library for Graph Outlier Detection (Anomaly Detection)",
    "version": "1.1.0",
    "project_urls": {
        "Download": "https://github.com/pygod-team/pygod/archive/main.zip",
        "Homepage": "https://github.com/pygod-team/pygod/"
    },
    "split_keywords": [
        "outlier detection",
        "anomaly detection",
        "graph mining",
        "data mining",
        "neural networks",
        "graph neural networks"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "61f71a7d1f5e621475fb70d6d284fc3c432df6702bf59d86e8c61fa7d14e02d7",
                "md5": "0d0330bcb65294bbfe6236d886fcbc0a",
                "sha256": "58404d0dfc2bcc32951b226247587432b94fc63779a46d53799fd46625f858a2"
            },
            "downloads": -1,
            "filename": "pygod-1.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "0d0330bcb65294bbfe6236d886fcbc0a",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 86826,
            "upload_time": "2024-02-04T21:25:16",
            "upload_time_iso_8601": "2024-02-04T21:25:16.070461Z",
            "url": "https://files.pythonhosted.org/packages/61/f7/1a7d1f5e621475fb70d6d284fc3c432df6702bf59d86e8c61fa7d14e02d7/pygod-1.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4af50a9822e6a7931292e7738b3027e6dbab0e0f37f9364c4e28b11c05c1800b",
                "md5": "ec950de37ebcf09b652182bd68c63b29",
                "sha256": "a9afd0db3a55b3ff20d24212cf85381db356456d6e21ba1f9687daf3619c5b36"
            },
            "downloads": -1,
            "filename": "pygod-1.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "ec950de37ebcf09b652182bd68c63b29",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 55125,
            "upload_time": "2024-02-04T21:25:17",
            "upload_time_iso_8601": "2024-02-04T21:25:17.993938Z",
            "url": "https://files.pythonhosted.org/packages/4a/f5/0a9822e6a7931292e7738b3027e6dbab0e0f37f9364c4e28b11c05c1800b/pygod-1.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-02-04 21:25:17",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "pygod-team",
    "github_project": "pygod",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "pygod"
}
        
Elapsed time: 0.19433s