Skip to contents

Core distance = distance to the mpts-nearest neighbour (Def. 5); mutual reachability d_mreach = max(core_i, core_j, d) (Def. 7); single-linkage density hierarchy (Prop. 1); condensed with a minimum cluster size (Algorithm 2); cluster stability S(C) = sum(lambda_max - lambda_min) (Eq. 3); flat partition by the bottom-up max-stability recursion (Algorithm 3, Eqs. 4-5). Clusters selected at different density levels separate differing-density clusters no single DBSCAN* threshold can.

Usage

morie_hdbsc(
  X,
  min_pts = 5,
  min_cluster_size = 5,
  selection = "eom",
  verbose = FALSE
)

Arguments

X

Data matrix (n x d).

min_pts

mpts core-distance neighbour count.

min_cluster_size

Minimum cluster size (mclSize).

selection

See Usage.

verbose

See Usage.

Value

A list with elements labels (-1 = noise), core_distances, n_clusters, stabilities, condensed_tree, cluster_tree, min_pts, min_cluster_size, method.

References

Campello, R. J. G. B., Moulavi, D. and Sander, J. (2013). Density-based clustering based on hierarchical density estimates. PAKDD, LNCS 7819, 160-172.

Examples

V <- c(1, 2, 3, 4, 5, 6, 7, 8)
morie_hdbsc(V)
#> $labels
#> [1] -1 -1 -1 -1 -1 -1 -1 -1
#> 
#> $core_distances
#> [1] 4 3 2 2 2 2 3 4
#> 
#> $n_clusters
#> [1] 0
#> 
#> $stabilities
#>   8 
#> 2.5 
#> 
#> $condensed_tree
#>      [,1] [,2]      [,3] [,4]
#> [1,]    8    7 0.2500000    1
#> [2,]    8    0 0.2500000    1
#> [3,]    8    6 0.3333333    1
#> [4,]    8    5 0.3333333    1
#> [5,]    8    4 0.3333333    1
#> [6,]    8    3 0.3333333    1
#> [7,]    8    2 0.3333333    1
#> [8,]    8    1 0.3333333    1
#> 
#> $cluster_tree
#> $cluster_tree$`8`
#> integer(0)
#> 
#> 
#> $min_pts
#> [1] 5
#> 
#> $min_cluster_size
#> [1] 5
#> 
#> $selection
#> [1] "eom"
#> 
#> $method
#> [1] "HDBSCAN* excess-of-mass extraction (Campello 2013)"
#>