微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

每个聚类质心具有不同颜色的 PCA 图

如何解决每个聚类质心具有不同颜色的 PCA 图

对于分类数据的聚类 (k=4),我想为 PCA 可视化中的每个聚类以不同颜色显示各自的质心。我可以分别输出每个簇,但找不到以不同颜色显示各自质心的方法。您对解决方案有什么建议吗?

k = 4
km_cao = KModes(n_clusters=k,init = "Cao",n_init = 5,verbose = 0)
fitClusters_cao = km_cao.fit_predict(df)

clusterCentroidsDF = pd.DataFrame(km_cao.cluster_centroids_)
clusterCentroidsDF.columns = df.columns
clusterCentroidsDF.head()

输出簇质心:

clusterCentroidsDF.head()

label = preprocessing.LabelEncoder()
df_label = df.apply(le.fit_transform)

pca = PCA(n_components=2)
principalComponents = pca.fit_transform(df_label)
principalDf = pd.DataFrame(data = principalComponents,columns = ['principal component 1','principal component 2'])
finalDf = pd.concat([principalDf,combinedDf,no],axis = 1)
finalDf.head()

输出finalDf.head():

finalDf.head()

fig = plt.figure(figsize = (8,8))
ax = fig.add_subplot(1,1,1) 
ax.set_xlabel('principal component 1',fontsize = 15)
ax.set_ylabel('principal component 2',fontsize = 15)
ax.set_title('2 component PCA',fontsize = 20)
targets = [1]
colors = ['r']
for target,color in zip(targets,colors):
    indicesToKeep = finalDf['Cluster'] == target
    ax.scatter(finalDf.loc[indicesToKeep,'principal component 1'],finalDf.loc[indicesToKeep,'principal component 2'],c = color,s = 50)
ax.legend(targets)
ax.grid()

集群 1 的输出 PCA 图:

PCA plot

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。