两个矩阵的余弦相似性

2024-03-28 13:58:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个256x256的阵列,其中的信息有两个不同的单位(一个单位是米,另一个单位是度)。当我用彩色地图绘制它们时,图像看起来非常相似,但我知道其中的信息在大小和单位上完全不同。因为图像看起来像,我想计算它们之间的相似程度的百分比。(我知道这样说是含糊不清的,但我对如何进行比较持开放态度)

到目前为止,我正在两个矩阵之间使用scikitlearncosine_similarity函数,但是我在理解结果矩阵的含义时遇到了问题

那么,哪个值表示相似性?有没有更好的方法来分析这两幅图像?(附图)

import numpy as np
import matplotlib.pyplot as plt
from sklearn import metrics


matrix_A=dataA #256x256 matrix 
matrix_B=dataB #256x256 matrix

sim_AB=metrics.pairwise.cosine_similarity(A,B) #Similarity matrix
plt.imshow(sim_AB)

dataAdataB

similarity_matrix


Tags: 图像import信息abas地图绘制单位
1条回答
网友
1楼 · 发布于 2024-03-28 13:58:49

我相信cosine_similarity将矩阵视为列上的特征和行上的样本(或者相反)。这就好像你有256个特征和256个样本(每个样本),结果是特征之间的比较。也许scipycorrelate2d就是你要找的?这将计算两幅图像之间的相关性。相关性越高,它们就越相似。或者,您可以定义一些度量并计算距离,如<(A-B)^2>,但如果单位不同,这就没有什么意义了

相关问题 更多 >