3
結果をクラスタリングしようとしています。 2次元アレイXを含み、YはScatterPlot Pythonでクラスタリングを使用したカラーリングとラベル付け
ent_names
座標 - -
Y_sklearn
は、ラベル名
from sklearn.cluster import KMeans
model = KMeans(n_clusters = 3)
model.fit(Y_sklearn)
plt.scatter(Y_sklearn[:,0],Y_sklearn[:,1], c=model.labels_);
plt.show()
しかし、このプロットに沿ってラベル名も表示したいと思います。私はこのような何かをしようとしたが、それはすべてのために一色だけ表示されます。
with plt.style.context('seaborn-whitegrid'):
plt.figure(figsize=(8, 6))
for lab, col in zip(ent_names,
model.labels_):
plt.scatter(Y_sklearn[y==lab, 0],
Y_sklearn[y==lab, 1],
label=lab,
c=model.labels_)
plt.xlabel('Principal Component 1')
plt.ylabel('Principal Component 2')
plt.legend(loc='lower center')
plt.tight_layout()
plt.show()
@Serenityへのお返事ありがとうございます。しかし、私の配列は、リスト要素を含むような順番に2つの要素の各々:Y_sklearn OUT [81]: アレイ([1.24746319、-0.29333667]、 [0.66606617、-1.14079266]、 [-0.59427804、-0.80379676] 、 ...、 [0.43926165、0.98754353]、 [0.82787763、-1.52125022]、 [-1.62969128、-0.40198059]])。したがって、エラー –
私の配列は単なる例です。 'Y_sklearn [y == lab、0]、Y_sklearn [y == lab、1]'のように配列を散らばらなければなりません。主な目標は、同じ軸にプロットすることです。 'plt.scatter'ではなく' ax.scatter'を呼び出さなければなりません。 – Serenity