@leolee9086/vector-metrics
v1.0.1
Published
向量度量算法集合
Maintainers
Readme
Vector Metrics
向量度量算法集合,支持15种距离和相似度算法。
安装
npm install @base/vector-metrics使用方法
import {
computeCosineSimilarity,
computeEuclideanDistance,
computeDotProduct,
computeVectorNorm,
computeManhattanDistance,
computeHammingDistance,
computeJaccardDistance,
computeBrayCurtisDistance,
computeChebyshevDistance,
computeMinkowskiDistance,
computeChiSquareDistance,
computeClarkDistance,
computeCorrelationDistance,
computeLorentzianDistance,
computeSquaredEuclideanDistance,
getMetric,
getAvailableMetrics
} from '@base/vector-metrics';
// 直接使用算法函数
const similarity = computeCosineSimilarity([1, 2, 3], [4, 5, 6]);
const distance = computeEuclideanDistance([1, 2, 3], [4, 5, 6]);
const dotProduct = computeDotProduct([1, 2, 3], [4, 5, 6]);
// 通过算法名获取算法
const cosineMetric = getMetric('cosine-similarity');
const euclideanMetric = getMetric('euclidean');
const manhattanMetric = getMetric('manhattan');
// 使用获取的算法
const similarity2 = cosineMetric([1, 2, 3], [4, 5, 6]);
const distance2 = euclideanMetric([1, 2, 3], [4, 5, 6]);
// 获取所有可用算法名称
const availableMetrics = getAvailableMetrics();
console.log(availableMetrics); // ['dot-product', 'vector-norm', 'cosine-similarity', ...]支持的算法
基础度量
- 点积 (Dot Product) - 向量内积计算
- 向量范数 (Vector Norm) - L2范数计算
- 余弦相似度 (Cosine Similarity) - 角度相似性度量
距离度量
- 欧几里得距离 (Euclidean Distance) - 直线距离
- 平方欧几里得距离 (Squared Euclidean) - 避免开方运算
- 曼哈顿距离 (Manhattan Distance) - L1距离
- 切比雪夫距离 (Chebyshev Distance) - L∞距离
- 闵可夫斯基距离 (Minkowski Distance) - 广义距离
特殊距离
- 汉明距离 (Hamming Distance) - 二进制向量距离
- 杰卡德距离 (Jaccard Distance) - 集合相似度
- 布雷-柯蒂斯距离 (Bray-Curtis Distance) - 生态学距离
- 卡方距离 (Chi-Square Distance) - 统计距离
- 克拉克距离 (Clark Distance) - 比例敏感距离
- 相关距离 (Correlation Distance) - 相关性度量
- 洛伦兹距离 (Lorentzian Distance) - 异常检测距离
开发
# 运行测试
npm test
# 运行基准测试
npm run tournament
# 构建
npm run build许可证
AGPL-3.0
