Python 如何使用不同形状的簇和不同颜色的原始类绘制簇的输出?
我有一个包含X1、X2和类标签的数据集。我使用Kmeans对这个数据集进行聚类,现在为了绘制结果,我需要在新的聚类中具有相同形状的点;和原始类中具有相同颜色的点Python 如何使用不同形状的簇和不同颜色的原始类绘制簇的输出?,python,matplotlib,plot,cluster-analysis,Python,Matplotlib,Plot,Cluster Analysis,我有一个包含X1、X2和类标签的数据集。我使用Kmeans对这个数据集进行聚类,现在为了绘制结果,我需要在新的聚类中具有相同形状的点;和原始类中具有相同颜色的点 data = load_my_dataset() X = data.data[:, :2] # we only take the first two features. y = data.target kmeans = KMeans(n_clusters=2) kmeans.fit(X)rint(kmeans.labels_) d
data = load_my_dataset() X = data.data[:, :2] # we only take the first two features.
y = data.target kmeans = KMeans(n_clusters=2) kmeans.fit(X)rint(kmeans.labels_)
df = DataFrame(dict(x1=X[:,0], x2=X[:,1], label=kmeans.labels_, target=y))
colors = {0:'red', 1:'blue'} markers = { 0:"o" , 1:"v" }
fig, ax = pyplot.subplots(figsize=(15,10))
grouped = df.groupby('label')
for key, group in grouped:
group.plot(ax=ax, kind='scatter', x='x1', y='x2', label=key,
color=colors[key], marker=markers[key]) pyplot.show()
独立设置
颜色
和标记
,而不是使用相同的键
非常简单,只是需要两个循环和一点交叉操作。data=load\u my\u dataset()X=data.data[:,:2]#我们只使用前两个功能。y=data.target kmeans=kmeans(n_clusters=2)kmeans.fit(X)rint(kmeans.labels_u)df=DataFrame(dict(x1=X[:,0],x2=X[:,1],label=kmeans.labels_u,target=y))colors={0:'red',1:'blue'}markers={0:'o',1:'v'}fig,ax=pyplot.subplot(figsize=(15,10))grouped=df groupby('label')关键字,分组组中的组:grouped:group.plot(ax=ax,kind='scatter',x='x1',y='x2',label=key,color=colors[key],marker=markers[key])pyplot.show()