Skip to main content

Python implementations of metric learning algorithms

Project description

GitHub Actions 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>= 1.11.0, scipy>= 0.17.0, scikit-learn>=0.21.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., Journal of Machine Learning Research, 21(138):1-6, 2020.

Bibtex entry:

@article{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},
  journal = {Journal of Machine Learning Research},
  year = {2020},
  volume = {21},
  number = {138},
  pages = {1--6}
}

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

Uploaded Source

Built Distribution

metric_learn-0.7.0-py2.py3-none-any.whl (67.8 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

  • Download URL: metric-learn-0.7.0.tar.gz
  • Upload date:
  • Size: 86.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for metric-learn-0.7.0.tar.gz
Algorithm Hash digest
SHA256 2b35246a1098d74163b16cc7779e0abfcbf9036050f4caa258e4fee55eb299cc
MD5 a7ece43ca2178b3ecad654a0eea37a8b
BLAKE2b-256 a8368efc352a16dcb1e6058b90776e21f91f8631104a0e0229d5151f4d95695d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for metric_learn-0.7.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 193c218ca967289ab988d307fa18ead34fb0ef439774b06867ca526a05d766a8
MD5 367c527abef7408d58f6b83245aee198
BLAKE2b-256 5251e5d46bef64e6a39055eecca67b5342a5fefe3744b73a744a58487651a209

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