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 both semi-supervised 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.

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
python setup.py install --user

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)

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.1.6.tar.gz (69.4 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.1.6-pp38-pypy38_pp73-win_amd64.whl (81.9 kB view details)

Uploaded PyPyWindows x86-64

graphlearning-1.1.6-pp38-pypy38_pp73-macosx_10_9_x86_64.whl (87.3 kB view details)

Uploaded PyPymacOS 10.9+ x86-64

graphlearning-1.1.6-pp37-pypy37_pp73-win_amd64.whl (81.9 kB view details)

Uploaded PyPyWindows x86-64

graphlearning-1.1.6-pp37-pypy37_pp73-macosx_10_9_x86_64.whl (87.3 kB view details)

Uploaded PyPymacOS 10.9+ x86-64

graphlearning-1.1.6-cp310-cp310-win_amd64.whl (82.0 kB view details)

Uploaded CPython 3.10Windows x86-64

graphlearning-1.1.6-cp310-cp310-macosx_10_15_x86_64.whl (89.0 kB view details)

Uploaded CPython 3.10macOS 10.15+ x86-64

graphlearning-1.1.6-cp39-cp39-win_amd64.whl (82.0 kB view details)

Uploaded CPython 3.9Windows x86-64

graphlearning-1.1.6-cp39-cp39-macosx_10_15_x86_64.whl (89.0 kB view details)

Uploaded CPython 3.9macOS 10.15+ x86-64

graphlearning-1.1.6-cp38-cp38-win_amd64.whl (81.9 kB view details)

Uploaded CPython 3.8Windows x86-64

graphlearning-1.1.6-cp38-cp38-macosx_10_14_x86_64.whl (88.8 kB view details)

Uploaded CPython 3.8macOS 10.14+ x86-64

graphlearning-1.1.6-cp37-cp37m-win_amd64.whl (81.9 kB view details)

Uploaded CPython 3.7mWindows x86-64

graphlearning-1.1.6-cp37-cp37m-macosx_10_14_x86_64.whl (88.8 kB view details)

Uploaded CPython 3.7mmacOS 10.14+ x86-64

File details

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

File metadata

  • Download URL: graphlearning-1.1.6.tar.gz
  • Upload date:
  • Size: 69.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.10.4

File hashes

Hashes for graphlearning-1.1.6.tar.gz
Algorithm Hash digest
SHA256 abedaf9c87a0650c2532395d7cab7201a3f177dca3b12f8f30658a73561ded2c
MD5 39665d39ef86b4ae8a3cad02839c06d7
BLAKE2b-256 bc63c2e7bd333c0fbfad6421e59a2d341e0c0e055a156d26086780178cb0fc6f

See more details on using hashes here.

File details

Details for the file graphlearning-1.1.6-pp38-pypy38_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for graphlearning-1.1.6-pp38-pypy38_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 401a17aca5b7e93c03ac3bf4eef5a21e5b25f53a1a0dbe01238f42a8d48013b9
MD5 a60768ff8137bee9c12b275baee39cab
BLAKE2b-256 8cba9dcb4e7c3f2adb9941dbc928d36cf6b95ed1a6ca4913b0300fe7a43b8dc3

See more details on using hashes here.

File details

Details for the file graphlearning-1.1.6-pp38-pypy38_pp73-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for graphlearning-1.1.6-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 286b5eff4694c0b717149aec33e6e4a5b05452a92c17b2b68b8284615792045e
MD5 5307e74bcddec248453d3479eac6856e
BLAKE2b-256 acabb6f54d9d8c678f33c4cc54f4668acd8ac004162615df8c796cc7c36f6695

See more details on using hashes here.

File details

Details for the file graphlearning-1.1.6-pp37-pypy37_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for graphlearning-1.1.6-pp37-pypy37_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 340f305fc666725a981ddf54a362d0d813dec03dc50295ea46e350d6baf38bb6
MD5 cb168a58b1a5adce414a815527bded7e
BLAKE2b-256 6e25df849d0cca04e6eb1b7bd62632128de2d2fdc13b41324a0a61eefba733f9

See more details on using hashes here.

File details

Details for the file graphlearning-1.1.6-pp37-pypy37_pp73-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for graphlearning-1.1.6-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a1d7df6276bbfaf1e2d6d872a219c183a7f4021092f33dcd25795c5a2308fdb9
MD5 44dc3b7a105fe133776c37b978b8611a
BLAKE2b-256 fcf15fa789a50f461fcaee5113440e5c312ea0e6206435b81d0d3a059c99849d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for graphlearning-1.1.6-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 c7495508a18009c5fac3d91658fcf409f6fba82048c85ed7ed036b922cd0a9b6
MD5 73efbf4765f8704037fd42be985181f7
BLAKE2b-256 3f87244c4a0955d55b796ff61e3fd0d5fad45ad59aac0cd9e841f147df00d45c

See more details on using hashes here.

File details

Details for the file graphlearning-1.1.6-cp310-cp310-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for graphlearning-1.1.6-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 5bbc88ac19a345c621adff95793dcf74864395c28c80cc17b2dbc3752fab11d0
MD5 a5bf2adc361fb53523095d7e09811cd9
BLAKE2b-256 05ebb0b95b941fc340ace9064bf8ea1124063e0dea0ce7cfec557a01149d9925

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for graphlearning-1.1.6-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 2d631a3de835e794da0cf41d4d0bdae290cfa766e684e2fc086b3dfbac18b3ca
MD5 3a607911c8fddd53d4c10922d61f5b2d
BLAKE2b-256 44f9802847533a1044ed57d69ad1d6624890c90093d75c3df79fa6ece68a3ab9

See more details on using hashes here.

File details

Details for the file graphlearning-1.1.6-cp39-cp39-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for graphlearning-1.1.6-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 8edd6f02502d41655da99a6bdda231eebb3c54acb7661932aeb72663d60419a3
MD5 ad92d1ec39556fd6ae0acf2a3ac2aa89
BLAKE2b-256 f8988ed8225b9fe703aa7b62a719d81205cd69b6e379d8879f9394072f7379e1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for graphlearning-1.1.6-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 62c4b924e1401c604979e67add7ece9fe9fd6037cae6ad059701c30e6d097bbd
MD5 a51ade6a4a103cb304c1c63c11f59c0c
BLAKE2b-256 a28548534faada4eed1fac08fe911fb02a514980f1898ba23d2e5b2c83387170

See more details on using hashes here.

File details

Details for the file graphlearning-1.1.6-cp38-cp38-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for graphlearning-1.1.6-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 3750c6a013ef4943cb0152e68c7c48c95557d9d76fa1af6287c462dc8613acb7
MD5 33c70b541109b074b2805e024dabfa84
BLAKE2b-256 9beb9bbdddd495b2e44916793a1165d8288b775ddf8931eca1a007e065ba8ffa

See more details on using hashes here.

File details

Details for the file graphlearning-1.1.6-cp37-cp37m-win_amd64.whl.

File metadata

File hashes

Hashes for graphlearning-1.1.6-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 07dc59c34cef0faf8350574fac03934e921986ddfb98712defdb4636f9f2df39
MD5 f7aa26d930c58d7d99d27193c2832588
BLAKE2b-256 6e7ba52808b3cb2f2732ca83f8f9b3adc3ab546d62dea2fe531b61230828e379

See more details on using hashes here.

File details

Details for the file graphlearning-1.1.6-cp37-cp37m-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for graphlearning-1.1.6-cp37-cp37m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 5af0a7f18d1d375c0ed97c0b701f122988374868eef759dff2e2dfd2d657ee94
MD5 f4aa25fa2bfebd3dff979c6a23a08398
BLAKE2b-256 12335f1a252eed0c430d5e7f6853df5c2b58bf567e6b59643460df7e7b2a1e7b

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