@thi.ng/vectors
Version:
Optimized 2d/3d/4d and arbitrary length vector operations, support for memory mapping/layouts
66 lines • 1.79 kB
TypeScript
import type { DistanceFn } from "./api.js";
/**
* Returns the inverse {@link jaccardSimilarity}, i.e. as distance metric rather
* than similarity. Returns a value in `[0,1]` interval: 0.0 if `a` and `b` are
* equal, or 1.0 if none of the components match.
*
* @remarks
* The sizes of both input vectors MUST be equal. All non-zero vector component
* values are treated equal.
*
* References:
*
* - https://en.wikipedia.org/wiki/Jaccard_index
* - https://en.wikipedia.org/wiki/One-hot
*
* @example
* ```ts tangle:../export/dist-jaccard.ts
* import { distJaccard } from "@thi.ng/vectors";
*
* console.log(distJaccard([0, 0, 0, 0], [1, 1, 1, 1]));
* // 1
*
* console.log(distJaccard([0, 1, 0, 0], [1, 1, 1, 1]));
* // 0.75
*
* console.log(distJaccard([0, 1, 1, 0], [0, 1, 1, 0]));
* // 0
* ```
*
* @param a -
* @param b -
*/
export declare const distJaccard: DistanceFn;
/**
* Returns the Jaccard similarity of given multi-hot vectors, a value in the
* `[0,1]` interval: 1.0 if `a` and `b` are equal, or 0.0 if none of the
* components match.
*
* @remarks
* The sizes of both input vectors MUST be equal. All non-zero vector component
* values are treated equal.
*
* References:
*
* - https://en.wikipedia.org/wiki/Jaccard_index
* - https://en.wikipedia.org/wiki/One-hot
*
* @example
* ```ts tangle:../export/jaccard-similarity.ts
* import { jaccardSimilarity } from "@thi.ng/vectors";
*
* console.log(jaccardSimilarity([0, 0, 0, 0], [1, 1, 1, 1]));
* // 0
*
* console.log(jaccardSimilarity([0, 1, 0, 0], [1, 1, 1, 1]));
* // 0.25
*
* console.log(jaccardSimilarity([0, 1, 1, 0], [0, 1, 1, 0]));
* // 1
* ```
*
* @param a -
* @param b -
*/
export declare const jaccardSimilarity: DistanceFn;
//# sourceMappingURL=dist-jaccard.d.ts.map