Я пытаюсь присвоить конкретное значение цвет при сравнении различных методов кластеризации с n кластерами, в данном случае 3:
print(data2D)
x y k_label h_label
10 5 0 1
8 5 1 1
...
#1
plt.subplot(1, 2, 1)
#plt.figure(figsize=(8, 6))
plt.scatter(data2D[:,0], data2D[:,1], c=kmeans.labels_.astype(float))
#sns.scatterplot(x=data2D[:,0], y= data2D[:,1], data=data2D)
plt.title("K-MEANS")
#2
plt.subplot(1, 2, 2)
plt.scatter(data2D[:,0], data2D[:,1], c= agg_h.labels_.astype(float))
plt.tight_layout()
plt.title("AGGLOMERATIVE HIERARCHICAL CLUSTERING")
plt.show()
Я пытался с:
temp = pd.DataFrame(data= {'h_label': np.unique(df.k_label), 'k_label': np.unique(df.k_label), "color": ["red", "blue", "yellow"] })
df = df.merge(temp, on = ["h_label"])
df["k_label"] = kmeans.predict(X)
Но это кажется избыточным, и я не знаю, как реализовать это в Matplotlib.
Вкратце, я хотел бы построить рядом две фигуры, в которых кластеры (k_label & h_label) = 1 равны красному цвету, = 2 синим ... n = последний цвет и т. Д.