def cluster_kmeans(tica_dir, data_dir, traj_dir, n_clusters, lag_time): clusterer_dir = "%s/clusterer_%dclusters.h5" % (tica_dir, n_clusters) if (os.path.exists(clusterer_dir)): print("Already clustered") else: print("Clustering by KMeans") reduced_data = verboseload(data_dir) trajs = np.concatenate(reduced_data) clusterer = KMeans(n_clusters=n_clusters, n_jobs=-1) clusterer.fit_transform(reduced_data) verbosedump(clusterer, clusterer_dir)
def cluster_kmeans(tica_dir, data_dir, traj_dir, n_clusters, lag_time): clusterer_dir = "%s/clusterer_%dclusters.h5" %(tica_dir, n_clusters) if (os.path.exists(clusterer_dir)): print "Already clustered" else: print "Clustering by KMeans" reduced_data = verboseload(data_dir) trajs = np.concatenate(reduced_data) clusterer = KMeans(n_clusters = n_clusters, n_jobs=-1) clusterer.fit_transform(reduced_data) verbosedump(clusterer, clusterer_dir)
def cluster_features(features, clusterer, n_clusters=8): ''' Input features : list of arrays, length n_trajs, each of shape (n_samples, n_features) Output clst : msmbuilder.cluster object, with attributes cluster_centers_ : (n_clusters, n_features) labels_ : list of arrays, each of shape (n_samples, ) ''' if clusterer == 'KMeans': from msmbuilder.cluster import KMeans clst = KMeans(n_clusters=n_clusters) elif clusterer == 'KCenters': from msmbuilder.cluster import KCenters clst = KCenters(n_clusters=n_clusters) elif clusterer == 'KMedoids': from msmbuilder.cluster import KMedoids clst = KMedoids(n_clusters=n_clusters) elif clusterer == 'MiniBatchKMeans': from msmbuilder.cluster import MiniBatchKMeans clst = MiniBatchKMeans(n_clusters=n_clusters) elif clusterer == 'MiniBatchKMedoids': from msmbuilder.cluster import MiniBatchKMedoids clst = MiniBatchKMedoids(n_clusters=n_clusters) clusters = clst.fit_transform(features) return clst