HDBSCAN参数区别

Hod*_*oda 8 cluster-analysis machine-learning hierarchical-clustering scikit-learn hdbscan

我对 HDBSCAN 中以下参数之间的差异感到困惑

  1. 最小簇大小
  2. 最小样本数
  3. cluster_selection_epsilon

如我错了请纠正我。

对于min_samples,如果设置为 7,则形成的簇需要有 7 个或更多点。因为cluster_selection_epsilon如果设置为 0.5 米,则任何相距超过 0.5 米的簇都不会合并为一个。这意味着每个簇仅包含相距 0.5 米或更小的点。

这与 有何不同min_cluster_size

小智 21

从技术上讲,他们做了两件不同的事情。

min_samples= 核心点的最小邻居数。该值越高,作为噪声/异常值而被丢弃的点就越多。这是来自 HDBScan 的 DBScan 部分。

min_cluster_size= 最终簇的最小大小。这个值越高,你的集群就越大。这是来自 HDBScan 的 H 部分。

增加min_samples会增加簇的大小,但它是通过使用 DBSCAN 将数据作为异常值丢弃来实现的。

相比之下,min_cluster_size在保持较小的同时增加,会保留这些异常值,但会将任何较小的簇与其最相似的邻居合并,直到所有簇都高于。min_samplesmin_cluster_size

所以:

  1. 如果您想要许多高度特定的集群,请使用smallmin_samples和small min_cluster_size
  2. 如果您想要更通用的聚类,但仍想保留大部分细节,请使用小min_samples和大min_cluster_size
  3. 如果您想要非常非常通用的集群并丢弃集群中的大量噪音,请使用largemin_samples和large min_cluster_size

(不可能使用大于 min_cluster_size 的 min_samples,afaik)