Advertisement
11eimilia11

LEOSTUF3

Dec 5th, 2018
237
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.13 KB | None | 0 0
  1. def find_clusters(X, n_clusters, rng, max_it):
  2.  
  3.     i = rng.permutation(X.shape[0])[:n_clusters]
  4.     centers = X[i]
  5.  
  6.     max_iterator = 0
  7.     distances = []
  8.     while True:
  9.  
  10.         labels,distance = pairwise_distances_argmin_min(X,centers,metric='minkowski')
  11.         distances.append(distance)
  12.  
  13.         new_centers = np.array([X[labels == i].mean(0)
  14.                                 for i in range(n_clusters)])
  15.  
  16.  
  17.         if np.all(centers == new_centers) or max_iterator > max_it:
  18.             break
  19.         centers = new_centers
  20.         max_iterator += 1
  21.  
  22.     return centers, labels, distances
  23.  
  24.  
  25. def find_clustersGENETIC(X, n_clusters, max_it, array):
  26.  
  27.     centers = array
  28.  
  29.     max_iterator = 0
  30.     distances = []
  31.     while True:
  32.  
  33.         labels,distance = pairwise_distances_argmin_min(X,centers,metric='minkowski')
  34.         distances.append(distance)
  35.  
  36.         new_centers = np.array([X[labels == i].mean(0)
  37.                                 for i in range(n_clusters)])
  38.  
  39.  
  40.         if np.all(centers == new_centers) or max_iterator > max_it:
  41.             break
  42.         centers = new_centers
  43.         max_iterator += 1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement