Metric learning algorithms in Python
|GitHub Actions Build Status| |License| |PyPI version| |Code coverage|
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
Dependencies
v0.5.0 <https://pypi.org/project/metric-learn/0.5.0/>_)Optional dependencies
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.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
refactor lmnn code
[DOC] Calibration example
[DOC] RCA should maybe be in "Supervised algorithms"
[DOC] Add developer documentation page
TypeError: _inplace_paired_L2() missing 2 required positional arguments: 'A' and 'B'
Allow support for multi-label algorithms
Large Datasets in terms of Number of Attributes