scipy.spatial.distance.

相关性#

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

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

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 维数组 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