按相似度排序矩阵

时间:2019-04-01 10:06:31

标签: python machine-learning conv-neural-network similarity

我有100个矩阵,其中每一行对应一个人,一列表示站点。我想按相似度来对行进行排序,以使最相似的个体在矩阵中彼此相邻。我使用k近邻来按行对矩阵进行排序,然后将这些排序后的矩阵提供给卷积神经网络。我想知道是否还有其他方法可以实现当前任务。我用于k近邻的代码是:

def sort_min_diff(amat):
    mb = NearestNeighbors(len(amat), metric='manhattan').fit(amat)
    v = mb.kneighbors(amat)
    smallest = np.argmin(v[0].sum(axis=1))
    return amat[v[1][smallest]]


X_snp = np.array(snp_matrix)

q = []
for i in range(len(X_snp)):
    q.append((sort_min_diff(X_snp[i])))

q = np.array(q)

我的X_snp矩阵的形状为(100,60,4500),即我有100个这样的矩阵。另外,我的矩阵充满了0和1。 建议将不胜感激。

0 个答案:

没有答案