当我应用最小-最大缩放比例时,Numpy 对称矩阵变得不对称

Numpy symmetric matrix becomes asymmetric when I applied min-max scaling

我有一个对称矩阵 (1877 x 1877),这里是 matrix file。我尝试标准化 0-1 之间的值。应用此方法后,矩阵不再对称。感谢任何帮助。

print((dist.transpose() == dist).all()) # this prints 'True'
def sci_minmax(X):
    minmax_scale = preprocessing.MinMaxScaler()
    return minmax_scale.fit_transform(X)
sci_dist_scaled = sci_minmax(dist)
(sci_dist_scaled.transpose() == sci_dist_scaled).all() # this print 'False'

sci_dist_scaled.dtype, dist.dtype # (dtype('float64'), dtype('float64'))

查看 this 描述,minmaxscaler 似乎可以工作 column-by-column,因此,自然地,您不能指望它保持对称性。

在你的情况下最好做什么取决于你想要达到的目标,真的。如果您只需要 0 到 1 之间的值,您可以手动重新缩放:

 mn, mx = dist.min(), dist.max()
 dist01 = (dist - mn) / (mx - mn)

但根据您的最终问题,这可能过于简单...