Nothing
disco_samples() and disco_score() no longer build any n x n matrix.
The minimum spanning tree of the mutual-reachability graph is computed in
compiled code (Rcpp) with distances evaluated on the fly, and all
quantities needed by DISCO (sums and minima of density-connectivity
distances per cluster) are obtained in a single pass over the resulting
single-linkage merge tree. Memory now grows linearly with the number of
points (times the number of clusters) instead of quadratically. On
synthetic benchmarks, 0.2.0 is 23 to 138 times faster than 0.1.1
(n = 500 to 4,000; 1,222 MB vs 93 MB peak memory at n = 4,000), and
100,000 points can be scored in about 50 seconds with about 200 MB peak
memory for the whole R process.extract_dc_distances_from_mst() fills the DC-distance matrix block by
block in Kruskal order instead of running a breadth-first search from
every point.compute_dc_distances() no longer builds the mutual-reachability matrix.p_cluster() is vectorised (one matrix product instead of nested loops).silhouette_samples(). Version 0.1.1 gave them a score of
1, which inflated disco_score() for labelings containing singleton
clusters (for example from DBSCAN with a small minPts). Labelings
without singleton clusters are not affected.tests/testthat).Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.