问题在于哪个应该先来:a) 聚类或 b) 降维算法?换句话说,我是否可以应用伪降维方法(如 t-SNE),然后使用聚类算法提取聚类,或者应该在原始高维空间上执行聚类,并用它来仅着色节点?
以下代码是一个好的起点还是我完全错了?
adjMat = g.get_adjacency(attribute='weight') #get the adjacency matrix from a really large graph
adjMat = np.array(adjMat.data)
adjMat = adjMat.T #use the incoming interaction vectors
#initiate the t-SNE algorithm
tsne = manifold.TSNE() #set dimensionality reduction algorithm
manifoldCoords = tsne.fit_transform(adjMat)
#initiate clustering algorithm
clusteralgorithm = clusterAlgs.KMeans() #set clustering algorithm
linear_clusters = clusteralgorithm.fit_predict(manifoldCoords) #extract clusters