All Projects → snap-stanford → Graphwave

snap-stanford / Graphwave

Projects that are alternatives of or similar to Graphwave

Data Science Question Answer
A repo for data science related questions and answers
Stars: ✭ 2,000 (+1288.89%)
Mutual labels:  jupyter-notebook
Pubtabnet
Stars: ✭ 143 (-0.69%)
Mutual labels:  jupyter-notebook
Alphatrading
An workflow in factor-based equity trading, including factor analysis and factor modeling. For well-established factor models, I implement APT model, BARRA's risk model and dynamic multi-factor model in this project.
Stars: ✭ 144 (+0%)
Mutual labels:  jupyter-notebook
Main
CS579: Online Social Network Analysis at the Illinois Institute of Technology
Stars: ✭ 143 (-0.69%)
Mutual labels:  jupyter-notebook
Desafio 2 2020
Stars: ✭ 144 (+0%)
Mutual labels:  jupyter-notebook
Fall2018 Tutorials
Tutorials for Fall 2018
Stars: ✭ 144 (+0%)
Mutual labels:  jupyter-notebook
Visualizing cnns
Using Keras and cats to visualize layers from CNNs
Stars: ✭ 143 (-0.69%)
Mutual labels:  jupyter-notebook
Pymc3 models
Stars: ✭ 144 (+0%)
Mutual labels:  jupyter-notebook
Pytorch tutorial
A set of jupyter notebooks on pytorch functions with examples
Stars: ✭ 142 (-1.39%)
Mutual labels:  jupyter-notebook
Face Recognition
Face recognition and its application as attendance system
Stars: ✭ 143 (-0.69%)
Mutual labels:  jupyter-notebook
Gp
A tutorial about Gaussian process regression
Stars: ✭ 141 (-2.08%)
Mutual labels:  jupyter-notebook
Diy Alexa
Command recognition research
Stars: ✭ 143 (-0.69%)
Mutual labels:  jupyter-notebook
Machinelearning
【火炉炼AI】-机器学习系列文章
Stars: ✭ 144 (+0%)
Mutual labels:  jupyter-notebook
Complete Python Bootcamp
Lectures for Udemy - Complete Python Bootcamp Course
Stars: ✭ 1,879 (+1204.86%)
Mutual labels:  jupyter-notebook
Unet
U-Net Biomedical Image Segmentation
Stars: ✭ 144 (+0%)
Mutual labels:  jupyter-notebook
Practicalai Cn
AI实战-practicalAI 中文版
Stars: ✭ 2,375 (+1549.31%)
Mutual labels:  jupyter-notebook
Math Formula Recognition
Math formula recognition (Images to LaTeX strings)
Stars: ✭ 144 (+0%)
Mutual labels:  jupyter-notebook
Python camp
python code for pratice
Stars: ✭ 144 (+0%)
Mutual labels:  jupyter-notebook
Multihead Siamese Nets
Implementation of Siamese Neural Networks built upon multihead attention mechanism for text semantic similarity task.
Stars: ✭ 144 (+0%)
Mutual labels:  jupyter-notebook
Elmo Tutorial
A short tutorial on Elmo training (Pre trained, Training on new data, Incremental training)
Stars: ✭ 145 (+0.69%)
Mutual labels:  jupyter-notebook

GraphWave

Spectral Wavelets for learning structural signatures in complex networks

This folder contains the code for GraphWave, an algorithm for computing structural signatures for nodes in a network using heat spectral wavelets. This code folder is organized as follows:

  • shapes/: contains the functions for generating (more or less) regular graphs and shapes
  • performance_evaluation/: functions computing different metrics for assessing the quality of the embeddings generated by GraphWave
  • test_perturbation_synthetic/: set of ipython notebooks for running the synthetic experiments described in the paper.
  • utils/: set of helper functions
  • files:
    • characteristic_functions.py: functions for computing the characteristic functions.
    • graphwave.py: wrapper function for computing the embeddings.

 

 

Prerequisites

GraphWave was written for Python 2.7 and requires the installation of the following Python libraries:

  • networkx: allows easy manipulation and plotting of graph objects (more information in the Networkx website).
  • pyemd: module for computing Earth Mover distances (for trying out other distances between diffusion distributions. More information in the pyemd website)

Also, need standard packages: scipy, sklearn, seaborn for analyzing and plotting results.

Note: heat diffusion scaling wavelets can also be computed with the Graph Signal Processing toolbox pygsp (accessible through the EPFL website ), which, beyond structural similarities, has plenty of extremely useful features for handling signals on graphs.

 

 

Running Graphwave

A full example on how to use GraphWave is provided in the ''Using GraphWave.ipynb" of this directory. In a nutshell:

  • input: nx (or pygsp) Graph structure
  • compute the heat wavelets
  • embed the distributions in Euclidean space using the characteristic function
  • output: signatures, which can be used in one's favorite Machine Learning framework.

For a given graph G (of type pygsp or nx),GraphWave structural signatures can be simply computing by calling:

>from graphwave import graphwave

>chi,heat_print, taus=graphwave_alg(G, 'automatic', verbose=False)

Authors

  • Anonymous at this time

Acknowledgements

We would like to thank the authors of struc2vec for the open access of the implementation of their method, as well as Lab41 for its open-access implementation of RolX.

License

This project is licensed under the MIT License - see the LICENSE.md file for details

=======

graphwave

5d0c25e5cc6baee37b445b1c0d232dc0d7e43e52

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].