scipy.spatial.distance.

相关性#

scipy.spatial.distance.correlation(u, v, w=None, centered=True)[源代码][源代码]#

计算两个一维数组之间的相关距离。

uv 之间的相关距离定义为

\[1 - \frac{(u - \bar{u}) \cdot (v - \bar{v})} {{\|(u - \bar{u})\|}_2 {\|(v - \bar{v})\|}_2}\]

其中 \(\bar{u}\)u 元素的均值,\(x \cdot y\)\(x\)\(y\) 的点积。

参数:
u(N,) 数组类

输入数组。

v(N,) 数组类

输入数组。

w(N,) 数组类,可选

uv 中每个值的权重。默认是 None,即每个值的权重为 1.0。

居中bool, 可选

如果为 True,uv 将会居中。默认值为 True。

返回:
相关性

1-D 数组 uv 之间的相关距离。

示例

找出两个数组之间的相关性。

>>> from scipy.spatial.distance import correlation
>>> correlation([1, 0, 1], [1, 1, 0])
1.5

使用一个权重数组,相关性可以计算为:

>>> correlation([1, 0, 1], [1, 1, 0], w=[0.9, 0.1, 0.1])
1.1

如果不需要居中,可以按如下方式计算相关性:

>>> correlation([1, 0, 1], [1, 1, 0], centered=False)
0.5