Skip to main content

Python package for graph-based clustering and semi-supervised learning

Project description

Graph-based Clustering and Semi-Supervised Learning

Clustering

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) has been improved since our ICML paper was published. If you wish to load the VAE graph or data from that paper use metric=vae_old instead of metric=vae.

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:

  1. Mauricio Rios Flores (Machine Learning Researcher, Amazon)
  2. Brendan Cook (PhD Candidate in Mathematics, University of Minnesota)
  3. Matt Jacobs (Postdoc, UCLA)
  4. Mahmood Ettehad (Postdoc, IMA)
  5. Jason Setiadi
  6. Kevin Miller (Postdoc, Oden Institute)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

graphlearning-1.7.2.tar.gz (93.2 kB view details)

Uploaded Source

Built Distributions

graphlearning-1.7.2-cp312-cp312-win_amd64.whl (111.5 kB view details)

Uploaded CPython 3.12Windows x86-64

graphlearning-1.7.2-cp312-cp312-macosx_10_13_universal2.whl (188.7 kB view details)

Uploaded CPython 3.12macOS 10.13+ universal2 (ARM64, x86-64)

graphlearning-1.7.2-cp311-cp311-win_amd64.whl (111.5 kB view details)

Uploaded CPython 3.11Windows x86-64

graphlearning-1.7.2-cp311-cp311-macosx_10_9_universal2.whl (188.3 kB view details)

Uploaded CPython 3.11macOS 10.9+ universal2 (ARM64, x86-64)

graphlearning-1.7.2-cp310-cp310-win_amd64.whl (111.5 kB view details)

Uploaded CPython 3.10Windows x86-64

graphlearning-1.7.2-cp310-cp310-macosx_10_9_universal2.whl (188.3 kB view details)

Uploaded CPython 3.10macOS 10.9+ universal2 (ARM64, x86-64)

graphlearning-1.7.2-cp39-cp39-win_amd64.whl (111.5 kB view details)

Uploaded CPython 3.9Windows x86-64

graphlearning-1.7.2-cp39-cp39-macosx_10_9_universal2.whl (188.3 kB view details)

Uploaded CPython 3.9macOS 10.9+ universal2 (ARM64, x86-64)

graphlearning-1.7.2-cp38-cp38-win_amd64.whl (111.4 kB view details)

Uploaded CPython 3.8Windows x86-64

graphlearning-1.7.2-cp38-cp38-macosx_11_0_universal2.whl (188.4 kB view details)

Uploaded CPython 3.8macOS 11.0+ universal2 (ARM64, x86-64)

File details

Details for the file graphlearning-1.7.2.tar.gz.

File metadata

  • Download URL: graphlearning-1.7.2.tar.gz
  • Upload date:
  • Size: 93.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for graphlearning-1.7.2.tar.gz
Algorithm Hash digest
SHA256 0735ffcc5beacdfc7e72487c886c0fb631cc6bd892dffdd6c593517895047dc5
MD5 44dbc6565f8c9fad6d602f46bdd7664d
BLAKE2b-256 08c4ec27dbd15690da256f817fccb4348c87dbf1464ad3709e606582ffba3793

See more details on using hashes here.

File details

Details for the file graphlearning-1.7.2-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for graphlearning-1.7.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 b8896d76f22acc31b2394352ff45c5d5df0d0cf443818b6dec6b5bdcbbf46702
MD5 4815334f8eda04b0545eb47731b7fe5e
BLAKE2b-256 ffc43ad11ff6453f94c08a1466801a7d85f2c2591921a07a0be6bfd475bf3767

See more details on using hashes here.

File details

Details for the file graphlearning-1.7.2-cp312-cp312-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for graphlearning-1.7.2-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 6b345662df14146d113eb3080de590c3456fbd7d5bd58193664ca9e47a9211f1
MD5 6c95066d0864b79071b2cd397bc5320e
BLAKE2b-256 ebaa447bf060ba41b365c26108bc8f65a4a49121d7efe5f7227b71320002b1f3

See more details on using hashes here.

File details

Details for the file graphlearning-1.7.2-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for graphlearning-1.7.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 731bfe9a619a726b6b3b5284afa7d19fe9f1406c54fccb9d31462580d3b8396f
MD5 0cdd15574b494fdda7e9c6de62869629
BLAKE2b-256 cac91199a53e2e256a06c57d9334a2f01a7c9785029e4fec0660790f6ffe9f3c

See more details on using hashes here.

File details

Details for the file graphlearning-1.7.2-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for graphlearning-1.7.2-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 ffefbb4fd2288de1590b42db16257017071cbfbf9edf755690e28bac64d5a331
MD5 647654d43191ad1c064d009d77cff4ac
BLAKE2b-256 f9bb11e5ec833a6739d09785dc1add5fc4353304d1ca3aaf8058a9f9de41e06e

See more details on using hashes here.

File details

Details for the file graphlearning-1.7.2-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for graphlearning-1.7.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 fd0e42b758208656b4b9d505979b2de291c43470675f15648239f54df995d0d6
MD5 e215ed2ea5d22d02e9497e240c8d012a
BLAKE2b-256 361a2d5f7526259a293bcd9e71ec5ddf748cee88f4e245fee1102e734de7b3da

See more details on using hashes here.

File details

Details for the file graphlearning-1.7.2-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for graphlearning-1.7.2-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 d9337d6a6f323283622c688364645aacd38df75ee1a84f34a7ea067b181003f8
MD5 62afb0e90a9679a631ccaff646da8b21
BLAKE2b-256 f4216c8753e5dcffa9d7310fe32f4dd14f77e284615c0f4d6e36de2c36a59c33

See more details on using hashes here.

File details

Details for the file graphlearning-1.7.2-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for graphlearning-1.7.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 4af2c2cc0fd953aad3675584dd64ef40367976405d2a5f79652988c3a01a0421
MD5 cbae275914dad6ea7a3473c26fbbe9ac
BLAKE2b-256 54bc902df375050538618abf4d4d4eb0674cf60f410c00595c40cec1fdaa8eee

See more details on using hashes here.

File details

Details for the file graphlearning-1.7.2-cp39-cp39-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for graphlearning-1.7.2-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 0dc9af6b7e6063135feaeb9f48cb5a3eb1ad4c140b2a61b0d416a09f9f5515f4
MD5 17ed0d2484dbeec2ab95149def18ef53
BLAKE2b-256 9c125a3469045367e04683ad77cb4cdcbff77c136301650125bab86a5503b299

See more details on using hashes here.

File details

Details for the file graphlearning-1.7.2-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for graphlearning-1.7.2-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 d449174455860e00fefbb430758fcb6534ea3624d9997ba77d3be0aa1afc5085
MD5 0cf703d334904c4b30f6c99038f1c0de
BLAKE2b-256 10a20a03224ad6cd152b6039eb21c9b01fd973db7a4f7cc7cdf2761ff2ffa927

See more details on using hashes here.

File details

Details for the file graphlearning-1.7.2-cp38-cp38-macosx_11_0_universal2.whl.

File metadata

File hashes

Hashes for graphlearning-1.7.2-cp38-cp38-macosx_11_0_universal2.whl
Algorithm Hash digest
SHA256 563b6e2ecb0350e2dfb6ec19df28e757d299a356e28c2a47c77d819790d73878
MD5 7ddc4bba6333e9686aa80906e5ff4114
BLAKE2b-256 2c5dd23e60d812bd3b882b605aa6cef79174f9f444af8975d5b9cc43b9282fd4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page