print('- Adding transfer learning distance {0}'.format(ds)) trg_clustering.add_distance_calculation(partial(sc.da_nmf_distances, metric=ds, src=src_clustering, mixture=mix)) else: print('- Adding distance {0}'.format(ds)) trg_clustering.add_distance_calculation(partial(sc.distances, metric=ds)) transf_list = arguments.sc3_transf.split(",") print('\nThere are {0} transformations given.'.format(len(transf_list))) for ts in transf_list: print('- Adding transformation {0}'.format(ts)) trg_clustering.add_dimred_calculation(partial(sc.transformations, components=max_pca_comp, method=ts)) trg_clustering.add_intermediate_clustering(partial(sc.intermediate_kmeans_clustering, k=trg_k)) trg_clustering.set_build_consensus_matrix(sc.build_consensus_matrix) trg_clustering.set_consensus_clustering(partial(sc.consensus_clustering, n_components=trg_k)) trg_clustering.apply() # -------------------------------------------------- # 4. EVALUATE CLUSTER ASSIGNMENT # -------------------------------------------------- print('\nUnsupervised evaluation:') accs[0, j, i] = metrics.calinski_harabaz_score( trg_clustering.pp_data.T, trg_clustering.cluster_labels) accs[1, j, i] = metrics.silhouette_score( trg_clustering.pp_data.T, trg_clustering.cluster_labels, metric='euclidean') accs[2, j, i] = metrics.silhouette_score( trg_clustering.pp_data.T, trg_clustering.cluster_labels, metric='correlation') accs[3, j, i] = metrics.silhouette_score( trg_clustering.pp_data.T, trg_clustering.cluster_labels, metric='jaccard') print ' -Calinski-Harabaz : ', accs[0, j, i]