scipy.spatial.distance.

correlation#

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

计算两个 1-D 数组之间的相关距离。

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,) 浮点型数组

输入数组。

1.15.0 版本弃用: 不推荐使用复数 u,并且在 SciPy 1.17.0 中将引发错误

v(N,) 浮点型数组

输入数组。

1.15.0 版本弃用: 不推荐使用复数 v,并且在 SciPy 1.17.0 中将引发错误

w(N,) 浮点型数组,可选

uv 中每个值的权重。默认为 None,这为每个值赋予权重 1.0

centeredbool,可选

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

返回:
correlationdouble

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