This repository contains the scripts that generate the main figures reported in the paper:
Hanbaek Lyu, Yacoub Kureh, Joshua Vendrow, and Mason A. Porter,
"Learning low-rank latent mesoscale structures in networks" (arXiv 2021)
Note (08/16/2022): There has been a major revision to the paper as well as to the algorithms. This change has not been reflected to the pypi version.
For a more user-friendly repository, please see NDL package repository.
Our code is also available as the python package ndlearn on pypi.
First add network files for UCLA, Caltech, MIT, Harvard to Data/Networks_all_NDL
Ref: Amanda L. Traud, Eric D. Kelsic, Peter J. Mucha, and Mason A. Porter,
Comparing community structure tocharacteristics in online collegiate social networks. SIAM Review, 53:526–543, 2011.
Then copy & paste the ipynb notebook files into the main folder. Run each Jupyter notebook and see the instructions therein.
- utils.ndl.py : main Network Dictionary Learning (NDL) and Network Reconstruction and Denoising (NDR) functions.
- utils.onmf.py: Online Nonnegative Matrix Factorization algorithms (see https://github.com/HanbaekLyu/ONMF_ONTF_NDL)
- helper_functions.final_plots_display.py: helper functions for making plots
- helper_functions.helper_functions.py: helper functions for plotting and auxiliary computation
- **helper_functions.link_prediction.py: Script for network denoising benchmark experiments
- **helper_functions.NDL_generate_dictionary.py: Script for generating all network dictionaries for all networks used in the paper
- **helper_functions.link_prediction.py: Script for network denoising benchmark experiments
- **helper_functions.node2vec_helper.py: Script for using node2vec for network denoising experiments
- **helper_functions.node2vec.py: original node2vec wrapper reformatted
- Hanbaek Lyu - Initial work - Website
- Yakoub Kureh - Initial work - Website
- Joshua Vendrow - Initial work - Website
- Mason A. Porter - Initial work - Website
This project is licensed under the MIT License - see the LICENSE.md file for details