Travis-CI Build Status License PyPI version Code coverage


Metric Learning algorithms in Python.


  • Large Margin Nearest Neighbor (LMNN)
  • Information Theoretic Metric Learning (ITML)
  • Sparse Determinant Metric Learning (SDML)
  • Least Squares Metric Learning (LSML)
  • Neighborhood Components Analysis (NCA)
  • Local Fisher Discriminant Analysis (LFDA)
  • Relative Components Analysis (RCA)
  • Metric Learning for Kernel Regression (MLKR)
  • Mahalanobis Metric for Clustering (MMC)


  • Python 2.7+, 3.4+
  • 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).
  • For running the examples only: matplotlib


Run pip install metric-learn to download and install from PyPI.

Run python install for default installation.

Run pytest test to run all tests (you will need to have the pytest package installed).


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