You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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)
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:
@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}
}