scipy.spatial.distance.

correlation#

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

計算兩個 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,) 浮點數的 array_like

輸入陣列。

Deprecated since version 1.15.0: Complex u 已棄用,將在 SciPy 1.17.0 中引發錯誤

v(N,) 浮點數的 array_like

輸入陣列。

Deprecated since version 1.15.0: Complex v 已棄用,將在 SciPy 1.17.0 中引發錯誤

w(N,) 浮點數的 array_like,可選

用於 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