Skip to main content

Python implementations of metric learning algorithms

Project description

Travis-CI Build Status License PyPI version Code coverage

metric-learn: Metric Learning in Python

metric-learn contains efficient Python implementations of several popular supervised and weakly-supervised metric learning algorithms. As part of scikit-learn-contrib, the API of metric-learn is compatible with scikit-learn, the leading library for machine learning in Python. This allows to use all the scikit-learn routines (for pipelining, model selection, etc) with metric learning algorithms through a unified interface.

Algorithms

  • Large Margin Nearest Neighbor (LMNN)

  • Information Theoretic Metric Learning (ITML)

  • Sparse Determinant Metric Learning (SDML)

  • Least Squares Metric Learning (LSML)

  • Sparse Compositional Metric Learning (SCML)

  • Neighborhood Components Analysis (NCA)

  • Local Fisher Discriminant Analysis (LFDA)

  • Relative Components Analysis (RCA)

  • Metric Learning for Kernel Regression (MLKR)

  • Mahalanobis Metric for Clustering (MMC)

Dependencies

  • Python 3.6+ (the last version supporting Python 2 and Python 3.5 was v0.5.0)

  • numpy, scipy, scikit-learn>=0.20.3

Optional dependencies

  • For SDML, using skggm will allow the algorithm to solve problematic cases (install from commit a0ed406). pip install 'git+https://github.com/skggm/skggm.git@a0ed406586c4364ea3297a658f415e13b5cbdaf8' to install the required version of skggm from GitHub.

  • For running the examples only: matplotlib

Installation/Setup

  • If you use Anaconda: conda install -c conda-forge metric-learn. See more options here.

  • To install from PyPI: pip install metric-learn.

  • For a manual install of the latest code, download the source repository and run python setup.py install. You may then run pytest test to run all tests (you will need to have the pytest package installed).

Usage

See the sphinx documentation for full documentation about installation, API, usage, and examples.

Citation

If you use metric-learn in a scientific publication, we would appreciate citations to the following paper:

metric-learn: Metric Learning Algorithms in Python, de Vazelhes et al., arXiv:1908.04710, 2019.

Bibtex entry:

@techreport{metric-learn,
  title = {metric-learn: {M}etric {L}earning {A}lgorithms in {P}ython},
  author = {{de Vazelhes}, William and {Carey}, CJ and {Tang}, Yuan and
            {Vauquier}, Nathalie and {Bellet}, Aur{\'e}lien},
  institution = {arXiv:1908.04710},
  year = {2019}
}

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

metric-learn-0.6.2.tar.gz (80.0 kB view details)

Uploaded Source

Built Distribution

metric_learn-0.6.2-py2.py3-none-any.whl (64.8 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file metric-learn-0.6.2.tar.gz.

File metadata

  • Download URL: metric-learn-0.6.2.tar.gz
  • Upload date:
  • Size: 80.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3.post20200330 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.2

File hashes

Hashes for metric-learn-0.6.2.tar.gz
Algorithm Hash digest
SHA256 36cbfc691d66d099c817694265d75fbd4ede57a90f2bf05b28dd7f0b4d22a1db
MD5 adddd34d88c79cb13894c9b183398548
BLAKE2b-256 3c71dad20a294738cbe289b2b9ccef96d133277e6bdef4c10a5d322157593a65

See more details on using hashes here.

File details

Details for the file metric_learn-0.6.2-py2.py3-none-any.whl.

File metadata

  • Download URL: metric_learn-0.6.2-py2.py3-none-any.whl
  • Upload date:
  • Size: 64.8 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3.post20200330 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.2

File hashes

Hashes for metric_learn-0.6.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 033c3f48711be37c2bca8c44875662665c0283cb544707b77003d21f1564ef85
MD5 6b178f246fe85dcf227173966cc87084
BLAKE2b-256 563f75bc47a6591bedf566c42e93c73fd1cc6ac9487059795f28ef4ec6c6e824

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