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.0.9.tar.gz (64.5 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.0.9-pp38-pypy38_pp73-win_amd64.whl (75.4 kB view details)

Uploaded PyPyWindows x86-64

graphlearning-1.0.9-pp38-pypy38_pp73-macosx_10_7_x86_64.whl (82.5 kB view details)

Uploaded PyPymacOS 10.7+ x86-64

graphlearning-1.0.9-pp37-pypy37_pp73-win_amd64.whl (75.4 kB view details)

Uploaded PyPyWindows x86-64

graphlearning-1.0.9-pp37-pypy37_pp73-macosx_10_7_x86_64.whl (82.5 kB view details)

Uploaded PyPymacOS 10.7+ x86-64

graphlearning-1.0.9-cp310-cp310-win_amd64.whl (75.3 kB view details)

Uploaded CPython 3.10Windows x86-64

graphlearning-1.0.9-cp310-cp310-macosx_10_15_x86_64.whl (83.3 kB view details)

Uploaded CPython 3.10macOS 10.15+ x86-64

graphlearning-1.0.9-cp39-cp39-win_amd64.whl (75.3 kB view details)

Uploaded CPython 3.9Windows x86-64

graphlearning-1.0.9-cp39-cp39-macosx_10_15_x86_64.whl (83.3 kB view details)

Uploaded CPython 3.9macOS 10.15+ x86-64

graphlearning-1.0.9-cp38-cp38-win_amd64.whl (75.3 kB view details)

Uploaded CPython 3.8Windows x86-64

graphlearning-1.0.9-cp38-cp38-macosx_10_14_x86_64.whl (83.1 kB view details)

Uploaded CPython 3.8macOS 10.14+ x86-64

graphlearning-1.0.9-cp37-cp37m-win_amd64.whl (75.3 kB view details)

Uploaded CPython 3.7mWindows x86-64

graphlearning-1.0.9-cp37-cp37m-macosx_10_14_x86_64.whl (83.1 kB view details)

Uploaded CPython 3.7mmacOS 10.14+ x86-64

File details

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

File metadata

  • Download URL: graphlearning-1.0.9.tar.gz
  • Upload date:
  • Size: 64.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.2

File hashes

Hashes for graphlearning-1.0.9.tar.gz
Algorithm Hash digest
SHA256 efc26a0336ca97ad0cead192b1904350b22d5555286e08cfe7043f8a714dab8d
MD5 8a80a71685f47dc6c95debd8285ddb31
BLAKE2b-256 3d36df9c9dbe102703a29e3b0ad5b71487739f1e93f16da6a016dc695f9ced6b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: graphlearning-1.0.9-pp38-pypy38_pp73-win_amd64.whl
  • Upload date:
  • Size: 75.4 kB
  • Tags: PyPy, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 PyPy/7.3.7

File hashes

Hashes for graphlearning-1.0.9-pp38-pypy38_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 6bddfcdb7ba5a7ac075c12bdb3f468fa8b356e78fbd8921e7de256102041a493
MD5 3b39132d64399d4b7084dad82d100f8d
BLAKE2b-256 cbda0192ae11009d17640ed5651daad46f55d9fef45709bcb3553337315dcc06

See more details on using hashes here.

File details

Details for the file graphlearning-1.0.9-pp38-pypy38_pp73-macosx_10_7_x86_64.whl.

File metadata

  • Download URL: graphlearning-1.0.9-pp38-pypy38_pp73-macosx_10_7_x86_64.whl
  • Upload date:
  • Size: 82.5 kB
  • Tags: PyPy, macOS 10.7+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 PyPy/7.3.7

File hashes

Hashes for graphlearning-1.0.9-pp38-pypy38_pp73-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 2fc550736a0fe905b7d845740e547f046ac02cf5d0c36c4b9cb2e7587d788606
MD5 4c61af980f298f4be4d39c62060bc7d3
BLAKE2b-256 f0ff2df1c6327999a8203d0a8e12d24c640b50867d26ba232f60ca62da7da99e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: graphlearning-1.0.9-pp37-pypy37_pp73-win_amd64.whl
  • Upload date:
  • Size: 75.4 kB
  • Tags: PyPy, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 PyPy/7.3.7

File hashes

Hashes for graphlearning-1.0.9-pp37-pypy37_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 aee22b56bb4f374cf4fb8959c12833701c488864012e4eb0565b9fc341a5177e
MD5 9bc90ecbbc5163b7c0e30bc50f78bcea
BLAKE2b-256 42002352dbeea598a7b391c365831e022047a1b76fb73033f6b7f0b97b64346a

See more details on using hashes here.

File details

Details for the file graphlearning-1.0.9-pp37-pypy37_pp73-macosx_10_7_x86_64.whl.

File metadata

  • Download URL: graphlearning-1.0.9-pp37-pypy37_pp73-macosx_10_7_x86_64.whl
  • Upload date:
  • Size: 82.5 kB
  • Tags: PyPy, macOS 10.7+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 PyPy/7.3.7

File hashes

Hashes for graphlearning-1.0.9-pp37-pypy37_pp73-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 0d839e9927cde48784189354964ec286dfffc5349e31e15bae15f16fb3d55022
MD5 8e0482854ec3e57c447a0facc86b4a75
BLAKE2b-256 0c08903d368efae3575403f8630bf6001308ff2b0eac306345123334ff1ef48b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: graphlearning-1.0.9-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 75.3 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.1

File hashes

Hashes for graphlearning-1.0.9-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 8522d217c51894d4db2037b1a56f0667b9126b663ae7294a72ac8897a7f5e8bc
MD5 1ffaedc877f51d4579d3d6a5cd1f5b22
BLAKE2b-256 8976a5767abd63307fb1591b96fdec4455c8bd30ba4265724f0c752df7f0c8e8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: graphlearning-1.0.9-cp310-cp310-macosx_10_15_x86_64.whl
  • Upload date:
  • Size: 83.3 kB
  • Tags: CPython 3.10, macOS 10.15+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.2

File hashes

Hashes for graphlearning-1.0.9-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 5761031430715377acecf321a5e8111cc89fde6d55d614e1dc0648355545b94e
MD5 b2f0769d853791ca19e6e32c62e701e3
BLAKE2b-256 2cc2e2e027299a1d0aa4e2abc56117d19890aa42827c97cd235203372face50b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: graphlearning-1.0.9-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 75.3 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.9

File hashes

Hashes for graphlearning-1.0.9-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 2aa76cb1b5de892474187e16af7460fa02750ec52833e41b36f3e8619986c3ed
MD5 0cdf94f4a75181704ca994d23aa5c875
BLAKE2b-256 eb235d7df73fe2eb5e10cef62fb768012539e10ef82b350337e9b3eaa23c361c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: graphlearning-1.0.9-cp39-cp39-macosx_10_15_x86_64.whl
  • Upload date:
  • Size: 83.3 kB
  • Tags: CPython 3.9, macOS 10.15+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for graphlearning-1.0.9-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 75dc45ccb430ab116ae6f9325d7c530b02869bc8b6a7b5e154a0175ccff98d3e
MD5 bbc9e3fc990372426d6fd4da3bc43443
BLAKE2b-256 9f06a043f88e8ab9123355899e20eeacc1a769a4df101e174475b06f5e963a5a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: graphlearning-1.0.9-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 75.3 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.10

File hashes

Hashes for graphlearning-1.0.9-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 487b82bebe0b464207ec55750091f59ed61a64a4fa54d73c817a5a917a80cfc8
MD5 5ff0c5678880634d49c012b452bdf257
BLAKE2b-256 e7b7fbc06fb5e91ea7c9053b2af215a74325e8a573a832b2d8e1f4252a8610a3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: graphlearning-1.0.9-cp38-cp38-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 83.1 kB
  • Tags: CPython 3.8, macOS 10.14+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.12

File hashes

Hashes for graphlearning-1.0.9-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 094ba7d60c71facd4b53ab0f68de29bd0e05567814a2b6ce8aebd9a017733eaf
MD5 37b99d3a4ef2e95e39657948d9b16297
BLAKE2b-256 e28df67d3890e02e8d787f5d64e4e1dec1ccf10a656b45f532d5931c8f01caac

See more details on using hashes here.

File details

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

File metadata

  • Download URL: graphlearning-1.0.9-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 75.3 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.7.9

File hashes

Hashes for graphlearning-1.0.9-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 71492b009a9ea5a9079ba807706d1a0cd322ce73f9bd528b8748001caeaf4e26
MD5 84179a4cdb949eed4f4f4d23eefb87e1
BLAKE2b-256 9026a5534e8400b91365f4ab1708242f6913b7f9341706f7ba30af7a5bda7fbb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: graphlearning-1.0.9-cp37-cp37m-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 83.1 kB
  • Tags: CPython 3.7m, macOS 10.14+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.7.12

File hashes

Hashes for graphlearning-1.0.9-cp37-cp37m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 b4d264a0dda826bde1d8b8cc827ab6b7b5fbeeae34ef7a3851dff754c4730c63
MD5 e766a9ed660c203b722d4d2dc4fe3764
BLAKE2b-256 e04f6b6da8a3f95b1bca759967205766396c037d242d4b4ca3e8226901ab1a24

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