scipy.spatial.distance.
correlation#
- scipy.spatial.distance.correlation(u, v, w=None, centered=True)[source]#
计算两个一维数组之间的相关性距离。
u 和 v 之间的相关性距离定义为
\[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,) array_like
输入数组。
- v(N,) array_like
输入数组。
- w(N,) array_like, optional
u 和 v 中每个值的权重。默认值为 None,这将为每个值赋予 1.0 的权重。
- centeredbool, optional
如果为 True,则将对 u 和 v 进行居中。默认值为 True。
- 返回值:
- correlationdouble
一维数组 u 和 v 之间的相关性距离。
示例
找到两个数组之间的相关性。
>>> 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