#mass = gen.strip_data() sample = mass[:sample_N] smpl = data_gen(center, sample_N, K) smpl.mass = sample s_edges = smpl.get_edges() s_edges.sort() mst = m.get_MST(s_edges) km_obj = k_means(mass, K) #mass = gen.strip_data() #convex = ch.convex_hull(result[0]) #dr.draw_MST(mst, mass) #dr.draw_data(mass) sample_clusters = m.get_clusters( sample) # get clusters from hierarchical clustering centroids = m.get_centroids() # get center of clusters res = 0 # nesting check for k in range(K): convex = ch.convex_hull(sample_clusters[k]) for i in centroids: if len(convex) != 0: if ch.is_inside(i, convex): res += 1 if res <= K: # data is not nested we use k-means algorithm print("k-means") result = km_obj._k_means() dr.draw_clusters(result) for k in range(K): convex = ch.convex_hull(result[k])