kelbowvisualizer重新格式化其他绘图

cgyqldqp  于 2021-07-14  发布在  Java
关注(0)|答案(1)|浏览(375)

我随机选择了一些簇来绘制我的数据集以查看分布情况,然后我返回并使用kelbowvisualizer可视化了要用于我的数据集的最佳簇。但是,当我回到原来的发行版来更改簇的数量时,绘图的格式发生了变化,添加了一个网格,簇的颜色也发生了变化,这似乎与visualizer的格式类似。我在同一个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()


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

t5fffqht

t5fffqht1#

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

from yellowbrick.cluster import KElbowVisualizer

使用肘部方法时导入kelbowvisualizer,


# from yellowbrick.cluster import KElbowVisualizer

打印其他内容时不要导入kelbowvisualizer。

相关问题