KElbowvisualizer 重新格式化其他绘图

问题描述

随机选择了一些集群来绘制我的数据集以查看分布,然后我返回并使用 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()

KELbowvisualizer

单元格 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,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()

Cluster Distribution

解决方法

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

from yellowbrick.cluster import KElbowVisualizer

在使用肘部方法时导入 KELbowVisualizer,

#from yellowbrick.cluster import KElbowVisualizer

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