Python KElbowvisualizer重新格式化其他绘图
我随机选择了一些集群来绘制我的数据集,以查看分布情况,然后我返回并使用KElbowvisualizer可视化了用于我的数据集的最佳集群。然而,当我返回到我的原始发行版以更改簇的数量时,绘图的格式发生了变化,添加了一个网格,簇的颜色也发生了变化,这似乎与visualizer格式类似。我在同一个jupyter内核中绘制了这两个图,但在不同的单元中。工作区中是否存在干扰默认matplotlib格式的内容?(绘图共享相同的轴吗?)我完全可以使用关于matplotlib和jupyter工作区中绘图的教程 单元1:Python KElbowvisualizer重新格式化其他绘图,python,pandas,matplotlib,k-means,yellowbrick,Python,Pandas,Matplotlib,K Means,Yellowbrick,我随机选择了一些集群来绘制我的数据集,以查看分布情况,然后我返回并使用KElbowvisualizer可视化了用于我的数据集的最佳集群。然而,当我返回到我的原始发行版以更改簇的数量时,绘图的格式发生了变化,添加了一个网格,簇的颜色也发生了变化,这似乎与visualizer格式类似。我在同一个jupyter内核中绘制了这两个图,但在不同的单元中。工作区中是否存在干扰默认matplotlib格式的内容?(绘图共享相同的轴吗?)我完全可以使用关于matplotlib和jupyter工作区中绘图的教程
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()
我意识到这里的问题是,导入的KElbowVisualizer会更改所有绘图的格式,但我找不到在绘图时将其关闭的方法,因此它应该仅为可视化k弯头分布而导入,然后在绘图后关闭(不导入) 使用弯头方法时导入KELbowVisualizer
#from yellowbrick.cluster import KElbowVisualizer
打印其他任何内容时,不要导入KElbowVisualizer。
#from yellowbrick.cluster import KElbowVisualizer