ML Distance
This Rust crate is based on the paper Comprehensive Survey on Distance/Similarity Measures between Probability Density Functions and implemented to port the ml-distance pkg from js/ts to rust.
Usage
Run the following Cargo command in your project directory:
Or add the following line to your Cargo.toml:
= "0.2.1"
And then use it in your code like this:
Note: The distances and similarities are implemented for all types that implement the
Into\<f64\>trait. (e.g.f64,i32,u32,i64, ...)
use distance;
let p: = ;
let q: = ;
let dist = euclidean;
assert_eq!;
Or for similarityies
use similarity;
let p = vec!;
let q = vec!;
let dist = cosine;
assert_eq!;
Distances Implemented
| Name | Formula Link | Status |
|---|---|---|
| euclidean | Link | ✅ |
| manhattan | Link | ✅ |
| minkowski | Link | ✅ |
| chebyshev | Link | ✅ |
| sorensen | Link | ✅ |
| gower | Link | ✅ |
| soergel | Link | ✅ |
| kulczynski | Link | ✅ |
| canberra | Link | ✅ |
| lorentzian | Link | ✅ |
| intersection | Link | ✅ |
| waveHedges | Link | ✅ |
| czekanowski | Link | ✅ |
| motyka | Link | ✅ |
| ruzicka | Link | ✅ |
| tanimoto | Link | 🔜 |
| innerProduct | Link | ✅ |
| harmonicMean | Link | ✅ |
| kumarHassebrook | Link | ✅ |
| jaccard | Link | ✅ |
| dice | Link | ✅ |
| bhattacharyya | Link | ✅ |
| hellinger | Link | ✅ |
| matusita | Link | ✅ |
| squaredChord | Link | ✅ |
| squaredEuclidean | Link | ✅ |
| pearson | Link | ✅ |
| neyman | Link | ✅ |
| squared | Link | ✅ |
| probabilisticSymmetric | Link | ✅ |
| divergence | Link | ✅ |
| clark | Link | ✅ |
| additiveSymmetric | Link | ✅ |
| kullbackLeibler | Link | ✅ |
| jeffreys | Link | ✅ |
| kdivergence | Link | ✅ |
| topsoe | Link | ✅ |
| jensenShannon | Link | ✅ |
| jensenDifference | Link | ✅ |
| taneja | Link | ✅ |
| kumarJohnson | Link | ✅ |
| avg | Link | ✅ |
Similarities Implemented
| Name | Formula Link | Status |
|---|---|---|
| cosine | Link | ✅ |
| dice | Link | ✅ |
| fidelity | Link | ✅ |
| kulczynski | Link | ✅ |
| czekanowski | Link | ✅ |
| intersection | Link | ✅ |
| jaccard | Link | ✅ |
| motyka | Link | ✅ |
| squaredChord | Link | ✅ |