UNPKG

@thi.ng/vectors

Version:

Optimized 2d/3d/4d and arbitrary length vector operations, support for memory mapping/layouts

66 lines 1.79 kB
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