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
   176   177   178   179   180   181   182   183   184   185   186