#X.shape #(107284, 3) #labels.shape #(107284,) #orderedPoints = np.column_stack((X, labels.T)) #o_fname = #np.savetxt(o_fname, orderedPoints, delimiter=',', header='X, Y, Z, Label') #from initial tests, 13% of epsilon in optics seems to work well for epsilon' (epsilon prime), ep ep = eps * .13 startTime = time.time() #Run DBSCAN to extract clusters from data ordered by OPTICS print("Extracting clusters by running DBSCAN on points ordered by OPTICS. \n") testtree.extract(epsilon_prime=ep, clustering='dbscan') timeElapsed = time.time() - startTime print( "time elapsed after testtree.extract(epsilon_prime = {}, clustering='dbscan'): " .format(ep), timeElapsed, "\n") labels = testtree._cluster_id[:] n_clusters_ = max(testtree._cluster_id) print( "Number of clusters from OPTICS parameters eps = {0}, min_samples = {1}, eps_prime = {2}: " .format(eps, minNumSamples, ep), "\n", n_clusters_) #Save output #here clusteredPoints = np.column_stack((X, labels.T))
#X.shape #(107284, 3) #labels.shape #(107284,) #orderedPoints = np.column_stack((X, labels.T)) #o_fname = #np.savetxt(o_fname, orderedPoints, delimiter=',', header='X, Y, Z, Label') ep = eps * eps_prime_perc startTime = time.time() #Run DBSCAN to extract clusters from data ordered by OPTICS print("Extracting clusters by running testtree.extract(). \n") testtree.extract(epsilon_prime = ep, clustering='auto') timeElapsed = time.time() - startTime print("time elapsed after testtree.extract(clustering='auto') with minPts {0}: ".format(minNumSamples), timeElapsed, "\n") labels = testtree._cluster_id[:] n_clusters_ = max(testtree._cluster_id) print("Number of clusters from OPTICS extract_auto with parameters eps = {0}, min_samples = {1}, eps_prime_perc: {2}".format(eps, minNumSamples, eps_prime_perc), "\n", n_clusters_) #Save output #here clusteredPoints = np.column_stack((X, labels.T)) o_fname = "OPTICS_extract_clustered_points_eps_{0}_min_samples_{1}_eps_prime_perc{2}.csv".format(eps, minNumSamples, eps_prime_perc) np.savetxt(o_fname, clusteredPoints, delimiter=',', header='X, Y, Z, Label')