def get_subtrees_sklearn(d, bin_chr, bin_position, method="ward", nchrom=1000, distfrac=0.4):
names = get_names(bin_chr, bin_position)
#ap = Birch(n_clusters=15)#damping=0.5, max_iter=200, convergence_iter=15, affinity='euclidean') #euclidean precomputed
ap = KMeans(n_clusters=10)
assignements = ap.fit_predict(d)#; print assignements[:10]
c = Counter(assignements); print c.most_common(5)
subtrees = [[] for i in range(max(assignements)+1)]; print len(subtrees), max(assignements)
for chrom, i in zip(names, assignements):
subtrees[i].append(chrom)
return subtrees
评论列表
文章目录