scipy.spatial.distance.
相关性#
- scipy.spatial.distance.correlation(u, v, w=None, centered=True)[源代码]#
计算两个 1 维数组之间的相关距离。
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,) 浮点数类型的类数组
输入数组。
自版本 1.15.0 起弃用:复数 u 已弃用,将在 SciPy 1.17.0 中引发错误
- v(N,) 浮点数类型的类数组
输入数组。
自版本 1.15.0 起弃用:复数 v 已弃用,将在 SciPy 1.17.0 中引发错误
- w(N,) 浮点数类型的类数组,可选
u 和 v 中每个值的权重。默认为 None,表示每个值的权重为 1.0
- centeredbool,可选
如果为 True,则 u 和 v 将居中。默认为 True。
- 返回:
- correlationdouble
1 维数组 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