如何找到两个向量的相似性

时间:2019-01-23 05:39:31

标签: python scikit-learn distance

我有2个向量

x = [18000,18000,1,8999.1913]
y = [18000,18000,1,9000.5]

我使用Sklearn距离计算了两者之间的曼哈顿距离。我有价值

1.3086

如何用百分比表示?

因为通过查看向量,似乎两者几乎相同。因此,百分比值应接近100%。如何实现这一目标??

1 个答案:

答案 0 :(得分:2)

您可以使用这种方法

Pearson相关系数可能是用于以下两个正态分布变量之间的线性关系的最广泛使用的度量,

其中x和y是两个向量,是这些向量的均值,r的值始终在0和1之间。因此,您可以乘以100以获得百分比值。

这是python实现:https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.pearsonr.html

>>> from scipy import stats
>>> x = [18000,18000,1,8999.1913]
>>> y = [18000,18000,1,9000.5]
>>> stats.pearsonr(x,y)
(0.99999999720381061, 2.7961893911410134e-09)
>>> r = stats.pearsonr(y,x)
>>> percentage = r[0]*100
>>> percentage
99.999999720381055