def template_visualize(self, path_sample, path_answer, filter=None, **kwargs): data = read_sample(path_sample) clusters = answer_reader(path_answer).get_clusters() visualizer = cluster_visualizer_multidim() visualizer.append_clusters(clusters, data) visualizer.show(filter, **kwargs)
def x_means(X, num_init_clusters=8, visualize=True): from pyclustering.cluster.kmeans import kmeans, kmeans_visualizer from pyclustering.cluster.xmeans import xmeans from pyclustering.cluster import cluster_visualizer from pyclustering.cluster.center_initializer import kmeans_plusplus_initializer from pyclustering.cluster import cluster_visualizer_multidim X = list(X) start_centers = kmeans_plusplus_initializer( X, num_init_clusters).initialize() xmeans_instance = xmeans(X, start_centers, 32, ccore=True, criterion=0) # Run cluster analysis and obtain results. xmeans_instance.process() clusters = xmeans_instance.get_clusters() centers = xmeans_instance.get_centers() print('Number of cluster centers calculated :', len(centers)) if visualize: visualizer = cluster_visualizer_multidim() visualizer.append_clusters(clusters, X) visualizer.show() return centers, clusters
def template_clustering(start_centers, path, tolerance=0.25, ccore=False): sample = read_sample(path) dimension = len(sample[0]) metric = distance_metric(type_metric.MANHATTAN) observer = kmeans_observer() kmeans_instance = kmeans(sample, start_centers, tolerance, ccore, observer=observer, metric=metric) (ticks, _) = timedcall(kmeans_instance.process) clusters = kmeans_instance.get_clusters() centers = kmeans_instance.get_centers() print("Sample: ", path, "\t\tExecution time: ", ticks, "\n") visualizer = cluster_visualizer_multidim() visualizer.append_clusters(clusters, sample) visualizer.show() if dimension > 3: kmeans_visualizer.show_clusters(sample, clusters, centers, start_centers) kmeans_visualizer.animate_cluster_allocation(sample, observer)
def template_visualize(self, path_sample, path_answer, filter=None, **kwargs): data = read_sample(path_sample) clusters = answer_reader(path_answer).get_clusters() visualizer = cluster_visualizer_multidim() visualizer.append_clusters(clusters, data) visualizer.show(filter, **kwargs)
def template_visualize_adding_step_by_step(self, path_sample, path_answer, filter=None, **kwargs): data = read_sample(path_sample) clusters = answer_reader(path_answer).get_clusters() visualizer = cluster_visualizer_multidim() for cluster in clusters: visualizer.append_cluster(cluster, data) visualizer.show(filter, **kwargs)
def template_visualize(self, path_sample, path_answer, filter=None, **kwargs): return_type = kwargs.get('return_type', 'list') data = read_sample(path_sample, return_type=return_type) clusters = answer_reader(path_answer).get_clusters() visualizer = cluster_visualizer_multidim() visualizer.append_clusters(clusters, data) visualizer.show(filter, **kwargs)
def template_visualize_adding_step_by_step(self, path_sample, path_answer, filter=None, **kwargs): data = read_sample(path_sample) clusters = answer_reader(path_answer).get_clusters() visualizer = cluster_visualizer_multidim() for cluster in clusters: visualizer.append_cluster(cluster, data) visualizer.show(filter, **kwargs)
def template_clustering(start_centers, path): sample = read_sample(path) fcm_instance = fcm(sample, start_centers) fcm_instance.process() clusters = fcm_instance.get_clusters() centers = fcm_instance.get_centers() membership = fcm_instance.get_membership() visualizer = cluster_visualizer_multidim() visualizer.append_clusters(clusters, sample) visualizer.append_cluster(centers, marker='*', markersize=10) visualizer.show()
def template_clustering(start_centers, path, tolerance = 0.25, ccore = False): sample = read_sample(path) dimension = len(sample[0]) metric = distance_metric(type_metric.MANHATTAN) observer = kmeans_observer() kmeans_instance = kmeans(sample, start_centers, tolerance, ccore, observer=observer, metric=metric) (ticks, _) = timedcall(kmeans_instance.process) clusters = kmeans_instance.get_clusters() centers = kmeans_instance.get_centers() print("Sample: ", path, "\t\tExecution time: ", ticks, "\n") visualizer = cluster_visualizer_multidim() visualizer.append_clusters(clusters, sample) visualizer.show() if dimension > 3: kmeans_visualizer.show_clusters(sample, clusters, centers, start_centers) kmeans_visualizer.animate_cluster_allocation(sample, observer)
# Sample for cluster analysis. # sample = read_sample(FCPS_SAMPLES.SAMPLE_CHAINLINK) sample = read_sample(FAMOUS_SAMPLES.SAMPLE_IRIS) lines = open("t4.8k", "r") inp = [] for line in lines: cords = line.split() if len(cords) != 2: continue inp.append([float(cords[0]), float(cords[1])]) # print(inp) # Create DBSCAN algorithm. dbscan_instance = dbscan(inp, 5, 3) # dbscan_instance = dbscan(sample, 5, 3) # Start processing by DBSCAN. dbscan_instance.process() # Obtain results of clustering. clusters = dbscan_instance.get_clusters() # noise = dbscan_instance.get_noise() # Visualize clustering results visualizer = cluster_visualizer_multidim() # visualizer = cluster_visualizer() visualizer.append_clusters(clusters, inp, marker='o') # visualizer.append_clusters(clusters, sample, marker='o') # visualizer.append_cluster(noise, inp, marker='x') visualizer.show()