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.0.tar.gz (65.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.0-pp38-pypy38_pp73-win_amd64.whl (76.4 kB view details)

Uploaded PyPyWindows x86-64

graphlearning-1.1.0-pp38-pypy38_pp73-macosx_10_7_x86_64.whl (83.5 kB view details)

Uploaded PyPymacOS 10.7+ x86-64

graphlearning-1.1.0-pp37-pypy37_pp73-win_amd64.whl (76.4 kB view details)

Uploaded PyPyWindows x86-64

graphlearning-1.1.0-pp37-pypy37_pp73-macosx_10_7_x86_64.whl (83.5 kB view details)

Uploaded PyPymacOS 10.7+ x86-64

graphlearning-1.1.0-cp310-cp310-win_amd64.whl (76.3 kB view details)

Uploaded CPython 3.10Windows x86-64

graphlearning-1.1.0-cp310-cp310-macosx_10_15_x86_64.whl (84.3 kB view details)

Uploaded CPython 3.10macOS 10.15+ x86-64

graphlearning-1.1.0-cp39-cp39-win_amd64.whl (76.3 kB view details)

Uploaded CPython 3.9Windows x86-64

graphlearning-1.1.0-cp39-cp39-macosx_10_15_x86_64.whl (84.3 kB view details)

Uploaded CPython 3.9macOS 10.15+ x86-64

graphlearning-1.1.0-cp38-cp38-win_amd64.whl (76.3 kB view details)

Uploaded CPython 3.8Windows x86-64

graphlearning-1.1.0-cp38-cp38-macosx_10_14_x86_64.whl (84.1 kB view details)

Uploaded CPython 3.8macOS 10.14+ x86-64

graphlearning-1.1.0-cp37-cp37m-win_amd64.whl (76.3 kB view details)

Uploaded CPython 3.7mWindows x86-64

graphlearning-1.1.0-cp37-cp37m-macosx_10_14_x86_64.whl (84.1 kB view details)

Uploaded CPython 3.7mmacOS 10.14+ x86-64

File details

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

File metadata

  • Download URL: graphlearning-1.1.0.tar.gz
  • Upload date:
  • Size: 65.4 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.11.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.2

File hashes

Hashes for graphlearning-1.1.0.tar.gz
Algorithm Hash digest
SHA256 4d4b1e6225d991aca29535430e75a9cf4c02637a7d34f3d7900f5e51f06f0be6
MD5 fa9a930de62a355e4a899c14c517a2db
BLAKE2b-256 cbeb2b4291a04beb4ee4b59910354cdcbcf1bb68b532b62d759829d340626e32

See more details on using hashes here.

File details

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

File metadata

  • Download URL: graphlearning-1.1.0-pp38-pypy38_pp73-win_amd64.whl
  • Upload date:
  • Size: 76.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.11.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 PyPy/7.3.7

File hashes

Hashes for graphlearning-1.1.0-pp38-pypy38_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 02f9191cccca2f966e651e7e155b98efa0547177a1a0165cff04c771317fc34e
MD5 3c1380f9f7a54fbe37444eb98cda7b44
BLAKE2b-256 b558ed5501d34c9ee7a6f6174006709bb0c6d089aba5824b1a1679a432897859

See more details on using hashes here.

File details

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

File metadata

  • Download URL: graphlearning-1.1.0-pp38-pypy38_pp73-macosx_10_7_x86_64.whl
  • Upload date:
  • Size: 83.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.11.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 PyPy/7.3.7

File hashes

Hashes for graphlearning-1.1.0-pp38-pypy38_pp73-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 b1baf76048075f743c0ff18b73495d34b31465b70bba67a9e8767237bbbc58b0
MD5 b4119032297443a2e38022c65d9b9fec
BLAKE2b-256 dc54a82314ea1307ebbd8e74074f0ef816e2eca0e520174c9129e812fcc9bb6e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: graphlearning-1.1.0-pp37-pypy37_pp73-win_amd64.whl
  • Upload date:
  • Size: 76.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.11.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 PyPy/7.3.7

File hashes

Hashes for graphlearning-1.1.0-pp37-pypy37_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 cd6ce25d8fca5998652ef6e91131fbcfbb4b352d27f7db186d29eea62f838405
MD5 1c78413b3bc44defd3336e1ea470bcf0
BLAKE2b-256 30b191852d575f87582bdccf2fb52635835365cd30eceef913c8dbc0934e12dc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: graphlearning-1.1.0-pp37-pypy37_pp73-macosx_10_7_x86_64.whl
  • Upload date:
  • Size: 83.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.11.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 PyPy/7.3.7

File hashes

Hashes for graphlearning-1.1.0-pp37-pypy37_pp73-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 648a9d8c81c3de2adc74f5e68d6f0279af7b083f1975dd7d1c853f0ef3da3d0a
MD5 0812fede2ebeaa0c4d5adeb0bfed9baf
BLAKE2b-256 c96ac91734d8eb7b014e8f4b4d6dc44c3698cbb923258bdaacc26a04b901252e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: graphlearning-1.1.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 76.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.11.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.1

File hashes

Hashes for graphlearning-1.1.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 804d67c4e3f7f3b04d0339040d7cce053460a0c0eb4842bfe0de93ffc736e048
MD5 35e43a26d46d4615fd3c6b14ef0271e7
BLAKE2b-256 d49b1229b26d548f15bfe713870e6fa5da438f1535b425f55e06bce3854c6293

See more details on using hashes here.

File details

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

File metadata

  • Download URL: graphlearning-1.1.0-cp310-cp310-macosx_10_15_x86_64.whl
  • Upload date:
  • Size: 84.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.11.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.2

File hashes

Hashes for graphlearning-1.1.0-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 4269727cf8ffedd1e433c6fa895e75d11f4cfee34eea07fc2df7631720bd6bc4
MD5 f3804074282ec00869a44c65f7ba6d0b
BLAKE2b-256 d95feed134def46729d7bfc9b154325771f2dffdf0ce8bdace37752299b93e56

See more details on using hashes here.

File details

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

File metadata

  • Download URL: graphlearning-1.1.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 76.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.11.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.9

File hashes

Hashes for graphlearning-1.1.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 4a66e69851429bdd7489dca14f99d539dad5d778f70e3ce5cfdeb03bff5cd176
MD5 686916c7a1b2c2d0f467ce17d36869b1
BLAKE2b-256 b4d3a63be47b45ca3da27d1747c337ccc71c00d09f9681c56e4623192940698b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: graphlearning-1.1.0-cp39-cp39-macosx_10_15_x86_64.whl
  • Upload date:
  • Size: 84.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.11.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for graphlearning-1.1.0-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 6183293fc05cde9ac9c4879d44ab4d5155ec5c65cd77daa263e4a933c2e0767a
MD5 f61dd3f179fce2fce43365b654449da6
BLAKE2b-256 023b64dca0865c8d8dbfda5bdad3d2ef0b3a303645742da66d29d41ebbafa09d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: graphlearning-1.1.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 76.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.11.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.10

File hashes

Hashes for graphlearning-1.1.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 95c1dfe36a99c81b0b87b1e7a29001ee5136e3fd13b615726931c81a3c0ac330
MD5 170888d4d86f7d91a6af66ddd8a3a5fc
BLAKE2b-256 068c3952bac871bc99d0baa154da5f9ab33e350806fdcec3321be4055468bb87

See more details on using hashes here.

File details

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

File metadata

  • Download URL: graphlearning-1.1.0-cp38-cp38-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 84.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.11.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.12

File hashes

Hashes for graphlearning-1.1.0-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 353abf2599e5e458f0e834c850a6e48fc0e0328344be1163553993044889f8b2
MD5 74fc8af74585a819b4b393c13ea54e0d
BLAKE2b-256 76fa35bde9ad896418ba1b837385173f94c770419fb6d8bfa196085068c41b4b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: graphlearning-1.1.0-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 76.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.1.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 7d1ce91199be9b5f4edf0c3fa7bae096ce625e2ed6986a429a0e0f30c5e10dee
MD5 5c2d8d12958791b34e04d4221006838e
BLAKE2b-256 3d71bf093d28001d8b2af70904a0092a5a793ffcc0d622c455e41c60d3d879ff

See more details on using hashes here.

File details

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

File metadata

  • Download URL: graphlearning-1.1.0-cp37-cp37m-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 84.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.11.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.7.12

File hashes

Hashes for graphlearning-1.1.0-cp37-cp37m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 2f5971c598b362bc61566fe2abb460025071cc99a1a971fdbd9018df450f300c
MD5 1582545e10a96fd032a3189f619b20bc
BLAKE2b-256 f519c164bb7da1fde5d378eb1c1438c04dde27fd71b53839d978ed3af6f7289b

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