我目前正在创建一个排名算法,对学生之间的关系进行排名。在我的NxN矩阵F中:
F[i,j]是指学生i和学生j之间的关系,价值越高,关系越强。
我的问题就是这样。为了创建一个k个学生的集群,我首先选择F的argmax。如果argmax返回索引(I,j),我将学生I和j添加到集群中。然后,我想找到沿着轴I和j的F的ARGMAX,并将两个较大的作为下一个学生在我的集群中。然后,我沿着集群中每个学生的轴重复这个过程,直到我的群中有K个学生。
我困惑的地方:
Nuffy.AgMax()将一个扁平轴作为要搜索的轴的参数。如何使轴I和J变平,这样我就可以做NUMPY.ARGMAX(F,FLADETEXAX)?
我是Python的相对初学者,所以这可能有一个简单的答案,我不知道它的存在。提前谢谢。
最佳答案
这将给出矩阵F中最大元素的索引。
ind = np.unravel_index(np.argmax(F),F.shape)
这将给出列j中最大元素的行号。
max_row_in_col_j = np.argmax(F[:,j])
这将给出第一行中最大元素的列号。
max_col_in_row_i = np.argmax(F[i,:])