scipy.spatial.distance.
sokalmichener#
- scipy.spatial.distance.sokalmichener(u, v, w=None)[源代码]#
计算两个布尔值一维数组之间的 Sokal-Michener 不相似度。
自 1.15.0 版本弃用: 此函数已弃用,将在 SciPy 1.17.0 中删除。请使用
rogerstanimoto(u, v)
替换sokalmichener(u, v)
的用法。布尔值一维数组 u 和 v 之间的 Sokal-Michener 不相似度定义为
\[\frac{R} {S + R}\]其中 \(c_{ij}\) 表示 \(\mathtt{u[k]} = i\) 和 \(\mathtt{v[k]} = j\) 的出现次数,对于 \(k < n\),\(R = 2 * (c_{TF} + c_{FT})\) 和 \(S = c_{FF} + c_{TT}\)。
- 参数:
- u(N,) 类似数组,布尔值
输入数组。
- v(N,) 类似数组,布尔值
输入数组。
- w(N,) 类似数组,可选
u 和 v 中每个值的权重。默认为 None,表示每个值的权重为 1.0
- 返回:
- sokalmichener双精度浮点数
向量 u 和 v 之间的 Sokal-Michener 不相似度。
示例
>>> from scipy.spatial import distance >>> distance.sokalmichener([1, 0, 0], [0, 1, 0]) 0.8 >>> distance.sokalmichener([1, 0, 0], [1, 1, 0]) 0.5 >>> distance.sokalmichener([1, 0, 0], [2, 0, 0]) -1.0