我需要一些帮助才能在我的矩阵中聚集我的binary values
。
这是一个二进制矩阵,下面是一个例子:
G1 G2 G3 G4 G5 G6 G7 G8 G9 G10 G11 G12
Sp1 0 0 0 0 0 0 0 0 0 0 0 0
Sp2 1 1 1 1 1 0 0 0 0 0 0 0
Sp3 0 0 0 0 0 0 0 0 0 1 1 1
SP4 0 0 0 0 0 0 0 0 0 1 1 1
SP5 1 1 1 1 1 1 1 1 1 0 1 0
SP6 1 1 1 1 1 1 1 1 1 0 0 0
SP7 0 0 0 0 0 0 0 0 0 0 0 0
SP8 0 0 0 0 0 0 0 0 0 0 0 0
SP9 0 1 0 1 0 1 1 0 1 0 0 0
我想对the columns
进行聚类,而不是对行进行聚类
其思想是获得相似点组的最佳可能表示形式。 在本例中,它应该如下所示:
G8 G1 G3 G5 G9 G2 G4 G11 G10 G12
Sp1 0 0 0 0 0 0 0 0 0 0
Sp2 0 1 1 1 0 1 1 0 0 0
Sp3 0 0 0 0 0 0 0 1 1 1
SP4 0 0 0 0 0 0 0 1 1 1
SP5 1 1 1 1 1 1 1 1 0 0
SP6 1 1 1 1 1 1 1 0 0 0
SP7 0 0 0 0 0 0 0 0 0 0
SP8 0 0 0 0 0 0 0 0 0 0
SP9 0 0 0 0 1 1 1 0 0 0
我知道有些方法是存在的,但它们要求已经知道所需的集群数量,但我不知道我将拥有的集群数量
有人有主意吗
这是一个有点不同的方法。但也许这会有助于事情的进展。我建议使用距离计算。这是我的测试数据:
使用
scipy.spatial.distance
计算所有列之间的距离现在,您可以根据到列的距离进行排序
您可以使用此选项,通过将上述块中的
d[:,0]
更改为d[:,4]
,按与任何列(即第4列)的距离进行排序相关问题 更多 >
编程相关推荐