def _assign_data_to_clusters(data, centroids): cluster_count = len(centroids) clusters = [[] for i in range(cluster_count)] for d in data: distances = np.zeros(cluster_count) for i in range(0, cluster_count): distances[i] = MathUtil.euclidean_distance(d, centroids[i]) i_min = np.argmin(distances) clusters[i_min].append(d) return clusters
def update_distance(self, vector): self.distance = util.euclidean_distance(self.weights, vector)