我正在处理相关矩阵,我想重新排列行和列,以便具有最高平均相关性的列在中间,第二个最好是一个索引在上面,第三个是在中间以下的一个索引,等等等等。如何对称排序相关矩阵?
在一个示例中,这是原始矩阵
[[ 1. , -0.85240671, 0.93335528, 0.75431679, 0.81586527],
[-0.85240671, 1. , -0.874545 , -0.68551567, -0.8594703 ],
[ 0.93335528, -0.874545 , 1. , 0.7103762 , 0.86104527],
[ 0.75431679, -0.68551567, 0.7103762 , 1. , 0.73345121],
[ 0.81586527, -0.8594703 , 0.86104527, 0.73345121, 1. ]]
理想地,新的列/行的顺序(使用python索引)为3,1,2,... 0,4。因此,它看起来像
[[1,-.686,.710,.754,.733],
[-.686,1,-.875,-.852,-.859],
[.710,-.875,1,.933,.861],
[.754,-.852,.754,1,.816],
[.733,-.859,.861,.816,1]]
我知道的排序算法似乎都不能处理我的“对称性”目标。我为我的矩阵使用numpy。
某些矩阵不会有奇数维度,所以我也想要一种方法来处理偶数的矩阵,如果可能的话。任何帮助都是极好的。
非常感谢。这很有意义 – ij1994
@ ij1994请让我知道,如果上述适用于您的应用程序。 –