GraphLearning
Python package for graph-based clustering and semi-supervised learning
Install / Use
/learn @jwcalder/GraphLearningREADME
Graph-based Clustering and Semi-Supervised Learning

This python package is devoted to efficient implementations of modern graph-based learning algorithms for semi-supervised learning, active learning, and clustering. The package implements many popular datasets (currently MNIST, FashionMNIST, and CIFAR-10) in a way that makes it simple for users to test out new algorithms and rapidly compare against existing methods. Full documentation is available, including detailed example scripts.
This package also reproduces experiments from the paper
J. Calder, B. Cook, M. Thorpe, D. Slepcev. Poisson Learning: Graph Based Semi-Supervised Learning at Very Low Label Rates., Proceedings of the 37th International Conference on Machine Learning, PMLR 119:1306-1316, 2020.
Important: The variational autoencoder embedding (VAE) for MNIST has been improved since our ICML paper was published. To make this more clear, I have now updated the package so that metric=vae is the old VAE from our ICML paper, while metric=vae2 is the new updated VAE, which gives better results. Please note which one you are using to make comparisons. Note that in a previous version of the package, I used vae_old in place of vae and vae instead of vae2.
Installation
Install with
pip install graphlearning
Required packages will be installed automatically, and include numpy, scipy, sklearn, and matplotlib. Some features in the package rely on other packages, including annoy for approximate nearest neighbor searches, and torch for GPU acceleration. You will have to install these manually, if needed, with
pip install annoy torch
It can be difficult to install annoy, depending on your operating system.
To install the most recent version of GraphLearning from the github source, which is updated more frequently, run
git clone https://github.com/jwcalder/GraphLearning
cd GraphLearning
pip install .
If you prefer to use ssh swap the first line with
git clone git@github.com:jwcalder/GraphLearning.git
Documentation and Examples
Full documentation for the package is available here. The documentation includes examples of how to use the package. All example scripts linked from the documentation can be found in the examples folder.
Older versions of GraphLearning
This repository hosts the current version of the package, which is numbered >=1.0.0. This version is not backwards compatible with earlier versions of the package. The old version is archived here and can be installed with
pip install graphlearning==0.0.3
To make sure you will load the old version when running import graphlearning, it may be necessary to uninstall all existing versions pip uninstall graphlearning before running the installation command above.
Citations
If you use this package in your research, please cite the package with the bibtex entry below.
@software{graphlearning,
author = {Jeff Calder},
title = {GraphLearning Python Package},
month = jan,
year = 2022,
publisher = {Zenodo},
doi = {10.5281/zenodo.5850940},
url = {https://doi.org/10.5281/zenodo.5850940}
}
Contact and questions
Email jwcalder@umn.edu with any questions or comments.
Acknowledgments
Several people have contributed to the development of this software:
- Mauricio Rios Flores (Machine Learning Researcher, Amazon)
- Brendan Cook (PhD Candidate in Mathematics, University of Minnesota)
- Matt Jacobs (Postdoc, UCLA)
- Mahmood Ettehad (Postdoc, IMA)
- Jason Setiadi
- Kevin Miller (Postdoc, Oden Institute)
Related Skills
proje
Interactive vocabulary learning platform with smart flashcards and spaced repetition for effective language acquisition.
YC-Killer
2.7kA library of enterprise-grade AI agents designed to democratize artificial intelligence and provide free, open-source alternatives to overvalued Y Combinator startups. If you are excited about democratizing AI access & AI agents, please star ⭐️ this repository and use the link in the readme to join our open source AI research team.
best-practices-researcher
The most comprehensive Claude Code skills registry | Web Search: https://skills-registry-web.vercel.app
research_rules
Research & Verification Rules Quote Verification Protocol Primary Task "Make sure that the quote is relevant to the chapter and so you we want to make sure that we want to have it identifie
