The question is a matter of which should come first: a) the clustering or b) the dimensionality reduction algorithm? In other words, can I apply a pseudo (as it is not really) dimensionality reduction method like t-SNE and then use a clustering algorithm to extract clusters or should the clustering be performed on the original high-dimensional space and be used to just color the nodes? Is the following code a good way to start or am I completely mistaken?
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