scipy.spatial.distance.
sokalsneath#
- scipy.spatial.distance.sokalsneath(u, v, w=None)[source]#
计算两个布尔型一维数组之间的 Sokal-Sneath 差异。
u 和 v 之间的 Sokal-Sneath 差异为:
\[\frac{R} {c_{TT} + R}\]其中 \(c_{ij}\) 是 \(\mathtt{u[k]} = i\) 和 \(\mathtt{v[k]} = j\) 在 \(k < n\) 中出现的次数,并且 \(R = 2(c_{TF} + c_{FT})\)。
- 参数:
- u(N,) array_like, bool
输入数组。
- v(N,) array_like, bool
输入数组。
- w(N,) array_like, 可选
u 和 v 中每个值的权重。默认值为 None,为每个值赋予 1.0 的权重。
- 返回值:
- sokalsneathdouble
向量 u 和 v 之间的 Sokal-Sneath 差异。
示例
>>> from scipy.spatial import distance >>> distance.sokalsneath([1, 0, 0], [0, 1, 0]) 1.0 >>> distance.sokalsneath([1, 0, 0], [1, 1, 0]) 0.66666666666666663 >>> distance.sokalsneath([1, 0, 0], [2, 1, 0]) 0.0 >>> distance.sokalsneath([1, 0, 0], [3, 1, 0]) -2.0