def template_clustering(path_sample, eps, minpts, amount_clusters=None, visualize=True, ccore=False): sample = read_sample(path_sample) optics_instance = optics(sample, eps, minpts, amount_clusters, ccore) (ticks, _) = timedcall(optics_instance.process) print("Sample: ", path_sample, "\t\tExecution time: ", ticks, "\n") if (visualize is True): clusters = optics_instance.get_clusters() noise = optics_instance.get_noise() visualizer = cluster_visualizer() visualizer.append_clusters(clusters, sample) visualizer.append_cluster(noise, sample, marker='x') visualizer.show() ordering = optics_instance.get_ordering() analyser = ordering_analyser(ordering) ordering_visualizer.show_ordering_diagram(analyser, amount_clusters)
def testClusteringOrderVisualizer(self): sample = read_sample(SIMPLE_SAMPLES.SAMPLE_SIMPLE4); optics_instance = optics(sample, 6.0, 3, 5); optics_instance.process(); analyser = ordering_analyser(optics_instance.get_ordering()); ordering_visualizer.show_ordering_diagram(analyser);
def testClusteringOrderVisualizer(self): sample = read_sample(SIMPLE_SAMPLES.SAMPLE_SIMPLE4); optics_instance = optics(sample, 6.0, 3, 5); optics_instance.process(); analyser = ordering_analyser(optics_instance.get_ordering()); ordering_visualizer.show_ordering_diagram(analyser, 5);
def main(): output_dir = 'plots_OPTICS' if not os.path.exists(output_dir): os.makedirs(output_dir) # OPTICS demo with SDRs radius = 10.0 neighbors = 2 epsilon_cutoff = 0.3 file_path = os.path.join( os.getcwd(), 'htm_traces', 'binary_ampl=10.0_mean=0.0_noise=0.0_' 'sp=True_tm=True_tp=False_SDRClassifier.csv') sdrs, cluster_ids = load_sdrs(file_path) (cluster_assignments, sdr_slices) = find_cluster_assignments(sdrs, cluster_ids, ignore_noise=True) sdr_cluster_centroids = get_sdr_cluster_centroids(sdr_slices) # Project SDRs in 2D for visualization purposes distance_mat = distance_matrix(sdr_cluster_centroids, euclidian_distance) sdr_projections = project_in_2D(distance_mat, method='mds') # OPTICS SDR results sample_sdr = sdr_projections # or: sdr_cluster_centroids ordering_sdr, clusters_sdr, noise_sdr = analyze(sample_sdr, radius, neighbors) # Plot OPTICS results sample_sdr = sdr_projections plot_results(sample_sdr, ordering_sdr, clusters_sdr, noise_sdr, 'SDR', epsilon_cutoff, output_dir) # Plot SDR 2D projections title = '2d_projections' output_file = os.path.join(output_dir, '%s' % ('%s.png' % title)) plt = plot_2D_projections(title, output_file, cluster_assignments, sdr_projections) plt.show() # OPTICS demo with 2D vectors radius = 2.0 neighbors = 2 epsilon_cutoff = 0.5 sample_2d = read_sample( FCPS_SAMPLES.SAMPLE_LSUN) # or: gaussian_clusters(3) ordering_2d, clusters_2d, noise_2d = analyze(sample_2d, radius, neighbors) plot_results(sample_2d, ordering_2d, clusters_2d, noise_2d, '2D', epsilon_cutoff, output_dir) # Plot input data and clustering structure ordering_visualizer.show_ordering_diagram(ordering_sdr) ordering_visualizer.show_ordering_diagram(ordering_2d)
def main(): # OPTICS demo with 2D vectors radius = 2.0 neighbors = 2 epsilon_cutoff = 0.5 sample_2d = read_sample( FCPS_SAMPLES.SAMPLE_LSUN) # or: gaussian_clusters(3) ordering_2d, clusters_2d, noise_2d = analyze(sample_2d, radius, neighbors) plot_results(sample_2d, ordering_2d, clusters_2d, noise_2d, '2D', epsilon_cutoff) # Plot input data and clustering structure ordering_visualizer.show_ordering_diagram(ordering_2d)
def main(): output_dir = 'plots_OPTICS' if not os.path.exists(output_dir): os.makedirs(output_dir) # OPTICS demo with SDRs radius = 10.0 neighbors = 2 epsilon_cutoff = 0.3 file_path = os.path.join(os.getcwd(), 'htm_traces', 'binary_ampl=10.0_mean=0.0_noise=0.0_' 'sp=True_tm=True_tp=False_SDRClassifier.csv') sdrs, cluster_ids = load_sdrs(file_path) (cluster_assignments, sdr_slices) = find_cluster_assignments(sdrs, cluster_ids, ignore_noise=True) sdr_cluster_centroids = get_sdr_cluster_centroids(sdr_slices) # Project SDRs in 2D for visualization purposes distance_mat = distance_matrix(sdr_cluster_centroids, euclidian_distance) sdr_projections = project_in_2D(distance_mat, method='mds') # OPTICS SDR results sample_sdr = sdr_projections # or: sdr_cluster_centroids ordering_sdr, clusters_sdr, noise_sdr = analyze(sample_sdr, radius, neighbors) # Plot OPTICS results sample_sdr = sdr_projections plot_results(sample_sdr, ordering_sdr, clusters_sdr, noise_sdr, 'SDR', epsilon_cutoff, output_dir) # Plot SDR 2D projections title = '2d_projections' output_file = os.path.join(output_dir, '%s' % ('%s.png' % title)) plt = plot_2D_projections(title, output_file, cluster_assignments, sdr_projections) plt.show() # OPTICS demo with 2D vectors radius = 2.0 neighbors = 2 epsilon_cutoff = 0.5 sample_2d = read_sample(FCPS_SAMPLES.SAMPLE_LSUN) # or: gaussian_clusters(3) ordering_2d, clusters_2d, noise_2d = analyze(sample_2d, radius, neighbors) plot_results(sample_2d, ordering_2d, clusters_2d, noise_2d, '2D', epsilon_cutoff, output_dir) # Plot input data and clustering structure ordering_visualizer.show_ordering_diagram(ordering_sdr) ordering_visualizer.show_ordering_diagram(ordering_2d)
def optics_temp(self, point_list): # data = np.array( point_list) sample = point_list start = time.time() optics_instance = optics(sample, 0.5, 6, ccore=True) optics_instance.process() clusters = optics_instance.get_clusters() end = time.time() print("imte", end - start) noise = optics_instance.get_noise() visualizer = cluster_visualizer() visualizer.append_clusters(clusters, sample) visualizer.append_cluster(noise, sample, marker='x') visualizer.show() ordering = optics_instance.get_ordering() analyser = ordering_analyser(ordering) ordering_visualizer.show_ordering_diagram(analyser, amount_clusters)