Skip to main content

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}
}

Release files for metric-learn 0.7.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for metric-learn 0.7.0
File Size Uploaded
metric-learn-0.7.0.tar.gz 86.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for metric-learn 0.7.0
File Interpreter ABI Platform
metric_learn-0.7.0-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 153.8 kB

Release files / metric-learn-0.7.0.tar.gz

Download URL metric-learn-0.7.0.tar.gz
Size 86.0 kB
Tags Source
SHA-256 checksum
How to use checksums
2b35246a1098d74163b16cc7779e0abfcbf9036050f4caa258e4fee55eb299cc
BLAKE2b-256 checksum
How to use checksums
a8368efc352a16dcb1e6058b90776e21f91f8631104a0e0229d5151f4d95695d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.5

Release files / metric_learn-0.7.0-py2.py3-none-any.whl

Download URL metric_learn-0.7.0-py2.py3-none-any.whl
Size 67.8 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
193c218ca967289ab988d307fa18ead34fb0ef439774b06867ca526a05d766a8
BLAKE2b-256 checksum
How to use checksums
5251e5d46bef64e6a39055eecca67b5342a5fefe3744b73a744a58487651a209
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.5

Release history Release notifications | RSS feed

This release

0.7.0 This release

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

1 release file

0.2.0

1 release file

0.1.1

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page