Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/abojchevski/paican
Implementation of "Bayesian Robust Attributed Graph Clustering: Joint Learning of Partial Anomalies and Group Structure".
https://github.com/abojchevski/paican
anomalies bayesian clustering community-detection graphs robust tensorflow
Last synced: about 1 month ago
JSON representation
Implementation of "Bayesian Robust Attributed Graph Clustering: Joint Learning of Partial Anomalies and Group Structure".
- Host: GitHub
- URL: https://github.com/abojchevski/paican
- Owner: abojchevski
- License: mit
- Created: 2018-04-04T14:38:05.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2020-05-05T19:18:25.000Z (over 4 years ago)
- Last Synced: 2024-06-10T04:38:02.134Z (6 months ago)
- Topics: anomalies, bayesian, clustering, community-detection, graphs, robust, tensorflow
- Language: Python
- Homepage: https://www.kdd.in.tum.de/paican
- Size: 6.99 MB
- Stars: 24
- Watchers: 2
- Forks: 13
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-community-detection - [Python Reference
README
# Paican
Tensorflow implementation of the method proposed in the paper: "Bayesian Robust Attributed Graph Clustering: Joint Learning of Partial Anomalies and Group Structure", Aleksandar Bojchevski and Stephan Günnemann, AAAI 2018.
## Installation
```bash
python setup.py install
```## Requirements
* tensorflow (>=1.4, <=2.0)
* sklearn (only for evaluation)Note: If you are using tensorflow >=2.0 you can stull run the above code by replacing the tensorflow import with
```
import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()
```
and changing `tf.contrib.distributions` to `tf.distributions`.## Data
Each of the dataset folders consists of the following files:* A.mtx - the adjacency matrix in scipy's sparse csr_matrix format
* X.mtx - the attribute matrix in scipy's sparse csr_matrix format
* feature_to_index.npy - a dictionary mapping a feature label to index (e.g. 'neurology' -> 5)
* node_to_index.npy - a dictionary mapping a node label (e.g name of a person or paper ID) to index
* z.npy - ground truth clusters if available
* label_to_cluster.npy - a dictionary mapping a label (e.g. journal, party) to cluster index## Demo
* See the notebook example.ipynb for a simple demo.
* Visit [our website](https://www.kdd.in.tum.de/paican) for an interactive plot that shows the inferred clustering on a subset of the Amazon dataset.## Cite
Please cite our paper if you use this code in your own work.