Skip to main content

Python implementations of metric learning algorithms

Project description

Travis-CI Build Status License PyPI version

metric-learn

Metric Learning algorithms in Python.

Algorithms

  • 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)

Dependencies

  • Python 2.7+, 3.4+

  • numpy, scipy, scikit-learn

  • (for running the examples only: matplotlib)

Installation/Setup

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

Run python setup.py install for default installation.

Run python setup.py test to run all tests.

Usage

For full usage examples, see the sphinx documentation.

Each metric is a subclass of BaseMetricLearner, which provides default implementations for the methods metric, transformer, and transform. Subclasses must provide an implementation for either metric or transformer.

For an instance of a metric learner named foo learning from a set of d-dimensional points, foo.metric() returns a d by d matrix M such that a distance between vectors x and y is expressed (x-y).dot(M).dot(x-y).

In the same scenario, foo.transformer() returns a d by d matrix L such that a vector x can be represented in the learned space as the vector x.dot(L.T).

For convenience, the function foo.transform(X) is provided for converting a matrix of points (X) into the learned space, in which standard Euclidean distance can be used.

Notes

If a recent version of the Shogun Python modular (modshogun) library is available, the LMNN implementation will use the fast C++ version from there. The two implementations differ slightly, and the C++ version is more complete.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

metric-learn-0.3.0.tar.gz (13.0 kB view details)

Uploaded Source

File details

Details for the file metric-learn-0.3.0.tar.gz.

File metadata

File hashes

Hashes for metric-learn-0.3.0.tar.gz
Algorithm Hash digest
SHA256 80711fc830c817b2dc1da4f85bff45995e432db87da920f42cc5cbf586f81423
MD5 a71ddea89420a6f1ceeff189b0e81960
BLAKE2b-256 4b9b2e6f6bc16665b9d6a8f23fe31f012fb5840cdc67e2378af5871782cba766

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page