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.

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

Uploaded Source

Built Distributions

graphlearning-1.7.0-cp312-cp312-win_amd64.whl (108.9 kB view details)

Uploaded CPython 3.12 Windows x86-64

graphlearning-1.7.0-cp312-cp312-macosx_10_13_universal2.whl (187.5 kB view details)

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

graphlearning-1.7.0-cp311-cp311-win_amd64.whl (108.9 kB view details)

Uploaded CPython 3.11 Windows x86-64

graphlearning-1.7.0-cp311-cp311-macosx_10_9_universal2.whl (187.2 kB view details)

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

graphlearning-1.7.0-cp310-cp310-win_amd64.whl (108.9 kB view details)

Uploaded CPython 3.10 Windows x86-64

graphlearning-1.7.0-cp310-cp310-macosx_10_9_universal2.whl (187.2 kB view details)

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

graphlearning-1.7.0-cp39-cp39-win_amd64.whl (108.9 kB view details)

Uploaded CPython 3.9 Windows x86-64

graphlearning-1.7.0-cp39-cp39-macosx_10_9_universal2.whl (187.2 kB view details)

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

graphlearning-1.7.0-cp38-cp38-win_amd64.whl (108.8 kB view details)

Uploaded CPython 3.8 Windows x86-64

graphlearning-1.7.0-cp38-cp38-macosx_11_0_universal2.whl (187.2 kB view details)

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

File details

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

File metadata

  • Download URL: graphlearning-1.7.0.tar.gz
  • Upload date:
  • Size: 91.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for graphlearning-1.7.0.tar.gz
Algorithm Hash digest
SHA256 419749c9b7c1231a9d32b347f76bab9e023909eed156162ac2fd35a17279f1e0
MD5 fb18a86ec0265c22ec3e287bca5024f6
BLAKE2b-256 2586192670e29ddc407ca3cca7cbdd47a7e63615b3474d509a3973ac4e937371

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for graphlearning-1.7.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 02b9f3e6499749646ff791c2a690add02afaa5160ddefc063f93bc368adf2c0b
MD5 d6ff48d4c4fbbd2757b223280594a66e
BLAKE2b-256 d538deb107f398209b3796da0cc1ffecb05980a5144f49b233ba190c4c6be369

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for graphlearning-1.7.0-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 87184c656607469ff0a70b9c5bd10eb8477ae95253fe79bf59a7b047ab060c73
MD5 70559612fd0bc02e50091f1d215cce56
BLAKE2b-256 144c9e245fbf7a394df8acc966ea276a54bbfaac98eb495ef28bb84109f79d2d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for graphlearning-1.7.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 69314aa381217e886a7f9a3a04621a2018664aa5c732c66342418bc2bd2694cf
MD5 4ba562f155ce732bab8cad28f854043a
BLAKE2b-256 4643d19a10fdb65ce79a0ca43a9af589364c58658e408a3f0ce4138a0bcbaf96

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for graphlearning-1.7.0-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 2fce11843d2b8316fb025a3eb91e86608b317c214291d188db970a38653abece
MD5 4da819200c50c2b51efaf58dbcff83f9
BLAKE2b-256 ceb6fcafa1dc5b094c8a9041445b68b1196d74141abb54a29774b8c81d95191a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for graphlearning-1.7.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 120b06768ee6184e8dcc3446eda01d9efbb884fcf04ff13f5a8af5601bb5dccb
MD5 7bf136f71b1a1c6da4e20d1b88498c83
BLAKE2b-256 9af025c88a36d3eb06b7e9bbf32a93927a065e07e83e4a4e624bad3749a671ff

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for graphlearning-1.7.0-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 b5adf384ac0fa9964aa9cba5e67800a2c900b10280b54ca52ab264a9a7686f8d
MD5 3fc3ff47298c02c4a807961de90ac5e5
BLAKE2b-256 0442cd148704fca29cfef58f53fc552ce2389f717e6f26248ccd1472e2664f4a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for graphlearning-1.7.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 2f5896e9b8654d687418a17748a8e3bd85e58bb8ad8ad7467348b227a29246fc
MD5 38a9f84ff09a19cf676688de7bdce95b
BLAKE2b-256 ee04a7a4efe72bbe126e4cad188178a130f1ebada351e26ab10b839a2e6a5f18

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for graphlearning-1.7.0-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 b3f0c9c30d6d258134915e0a6bda0d8f50247822ebf264825363355b215e670f
MD5 8460b1aadc07e45e1b44725aa76baeca
BLAKE2b-256 5e36dc2b47e61e5f1ad60051665260c2687d6773d6758c2a254dbed7c1c0e4db

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for graphlearning-1.7.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 750c56ff5ae45b4942498ed1197f64b2bd1829087e7a07b827766fa7c5ab46fc
MD5 0b00660a1e5b08b5a7da73903d7a6ec0
BLAKE2b-256 c48df92e5eb2560a66adc7cd6926f20aa94808281bb9033e2640a44059c82913

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for graphlearning-1.7.0-cp38-cp38-macosx_11_0_universal2.whl
Algorithm Hash digest
SHA256 1682c121b80d41b951ce63e859dc48bbfa76105138c8c433a7e7244d6ef41a59
MD5 0b219ff0e51a608d6d9e91e82c0b400b
BLAKE2b-256 94c81e826d6f6a5e47f33819a2fe6750edd6cfa3902bd44f0d1dbcfd05259790

See more details on using hashes here.

Supported by

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