def cluster(self): l_method = agglomerative_l_method(self.X) suggest_n = len(l_method.cluster_centers_) agg = AgglomerativeClustering(suggest_n) agg.fit(np.array(self.X, copy=True)) # agg.fit(self.X) # agg_labels = agg.labels_ # l_method_labels = l_method.labels_ # # print('agg_labels:', agg_labels) # print('l_method_labels:', l_method_labels) # first tier clustering, using agglomerative clustering self.clustering_model = DividableClustering() self.clustering_model.fit(self.X, l_method.labels_)
from agglomerative_clustering import AgglomerativeClusteringMaxMergeDist, AgglomerativeClustering from dataset import * dataset = get_iris() print("dataset size:", len(dataset.X)) # # agg = AgglomerativeClusteringMaxMergeDist() # centroids, cluster_member_cnt = agg.fit(dataset.X, 0.2) # # print('grouped size:', len(centroids)) agg = AgglomerativeClustering(3) agg.fit(dataset.X) predict_X = agg.predict(dataset.X) print("predict_X:", predict_X)