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.8.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.8-pp38-pypy38_pp73-win_amd64.whl (75.4 kB view details)

Uploaded PyPyWindows x86-64

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

Uploaded PyPymacOS 10.7+ x86-64

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

Uploaded PyPyWindows x86-64

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

Uploaded PyPymacOS 10.7+ x86-64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10macOS 10.15+ x86-64

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

Uploaded CPython 3.9Windows x86-64

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

Uploaded CPython 3.9macOS 10.15+ x86-64

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

Uploaded CPython 3.8Windows x86-64

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

Uploaded CPython 3.8macOS 10.14+ x86-64

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

Uploaded CPython 3.7mWindows x86-64

graphlearning-1.0.8-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.8.tar.gz.

File metadata

  • Download URL: graphlearning-1.0.8.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.8.tar.gz
Algorithm Hash digest
SHA256 8e48ed1b127e2f60be40bcaf2a31eaf02662c93d7b4bea8734fffcda0b0cb18c
MD5 82641c2b9198c8e896435ea2b6848724
BLAKE2b-256 694da32053c8254d38ab72a3f7bdcc729dc7c4113bed7279f6f171adb583b4ac

See more details on using hashes here.

File details

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

File metadata

  • Download URL: graphlearning-1.0.8-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.8-pp38-pypy38_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 799f8e9c15ff7309b15472e3d446362e45880403f12bd0aa8db7b8c84e145593
MD5 7854340bab1ebd8da967564bfaf2d14d
BLAKE2b-256 6ddc5f546b02f3bd5019bff468b0bc951497d83bccf8dec536230408d08f1667

See more details on using hashes here.

File details

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

File metadata

  • Download URL: graphlearning-1.0.8-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.8-pp38-pypy38_pp73-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 9c4be3ba27b080d6e6651888a1532408f1ef41dd0908ba5b3ef7def1c32c08c6
MD5 2c813fb86a136591ab034c2a3a24ee87
BLAKE2b-256 33e7e0b28e285757c71a29a53a7c50e9df0f3f9d982901245187f1d73d9ac654

See more details on using hashes here.

File details

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

File metadata

  • Download URL: graphlearning-1.0.8-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.8-pp37-pypy37_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 3056794e380402db4e46d47be29924ff62ea0581347ed339c6511ec0241b514e
MD5 179dad318361723fddbb6863d14bc5ee
BLAKE2b-256 d75f8cb309ed43d759aa2fbe1512986e922687e5828cd43a3e33684ca4ca0228

See more details on using hashes here.

File details

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

File metadata

  • Download URL: graphlearning-1.0.8-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.8-pp37-pypy37_pp73-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 fcb417c1e5e6beadea46f3cd73172d7d1a255183cf3c4a5882f0bedbf732ded6
MD5 28f42a956e3dd226888b78b3c978750b
BLAKE2b-256 effb8ea556c8f909e9fabcb90dd2550733828bb0137a795a4583055fde1c3f74

See more details on using hashes here.

File details

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

File metadata

  • Download URL: graphlearning-1.0.8-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.8-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 7022e96e6b4ce6be28782b234c348a492e6f71856bed09576d39d2f12be68461
MD5 69480772fadd534b7c8ed542e31b74d0
BLAKE2b-256 a91d3fea4aa144b3d3016ded447a6b033a19a9f3c29a4a51a5ca26acdebfe25f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: graphlearning-1.0.8-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.8-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 864985934320061a3342462a6a0a5023e3e74cbd1984942d2e4a61daaadbd75b
MD5 1494077ad864d5f2b03a9be907dffd2a
BLAKE2b-256 4da450efda737ebcbdc98fc237829a36fdd8956e573b93694ff7f023d1daebc7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: graphlearning-1.0.8-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.8-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 ae1d81f12ce71ce86fe7ec466a0bb09c5ed22d238036de46dbbb83191cae10bc
MD5 5bda12140a81ae87c43907c340d374f2
BLAKE2b-256 789797ac6cc808de59bd0dc8fcb93fdce62d6ca51ad975eb370d2c9de790db66

See more details on using hashes here.

File details

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

File metadata

  • Download URL: graphlearning-1.0.8-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.8-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 dd7080c54970547bf9790a418ae1cf01f7c77b3338da3f89c8fe8f4aa6e5dd58
MD5 c366fe6e2b70c7fda9fa495a6f375c9a
BLAKE2b-256 4d09882f601587f428b9675de4f184e577c9e2ac40ad2985d83b27d839c54b6c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: graphlearning-1.0.8-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.8-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 cc24a39c23ddb1f32ff7d7216641911b28cf5b35fb4e7b9570948a51e0f06c6c
MD5 01bde6f6a4877aeaf8b0a2817fbad3ab
BLAKE2b-256 0c00dbf0680429f3b66c7ed60ac8815dd311f3d6d47a2a4025ddccb0718670d8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: graphlearning-1.0.8-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.8-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 5f8f1fc4c4ac28828c48ac8be2dddc5a6bc527625d748ce2e892d69f7387fe6c
MD5 2132bf9449b39da1092e365ce3a1bfac
BLAKE2b-256 cc2d38b0b2ebe199b02e505d09288ecf8cb9425219bd31aaf977d22d9d06beff

See more details on using hashes here.

File details

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

File metadata

  • Download URL: graphlearning-1.0.8-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.8-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 3cec7579d0e61e4e39decb1cacbc72a2ccf981e7583bd421ef6801ddf68c5045
MD5 2f7f6e7a09d7f7e978bbce3de4598af0
BLAKE2b-256 48afaae5d789f9b758a35e2883395aa377f0eb8872c3c7f86f01e41f730c20f1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: graphlearning-1.0.8-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.8-cp37-cp37m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 107e13ad9beb8b477597254f89e0dbfea1353cbbab5c2cc593d39844e51f7202
MD5 69ca3c9039b4e0435515655b6366cb12
BLAKE2b-256 2da9eb7139ffb6b7dbd779eca9674b864f8f9391ba1ed7f5473c8bcfb525175f

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