scipy.spatial.distance.squareform¶
- scipy.spatial.distance.squareform(X, force='no', checks=True)[源代码]¶
将矢量形式的距离矢量转换为平方形式的距离矩阵,反之亦然。
- 参数
- Xarray_like
可以是浓缩距离矩阵,也可以是冗余距离矩阵。
- force字符串,可选
与MATLAB(TM)一样,如果力等于
'tovector'或'tomatrix',则分别将输入视为距离矩阵或距离矢量。- checks布尔值,可选
如果设置为False,则不会检查矩阵对称性或零对角线。如果已知以下情况,这将非常有用
X - X.T1很小,而且diag(X)接近于零。这些值无论如何都会被忽略,这样它们就不会中断正方形变换。
- 退货
- Yndarray
如果传递压缩距离矩阵,则返回冗余距离矩阵;如果传递冗余距离矩阵,则返回压缩距离矩阵。
注意事项
v = squareform(X)给定一个n乘n平方对称距离矩阵
X,v = squareform(X)返回一个n * (n-1) / 2(即二项式系数n选择2)大小向量 v 哪里 \(v[{{n \choose 2}} - {{n-i \choose 2}} + (j-i-1)]\) 是不同点之间的距离i和j。如果X为非方或非对称,则会引发错误。X = squareform(v)给出了一个
n * (n-1) / 2调整大小的矢量v对于某个整数n >= 1编码距离如上所述,X = squareform(v)返回n乘以n的距离矩阵X。这个X[i, j]和X[j, i]值设置为 \(v[{{n \choose 2}} - {{n-i \choose 2}} + (j-i-1)]\) 所有的对角元素都是零。
在Science Py 0.19.0中,
squareform停止将所有输入类型强制转换为Float64,并开始返回与输入具有相同数据类型的数组。