def main(): datamat, datalabels = loadDataset("../dataset/glass.data") print 'data ready' nmi_max = -inf ari_max = -inf for i in range(10): clusters = random.randint(2, 11) predicted_label = AgglomerativeClustering( linkage='average', n_clusters=clusters).fit_predict(datamat) predicted_label = predicted_label.tolist() nmi = normalized_mutual_info_score(datalabels, predicted_label) ari = adjusted_rand_score(datalabels, predicted_label) if nmi > nmi_max: nmi_max = nmi if ari > ari_max: ari_max = ari print('nmi值为:') print(nmi_max) print('ari值为:') print(ari_max)
def Agglomerative(data, Genes, pathway, n_clusters): model = AgglomerativeClustering(n_clusters, affinity='precomputed', linkage='complete').fit_predict(data) GeneNames = [gene.GeneName for gene in Genes] return model.tolist()