我正在使用scipy链接进行集群。我想知道将结果绘制成散点图的最简单方法是什么:
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
from scipy.cluster.hierarchy import dendrogram, linkage
from sklearn.manifold import MDS
n = 10
X = [np.random.rand(10) + 1 for i in range(n)]
X = np.concatenate((X, [np.random.rand(10) - 1 for i in range(n)]), 0)
mds = MDS(n_components=2)
X_r = mds.fit(X).embedding_
# Plot MDS result
plt.figure(figsize=(5,5))
plt.title("MDS")
plt.scatter(X_r[:,0], X_r[:, 1])
lnk = linkage(X)
# Plot dendogram
plt.figure(figsize=(5,5))
plt.title("Dendogram")
dendrogram(lnk)
# Plot 'lnk' into scatter plot ..结果


缺少的是另一个反映集群分配的彩色MDS图。
发布于 2016-08-10 20:32:12
假设有两个集群,您可以将fcluster与lnk一起使用,
# Plot 'lnk' into scatter plot ..
from scipy.cluster.hierarchy import fcluster
fc = fcluster(lnk, 2, criterion='maxclust')
plt.figure(figsize=(5,5))
plt.scatter(X_r[:,0],X_r[:,1],c=fc)然后以c为颜色绘制散点图。这给了我们,

https://stackoverflow.com/questions/38872288
复制相似问题