0

我随机选择了一些集群来绘制我的数据集以查看分布,然后我返回并使用 KElbowvisualizer 可视化用于我的数据集的最佳集群数。然而,当我回到我原来的分布来改变集群的数量时,绘图的格式发生了变化,添加了一个网格并且集群的颜色也发生了变化,这似乎类似于可视化器格式。我在同一个 jupyter 内核中制作了这两个图,但在不同的单元格中。工作区中是否存在干扰默认 matplotlib 格式的内容?(图是否共享相同的轴?)我绝对可以使用 matplotlib 上的教程并在 jupyter 工作区中绘图。

单元格 1:

C = np.array(list(zip(ZX, ZY))).reshape(len(ZX), 2)

model = KMeans()
visualizer = KElbowVisualizer(model, k=(2,12))

visualizer.fit(C)    
visualizer.show()

KELBow 可视化器

单元格 2:

d = {'Myo':ZX,'Myo_Induced':ZY}
d2 = pd.DataFrame(data=d)

kmeans = KMeans(n_clusters=5, random_state=20).fit(d2)
centroids = kmeans.cluster_centers_

x = np.linspace(-5,5000,50)
y = np.linspace(-5,5000,50)

plt.xscale('log')
plt.yscale('log')
plt.xscale('symlog')
plt.yscale('symlog')
plt.xlabel('SJ_Myo')
plt.ylabel('SJ_Myo_Induced')
plt.scatter(d2['Myo'], d2['Myo_Induced'], c= kmeans.labels_.astype(float), s=50, alpha=0.5) 
plt.scatter(centroids[:, 0], centroids[:, 1], c='red', s=50)
plt.plot(x,y)
plt.show()

集群分布

4

1 回答 1

0

我意识到这里的问题是导入的 KElbowVisualizer 改变了所有绘图的格式,但我找不到在绘图时将其关闭的方法,所以它应该只导入用于可视化 k-elbow 分布然后关闭(不是进口)之后。

from yellowbrick.cluster import KElbowVisualizer

使用肘部方法时导入KELBowVisualizer,

#from yellowbrick.cluster import KElbowVisualizer

绘制其他任何内容时不要导入 KElbowVisualizer。 KMeans Dist w/o KElbowVisualizer

于 2021-04-26T17:55:23.670 回答