1
ben sadece i K-ortalama scikit kullanmak yürütmek için internette arama kodu var benzersiz renkler
piton
yılında Newb i görselleştirmek arsa 3d kodunu modifiye çalıştı ve (her küme renklendirmek 3 küme), ancak sonuç aynı renk ile tüm küme içindir, kod ve aşağıda görselleştirmek:import numpy as np
import matplotlib.pyplot as plt
from matplotlib import style
style.use("ggplot")
from sklearn.cluster import KMeans
from collections import Counter
from mpl_toolkits.mplot3d import Axes3D
from pylab import *
X = np.array([[1, 2, 5],
[5, 8, 2],
[1.5, 1.8, 6],
[8, 8, 9],
[1, 0.6, 10],
[2.5, 3.8, 6],
[2.5, 5.8, 9],
[5, 8, 3],
[4, 0.6, 7],
[2.5, 1.8, 4.6],
[6.5, 1.8, 12],
[7, 8, 9],
[2, 0.6, 7],
[5.5, 1.8, 4],
[4.8, 6.9, 6],
[4.9, 9.8, 2],
[9, 11, 12]])
cluster_num = 3
kmeans = KMeans(n_clusters=cluster_num)
kmeans.fit(X)
centroids = kmeans.cluster_centers_
labels = kmeans.labels_
print "centroids : "
print centroids
print "labels : "
print labels
colors = ["g.","r.","c.","y."]
color = np.random.rand(cluster_num)
c = Counter(labels)
fig = figure()
ax = fig.gca(projection='3d')
for i in range(len(X)):
print("coordinate:",X[i], "label:", labels[i])
print "i : ",i
print "color[labels[i]] : ",color[labels[i]]
ax.scatter(X[i][0], X[i][1], X[i][2], c=color[labels[i]])
for cluster_number in range(cluster_num):
print("Cluster {} contains {} samples".format(cluster_number, c[cluster_number]))
ax.scatter(centroids[:, 0],centroids[:, 1], centroids[:, 2], marker = "x", s=150, linewidths = 5, zorder = 100)
plt.show()
nasıl ben her küme için görselleştirmek kendi rengini var yapabilir? thx
bu şekilde çalışır: Küme merkezleri için
, aynı parametre olarak geçirmek! thx @ayhan – ihsansat
Merhaba @ayhan, scatter arsada her noktayı nasıl gösterir? Teşekkürler – ihsansat