nndeploy.base.similarity¶
Functions
|
计算两个numpy数组的余弦相似度 |
|
计算两个numpy数组的欧式距离相似度 |
|
统计数据分布并放入指定数量的箱子中 |
|
计算两个numpy数组的均方误差(MSE)相似度 |
- nndeploy.base.similarity.histogram_data_distribution(data: ndarray, num_bins: int = 2048) ndarray[源代码]¶
统计数据分布并放入指定数量的箱子中
- 参数:
data – 输入的numpy数组,表示需要统计的数据
num_bins – 箱子的数量,默认为2048
- 返回:
每个箱子的频数
- 返回类型:
np.ndarray
- nndeploy.base.similarity.cosine_similarity(array1: ndarray, array2: ndarray) float[源代码]¶
计算两个numpy数组的余弦相似度
余弦相似度用于衡量两个向量的相似程度,通过计算向量间夹角的余弦值得到。 结果范围在[-1,1]之间: 1: 表示两个向量方向完全相同,即最相似 0: 表示两个向量正交,即没有相似性 -1: 表示两个向量方向完全相反,即最不相似
计算公式为: cos(θ) = (A·B)/(||A||·||B||) 其中A·B为向量点积, ||A||和||B||分别为向量的模长
- 参数:
array1 – 第一个numpy数组
array2 – 第二个numpy数组
- 返回:
余弦相似度值,范围在[-1,1]之间
- 返回类型:
- nndeploy.base.similarity.mse_similarity(array1: ndarray, array2: ndarray) float[源代码]¶
计算两个numpy数组的均方误差(MSE)相似度
均方误差用于衡量两个数组之间的差异程度。 MSE值越小表示两个数组越相似。 为了与余弦相似度保持一致的相似度表示: - 使用exp(-MSE)将结果映射到(0,1]区间 - 1表示完全相同(MSE=0) - 接近0表示差异很大(MSE很大)
计算公式为: MSE = mean((A-B)^2) 相似度 = exp(-MSE)
- 参数:
array1 – 第一个numpy数组
array2 – 第二个numpy数组
- 返回:
MSE相似度值,范围在(0,1]之间
- 返回类型:
- nndeploy.base.similarity.euclidean_similarity(array1: ndarray, array2: ndarray) float[源代码]¶
计算两个numpy数组的欧式距离相似度
欧式距离用于衡量两个数组在欧几里得空间中的距离。 为了与其他相似度保持一致: - 使用exp(-distance)将结果映射到(0,1]区间 - 1表示完全相同(距离为0) - 接近0表示差异很大(距离很大)
计算公式为: distance = sqrt(sum((A-B)^2)) 相似度 = exp(-distance)
- 参数:
array1 – 第一个numpy数组
array2 – 第二个numpy数组
- 返回:
欧式距离相似度值,范围在(0,1]之间
- 返回类型: