Page 181 - 6734
P. 181
centroids,labels=vq.kmeans2(whiten,3) # центроїди і
мітки 3-x кластерів
#plt.scatter(data[:,0],data[:,1],c=labels);
plt.show()
# або
centroids, distortion = vq.kmeans(data, 3) #
centroids - центроїди 3-х кластерів методом k-
середніх, distortion - сума квадратів відстаней між
точками і відповідною центроїдою
identified, distance = vq.vq(data, centroids) # масив
для ідентифікації та масив із відстанями до центроїди
# координати точок та відстані до центроїди в кожному
кластері
vqc1,d1 = data[identified == 0], distance[identified
== 0]
vqc2,d2 = data[identified == 1], distance[identified
== 1]
vqc3,d3 = data[identified == 2], distance[identified
== 2]
plt.figure()
plt.scatter(vqc1[:,0],vqc1[:,1],c='r',s=d1*20) #
точки кластера 1
plt.scatter(vqc2[:,0],vqc2[:,1],c='g',s=d2*20) #
точки кластера 2
plt.scatter(vqc3[:,0],vqc3[:,1],c='b',s=d3*20) #
точки кластера 3
plt.scatter(centroids[:,0], centroids[:,1],
marker='o', s=10000, c='k', alpha=0.2) # центроїди
plt.xlabel("x");plt.ylabel("y");plt.grid();plt.show()
180