metric-learn

Metric learning algorithms in Python

https://github.com/scikit-learn-contrib/metric-learn

Science Score: 23.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    4 of 23 committers (17.4%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (18.5%) to scientific vocabulary

Keywords

machine-learning metric-learning python scikit-learn
Last synced: 5 months ago · JSON representation

Repository

Metric learning algorithms in Python

Basic Info
Statistics
  • Stars: 1,422
  • Watchers: 44
  • Forks: 229
  • Open Issues: 51
  • Releases: 11
Topics
machine-learning metric-learning python scikit-learn
Created over 12 years ago · Last pushed over 1 year ago
Metadata Files
Readme License

README.rst

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

.. _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

Owner

  • Name: scikit-learn-contrib
  • Login: scikit-learn-contrib
  • Kind: organization

scikit-learn compatible projects

GitHub Events

Total
  • Watch event: 26
  • Issue comment event: 9
  • Pull request review event: 1
  • Fork event: 1
Last Year
  • Watch event: 26
  • Issue comment event: 9
  • Pull request review event: 1
  • Fork event: 1

Committers

Last synced: 11 months ago

All Time
  • Total Commits: 289
  • Total Committers: 23
  • Avg Commits per committer: 12.565
  • Development Distribution Score (DDS): 0.661
Past Year
  • Commits: 2
  • Committers: 2
  • Avg Commits per committer: 1.0
  • Development Distribution Score (DDS): 0.5
Top Committers
Name Email Commits
CJ Carey p****e@g****m 98
William de Vazelhes 3****s 67
terrytangyuan t****n@g****m 28
Aurélien Bellet b****t 20
Maximiliano Vargas 4****3 14
svecon o****c@g****m 13
William de Vazelhes w****s@i****r 12
Robin Vogel r****0@g****m 7
Björn Barz b****z@u****e 6
Bhargav Srinivasa b****r@g****m 5
Gabriel Rudloff g****f@g****m 4
Nikolaos Michas 6****s 2
ab-anssi a****n@s****r 2
Yuan Tang y****g@Y****l 2
Anirud Thyagharajan a****t 1
Arik Poznanski a****z 1
Damin Kühn d****n@r****e 1
Devashish Deshpande a****2@g****m 1
Hanchen Wang h****6@g****m 1
LBrummer l****r@g****m 1
Léo Gautheron l****n@h****r 1
Michael Stewart m****l@s****o 1
Syed Shalan Naqvi n****5@i****u 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 9 months ago

All Time
  • Total issues: 43
  • Total pull requests: 62
  • Average time to close issues: 9 months
  • Average time to close pull requests: 4 months
  • Total issue authors: 22
  • Total pull request authors: 17
  • Average comments per issue: 2.67
  • Average comments per pull request: 3.89
  • Merged pull requests: 45
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 2
  • Average time to close issues: N/A
  • Average time to close pull requests: 4 days
  • Issue authors: 0
  • Pull request authors: 2
  • Average comments per issue: 0
  • Average comments per pull request: 1.0
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • wdevazelhes (15)
  • bellet (5)
  • grudloff (3)
  • terrytangyuan (2)
  • nikosmichas (1)
  • FiratIsmailoglu (1)
  • IvanaXu (1)
  • drjosephliu (1)
  • yuanborong (1)
  • angelotc (1)
  • akablar (1)
  • anirudt (1)
  • jac99 (1)
  • RobinVogel (1)
  • smarie (1)
Pull Request Authors
  • mvargas33 (18)
  • wdevazelhes (12)
  • bellet (10)
  • grudloff (4)
  • nikosmichas (3)
  • RobinVogel (3)
  • DaminK (2)
  • terrytangyuan (2)
  • perimosocordiae (2)
  • maxi-marufo (1)
  • johny-c (1)
  • zdk123 (1)
  • svecon (1)
  • viv696 (1)
  • JanekBlankenburg (1)
Top Labels
Issue Labels
enhancement (7) documentation (6) bug (4) good first issue (2) new feature (1)
Pull Request Labels
new feature (1) enhancement (1)

Packages

  • Total packages: 16
  • Total downloads:
    • pypi 5,543 last-month
  • Total docker downloads: 92
  • Total dependent packages: 3
    (may contain duplicates)
  • Total dependent repositories: 70
    (may contain duplicates)
  • Total versions: 44
  • Total maintainers: 7
alpine-v3.18: py3-metric-learn-pyc

Precompiled Python bytecode for py3-metric-learn

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 3.2%
Forks count: 6.2%
Stargazers count: 6.8%
Maintainers (1)
Last synced: 7 months ago
alpine-v3.18: py3-metric-learn

Metric learning algorithms in Python

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 3.2%
Forks count: 6.2%
Stargazers count: 6.8%
Maintainers (1)
Last synced: 6 months ago
pypi.org: metric-learn

Python implementations of metric learning algorithms

  • Versions: 10
  • Dependent Packages: 2
  • Dependent Repositories: 69
  • Downloads: 5,543 Last month
  • Docker Downloads: 92
Rankings
Dependent repos count: 1.8%
Stargazers count: 1.8%
Downloads: 3.0%
Forks count: 3.2%
Docker downloads count: 3.3%
Average: 3.4%
Dependent packages count: 7.3%
Last synced: 6 months ago
proxy.golang.org: github.com/scikit-learn-contrib/metric-learn
  • Versions: 11
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 6.5%
Average: 6.7%
Dependent repos count: 7.0%
Last synced: 6 months ago
alpine-edge: py3-metric-learn

Metric learning algorithms in Python

  • Versions: 5
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Forks count: 7.1%
Average: 7.5%
Stargazers count: 8.2%
Dependent packages count: 14.6%
Maintainers (1)
Last synced: 7 months ago
alpine-edge: py3-metric-learn-pyc

Precompiled Python bytecode for py3-metric-learn

  • Versions: 4
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Forks count: 7.5%
Average: 7.6%
Stargazers count: 8.6%
Dependent packages count: 14.1%
Maintainers (1)
Last synced: 7 months ago
conda-forge.org: metric-learn

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.

  • Versions: 3
  • Dependent Packages: 0
  • Dependent Repositories: 1
Rankings
Stargazers count: 11.0%
Forks count: 11.6%
Dependent repos count: 24.1%
Average: 24.6%
Dependent packages count: 51.5%
Last synced: 6 months ago
spack.io: py-metric-learn

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.

  • Versions: 1
  • Dependent Packages: 1
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Average: 28.6%
Dependent packages count: 57.1%
Maintainers (1)
Last synced: 6 months ago
alpine-v3.20: py3-metric-learn

Metric learning algorithms in Python

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 100%
Maintainers (1)
Last synced: 6 months ago
alpine-v3.21: py3-metric-learn

Metric learning algorithms in Python

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 100%
Maintainers (1)
Last synced: 6 months ago
alpine-v3.21: py3-metric-learn-pyc

Precompiled Python bytecode for py3-metric-learn

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 100%
Maintainers (1)
Last synced: 6 months ago
alpine-v3.22: py3-metric-learn-pyc

Precompiled Python bytecode for py3-metric-learn

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 100%
Maintainers (1)
Last synced: 7 months ago
alpine-v3.22: py3-metric-learn

Metric learning algorithms in Python

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 100%
Maintainers (1)
Last synced: 7 months ago
alpine-v3.20: py3-metric-learn-pyc

Precompiled Python bytecode for py3-metric-learn

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 100%
Maintainers (1)
Last synced: 6 months ago
alpine-v3.19: py3-metric-learn

Metric learning algorithms in Python

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 100%
Maintainers (1)
Last synced: 6 months ago
alpine-v3.19: py3-metric-learn-pyc

Precompiled Python bytecode for py3-metric-learn

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 100%
Last synced: 6 months ago

Dependencies

setup.py pypi
  • numpy >=
  • scikit-learn >=0.21.3
  • scipy >=
.github/workflows/main.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite