Home/LLM Frameworks/metric-learn
metric-learn logo

metric-learn

Enrichment pending
scikit-learn-contrib/metric-learn

Metric learning algorithms in Python

GraphCanon updated today · GitHub synced today

1.4k
Stars
232
Forks
51
Open issues
42
Watchers
3mo
Last push
Python MITCreated Nov 2, 2013

Trust & integrity

Full report
Maintenance
Slowing (114d since push)
As of today · Source: github_public_v1
Provenance
Not a fork · Organization account
As of today · Source: github_public_v1
Security (OSV)
No lockfile
As of today · Source: none

Public GitHub metadata and optional OSV dependency scans. Signals, not a guarantee. Trust methodology.

Overview

Metric learning algorithms in Python

Capability facts

Languages
python

Source: github.language · Jul 11, 2026

Categories

Compatibility

Sourced claims from the README excerpt - not unsourced marketing copy.

Python runtimePython

Source: README excerpt (regex_v1, Jul 11, 2026)

metric-learn: Metric Learning in Python
Source link

Tags

README

|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 <https://github.com/scikit-learn-contrib>, the API of metric-learn is compatible with scikit-learn <http://scikit-learn.org/stable/>, 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 <https://pypi.org/project/metric-learn/0.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 <https://github.com/skggm/skggm/commit/a0ed406586c4364ea3297a658f415e13b5cbdaf8>_). 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 <https://github.com/conda-forge/metric-learn-feedstock#installing-metric-learn>_.

  • 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 <http://www.jmlr.org/papers/volume21/19-678/19-678.pdf>_, 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} }

.. _sphinx documentation: http://contrib.scikit-learn.org/metric-learn/

.. |GitHub Actions Build Status| image:: https://github.com/scikit-learn-contrib/metric-learn/workflows/CI/badge.svg :target: https://github.com/scikit-learn-contrib/metric-learn/actions?query=event%3Apush+branch%3Amaster .. |License| image:: http://img.shields.io/:license-mit-blue.svg?style=flat :target: http://badges.mit-license.org .. |PyPI version| image:: https://badge.fury.io/py/metric-learn.svg :target: http://badge.fury.io/py/metric-learn .. |Code coverage| image:: https://codecov.io/gh/scikit-learn-contrib/metric-learn/branch/master/graph/badge.svg :target: https://codecov.io/gh/scikit-learn-contrib/metric-learn