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) 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:

  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.5.tar.gz (93.7 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

graphlearning-1.7.5-cp312-cp312-win_amd64.whl (112.2 kB view details)

Uploaded CPython 3.12Windows x86-64

graphlearning-1.7.5-cp312-cp312-macosx_10_13_universal2.whl (182.9 kB view details)

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

graphlearning-1.7.5-cp311-cp311-win_amd64.whl (112.1 kB view details)

Uploaded CPython 3.11Windows x86-64

graphlearning-1.7.5-cp311-cp311-macosx_10_9_universal2.whl (182.8 kB view details)

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

graphlearning-1.7.5-cp310-cp310-win_amd64.whl (112.1 kB view details)

Uploaded CPython 3.10Windows x86-64

graphlearning-1.7.5-cp310-cp310-macosx_10_9_universal2.whl (182.8 kB view details)

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

graphlearning-1.7.5-cp39-cp39-win_amd64.whl (112.1 kB view details)

Uploaded CPython 3.9Windows x86-64

graphlearning-1.7.5-cp39-cp39-macosx_10_9_universal2.whl (182.8 kB view details)

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

graphlearning-1.7.5-cp38-cp38-win_amd64.whl (112.0 kB view details)

Uploaded CPython 3.8Windows x86-64

graphlearning-1.7.5-cp38-cp38-macosx_11_0_universal2.whl (182.5 kB view details)

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

File details

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

File metadata

  • Download URL: graphlearning-1.7.5.tar.gz
  • Upload date:
  • Size: 93.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for graphlearning-1.7.5.tar.gz
Algorithm Hash digest
SHA256 a89fde9eaaf58443ac78d7ef7b3c0a183ca398c2b3ce7a4a340c4d121fed9f5a
MD5 518d7986c5d7496e3bf4ba11fb92357a
BLAKE2b-256 44d1277a72ec91551344001bf42f194dd5b3fc5b2bb7b82a8505fd6322b92b56

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for graphlearning-1.7.5-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 231375e5063e5d5b64a2e8196d5718e61d34297e5cb676fe28135cc2da86420f
MD5 abe34f3c476bb4f825b1ddc4f0811d34
BLAKE2b-256 6597ade8269a9c5bdfba898b0e5e04f5ea700609398ee6ba87fe54ec8da9783c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for graphlearning-1.7.5-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 b15f66e2fdeba67b8d0ff4c9c83f8b45f51e63fd40c008159f3f3b4caca40bd3
MD5 403d62ae23f96c1c173c80e0ddbc2f76
BLAKE2b-256 42ca05ca8ae1ec07e8853298b6abd1888bfe0f1718269a7a2a73abe2a90ac446

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for graphlearning-1.7.5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 585ff4d80f80273cbf2e56c015ef349039548a6ad5e6b053bfb9f270578fc1b7
MD5 57fa108ca4c4f2cebd87cbb3a964153c
BLAKE2b-256 184fb24a107b6e0a7c7f79e2505cc2f75cab6f9865da5e827151052c42d201b9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for graphlearning-1.7.5-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 428aa9dc1d1d797568b2bb47fb057b9b7f06cbeb5d0a534b1529cb7a5a204e2e
MD5 89c9a7e21f77d2d367ea44f29fca4ab8
BLAKE2b-256 a63ae1ba895b8473141762ff50a2f3f3f62fba21cdea47a8fd6db023467073d5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for graphlearning-1.7.5-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 45aa9936d2b6b74b7fd0df2c81b021743fd6855d477dfad5981d93ffad7d08c3
MD5 9fa13380e86328835c53982b5d4ea480
BLAKE2b-256 a659d9b37be90eb0d2d486910b264c53aa0aa151ba10469606a5d46a80b8e544

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for graphlearning-1.7.5-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 1e6ef13e8bd97d4eaf2a838538176142f653541da4a7baac600c9ab760ddef92
MD5 655528de3dcb53c7c144819fe4256617
BLAKE2b-256 ab5625a1ac55baa073bf4703255d8aa21a716d213ebbe387f440267feb4f043b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for graphlearning-1.7.5-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 9d6c2327b3e8498a7cfd8b0fda6b8e029b442988e8570c19aa8cf6c47c882d6e
MD5 71a9605e0514216a62a0db9d3ac040ed
BLAKE2b-256 dac770f4f5fc85ebbd4fc84b96d66333655c2b89ddf44ee853e418b5a097c7f0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for graphlearning-1.7.5-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 d52388af8dff36846c2db74d844691416aab1e947a050ddbb30a30fbc17d8ca9
MD5 6c298a700cdf0df8e14c4824ae662d77
BLAKE2b-256 45927223f22650a64c04f67e39f0075caf05552f22e0c9eee158d0c8702148de

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for graphlearning-1.7.5-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 b11478d2d8223ad32525b0f7e6489b0ca26d553186689bc729a7c25dd226426d
MD5 c5f2a97867abb22c14606d702c4678c9
BLAKE2b-256 1a2084a9a0b2c305f91d058a4fe1013c6cbffe02ebb179c1445f574db8f13402

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for graphlearning-1.7.5-cp38-cp38-macosx_11_0_universal2.whl
Algorithm Hash digest
SHA256 8709c2ad25226d04d8370b86d0a46a75ea250b9b358c0e4cd3433d67fbdd089c
MD5 3fbd82402f13a167fe2df56154eb7ac2
BLAKE2b-256 3bdd247d6d2a009c705735c808eae7f7866a82b853e956d92cf5d630aa488a9c

See more details on using hashes here.

Supported by

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