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)
  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.2.0.tar.gz (69.6 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.2.0-pp38-pypy38_pp73-win_amd64.whl (82.1 kB view details)

Uploaded PyPyWindows x86-64

graphlearning-1.2.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl (87.5 kB view details)

Uploaded PyPymacOS 10.9+ x86-64

graphlearning-1.2.0-pp37-pypy37_pp73-win_amd64.whl (82.1 kB view details)

Uploaded PyPyWindows x86-64

graphlearning-1.2.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl (87.5 kB view details)

Uploaded PyPymacOS 10.9+ x86-64

graphlearning-1.2.0-cp310-cp310-win_amd64.whl (82.2 kB view details)

Uploaded CPython 3.10Windows x86-64

graphlearning-1.2.0-cp310-cp310-macosx_10_15_x86_64.whl (89.2 kB view details)

Uploaded CPython 3.10macOS 10.15+ x86-64

graphlearning-1.2.0-cp39-cp39-win_amd64.whl (82.2 kB view details)

Uploaded CPython 3.9Windows x86-64

graphlearning-1.2.0-cp39-cp39-macosx_10_15_x86_64.whl (89.2 kB view details)

Uploaded CPython 3.9macOS 10.15+ x86-64

graphlearning-1.2.0-cp38-cp38-win_amd64.whl (82.1 kB view details)

Uploaded CPython 3.8Windows x86-64

graphlearning-1.2.0-cp38-cp38-macosx_10_15_x86_64.whl (89.2 kB view details)

Uploaded CPython 3.8macOS 10.15+ x86-64

graphlearning-1.2.0-cp37-cp37m-win_amd64.whl (82.1 kB view details)

Uploaded CPython 3.7mWindows x86-64

graphlearning-1.2.0-cp37-cp37m-macosx_10_15_x86_64.whl (89.2 kB view details)

Uploaded CPython 3.7mmacOS 10.15+ x86-64

File details

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

File metadata

  • Download URL: graphlearning-1.2.0.tar.gz
  • Upload date:
  • Size: 69.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.5

File hashes

Hashes for graphlearning-1.2.0.tar.gz
Algorithm Hash digest
SHA256 3efc230d067dbfd50ae2c3151d893a0b921677b91e073ac0179831487d360e00
MD5 887f2406af769df9cc02bdabf84ea692
BLAKE2b-256 eaad3cb6d7ebf2cf79fe1ce2edbcffcdee187b53dd8c5ee88907e3d89a129583

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for graphlearning-1.2.0-pp38-pypy38_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 83c9502b3cceb66c549ef4d970a35f80536588cb1f5708c2779023f89ce4cb3b
MD5 ff4bec7d40c81757bfb3227524d8ebb6
BLAKE2b-256 79ce6a85a5a726545cc6ab332372127dfa86f943ced0a3abdcdb722de9ff298e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for graphlearning-1.2.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 aced4230dbe1b737a6c27a38fabf9c35181e1ce134a9a6816bc1181719c870fb
MD5 d8a68b64e2916bac3d9799905fa2616f
BLAKE2b-256 83837e8a7da9a43ab23e8f5d12cc0d4f4859389448467cb7ed73f07042c43225

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for graphlearning-1.2.0-pp37-pypy37_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 2eceb88faa87c92b8f9026655e18614e53705d179396cf2dd4840e9ac2663724
MD5 5d7100a41eaaf7cd758cd557b53047bb
BLAKE2b-256 3179b2ec193e471010d3dd4e0eb8513516bb40b2f7e313c61bc674fcb8e78b4e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for graphlearning-1.2.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 017ac24aaf670163bac3ffd3608d8f494b4ccbd3dcc453cf5c8711e076ada0e3
MD5 d69b138cada6b465f89f8820a0f7510f
BLAKE2b-256 a62e2da4b72dbbddb12dadbf213d7b313a2df86904b481b56246b4c9967b4975

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for graphlearning-1.2.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 bb8799a3688432ee2cef3b207c43905d343c793461e2729df451a535065cfa96
MD5 dce29f8a4da607e0f7ddedaa08b930eb
BLAKE2b-256 b330ebad98fd14e3fa4e3bf258ebe8891491eac1cb5daa4ddfb80be561a1d60a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for graphlearning-1.2.0-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 24247e8ba4fb9063495359fb2e7be4c8b40e51305781bad8722cf91db1d4ad4d
MD5 ffa5d7275da8c6d5c05b16d92c91c70b
BLAKE2b-256 429d5daeb2a501e8dc50e1e9aa598345f57e9e3f21b12f185e248196f474abc2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for graphlearning-1.2.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 543d4a4deddcbf7156bbbd10781da52fc46765f47ab22167181850dc2216f931
MD5 532d16332b04172f1a555e7fc73b6d42
BLAKE2b-256 3c4f16ff95b7a70f7debb9627eee5321833e82865e2098216a15274a3450dfa6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for graphlearning-1.2.0-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 5a138d68f437fde79d4998447d8dc6e1ce09ad89e14cdedef1408266d101117f
MD5 b34e039f02dd75c0c5b246f64469e1e2
BLAKE2b-256 2c4d0eeb7385f11fbda81e582912d0716789ae0540de8c2d1a572194bc040298

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for graphlearning-1.2.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 c0a8c3e2c02e76bb4789639cb8809bb2402863ed142c72d787ed7cc511caf104
MD5 aa1161acfc705f4d902e294795d1c6fc
BLAKE2b-256 8a6ae0e249f66b632e380526e7c45303a5846479e1e2100bbc5097ced140c27d

See more details on using hashes here.

File details

Details for the file graphlearning-1.2.0-cp38-cp38-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for graphlearning-1.2.0-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 dffad5269ea1449b1ee16566e86485e91c00952651dde4558158d1a3dcdb8bb5
MD5 8469af47971d115d63274f507c329b9b
BLAKE2b-256 c8ce11488e426098e72939e6af8696ab66d85a4952ce572a999ef7603ba862e9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for graphlearning-1.2.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 2f568a6148fbd3b0f97ad3a0209a4c22955e956abfae2580bb64efcdbbb6a65c
MD5 b51d586b7700bed7da0367a7f2c1cdef
BLAKE2b-256 f26700a42ccfdd442661f6849161b7d265d17e996536456c8c07510039a2fdb5

See more details on using hashes here.

File details

Details for the file graphlearning-1.2.0-cp37-cp37m-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for graphlearning-1.2.0-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 646dcff4186fdf6aba7f66d226248dc9304058e1f5631b3319006c4e6b1b0a4f
MD5 eed51f8228dc7699a132fb9df0d45e91
BLAKE2b-256 b13dfba83d20ca8fda1f83fc3266f7b7bdd1834ecd65ccffbd1403f1bcadc598

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