Discovers clusters as dense regions separated by sparse areas. Hyperparameters are eps (neighborhood radius)
and minPts (minimum points). If eps is missing, it is estimated from the kNN distance curve elbow.
The base clusterer() uses wcss as a generic default, but
cluster_dbscan() specializes that choice because DBSCAN does not force a
centroid-based partition and can label observations as noise.
Default evaluation in cluster_dbscan() is:
main metric: metric_noise_points()
internal evaluation: noise_points
external evaluation: entropy, purity, adjusted_rand_index
The general wcss fallback is not used as the main metric because it ignores
the central modeling choice of DBSCAN: distinguishing dense clusters from
sparse or noisy observations.