ml-distance

Distance and similarity functions to compare vectors

Usage no npm install needed!

<script type="module">
  import mlDistance from 'https://cdn.skypack.dev/ml-distance';
</script>

README

ml-distance

NPM version build status npm download

Distance functions to compare vectors.

Installation

$ npm i ml-distance

Methods

Distances

  • euclidean(p, q)

Returns the euclidean distance between vectors p and q

  • manhattan(p, q)

Returns the city block distance between vectors p and q

  • minkowski(p, q, d)

Returns the Minkowski distance between vectors p and q for order d

  • chebyshev(p, q)

Returns the Chebyshev distance between vectors p and q

  • sorensen(p, q)

Returns the Sørensen distance between vectors p and q

  • gower(p, q)

Returns the Gower distance between vectors p and q

  • soergel(p, q)

Returns the Soergel distance between vectors p and q

  • kulczynski(p, q)

Returns the Kulczynski distance between vectors p and q

  • canberra(p, q)

Returns the Canberra distance between vectors p and q

  • lorentzian(p, q)

Returns the Lorentzian distance between vectors p and q

  • intersection(p, q)

Returns the Intersection distance between vectors p and q

  • waveHedges(p, q)

Returns the Wave Hedges distance between vectors p and q

  • czekanowski(p, q)

Returns the Czekanowski distance between vectors p and q

  • motyka(p, q)

Returns the Motyka distance between vectors p and q

  • ruzicka(p, q)

Returns the Ruzicka similarity between vectors p and q

  • tanimoto(p, q, [bitVector])

Returns the Tanimoto distance between vectors p and q, and accepts the bitVector use, see the test case for an example

  • innerProduct(p, q)

Returns the Inner Product similarity between vectors p and q

  • harmonicMean(p, q)

Returns the Harmonic mean similarity between vectors p and q

  • cosine(p, q)

Returns the Cosine similarity between vectors p and q

  • kumarHassebrook(p, q)

Returns the Kumar-Hassebrook similarity between vectors p and q

  • jaccard(p, q)

Returns the Jaccard distance between vectors p and q

  • dice(p, q)

Returns the Dice distance between vectors p and q

  • fidelity(p, q)

Returns the Fidelity similarity between vectors p and q

  • bhattacharyya(p, q)

Returns the Bhattacharyya distance between vectors p and q

  • hellinger(p, q)

Returns the Hellinger distance between vectors p and q

  • matusita(p, q)

Returns the Matusita distance between vectors p and q

  • squaredChord(p, q)

Returns the Squared-chord distance between vectors p and q

  • squaredEuclidean(p, q)

Returns the squared euclidean distance between vectors p and q

  • pearson(p, q)

Returns the Pearson distance between vectors p and q

  • neyman(p, q)

Returns the Neyman distance between vectors p and q

  • squared(p, q)

Returns the Squared distance between vectors p and q

  • probabilisticSymmetric(p, q)

Returns the Probabilistic Symmetric distance between vectors p and q

  • divergence(p, q)

Returns the Divergence distance between vectors p and q

  • clark(p, q)

Returns the Clark distance between vectors p and q

  • additiveSymmetric(p, q)

Returns the Additive Symmetric distance between vectors p and q

  • kullbackLeibler(p, q)

Returns the Kullback-Leibler distance between vectors p and q

  • jeffreys(p, q)

Returns the Jeffreys distance between vectors p and q

  • kdivergence(p, q)

Returns the K divergence distance between vectors p and q

  • topsoe(p, q)

Returns the Topsøe distance between vectors p and q

  • jensenShannon(p, q)

Returns the Jensen-Shannon distance between vectors p and q

  • jensenDifference(p, q)

Returns the Jensen difference distance between vectors p and q

  • taneja(p, q)

Returns the Taneja distance between vectors p and q

  • kumarJohnson(p, q)

Returns the Kumar-Johnson distance between vectors p and q

  • avg(p, q)

Returns the average of city block and Chebyshev distances between vectors p and q

Similarities

  • intersection(p, q)

Returns the Intersection similarity between vectors p and q

  • czekanowski(p, q)

Returns the Czekanowski similarity between vectors p and q

  • motyka(p, q)

Returns the Motyka similarity between vectors p and q

  • kulczynski(p, q)

Returns the Kulczynski similarity between vectors p and q

  • squaredChord(p, q)

Returns the Squared-chord similarity between vectors p and q

  • jaccard(p, q)

Returns the Jaccard similarity between vectors p and q

  • dice(p, q)

Returns the Dice similarity between vectors p and q

  • tanimoto(p, q, [bitVector])

Returns the Tanimoto similarity between vectors p and q, and accepts the bitVector use, see the test case for an example

  • tree(a,b, from, to, [options])

Refer to ml-tree-similarity

Contributing

A new metric should normally be in its own file in the src/dist directory. There should be a corresponding test file in test/dist.
The metric should be then added in the exports of src/index.js with a relatively small but understandable name (use camelCase).
It should also be added to this README with either a link to the formula or an inline description.

Authors

License

MIT