问题是哪个应该首先出现: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