我对HDBSCAN中以下参数的差异感到困惑
- min_cluster_size
- min_samples
- cluster_selection_epsilon
如果我理解错了,请纠正我。
对于min_samples
,如果设置为7,那么形成的_clusters需要有7个或更多的点。对于cluster_selection_epsilon
,如果设置为0.5米,那么任何相距超过0.5米的_clusters都不会被合并成一个。也就是说,每个_clusters只会包括相距0.5米或更少的点。
这与min_cluster_size
有什么不同?
回答:
它们从技术上讲执行了两种不同的事情。
min_samples
= 核心点的最小邻居数量。这个值越高,将被视为噪声/异常值丢弃的点就越多。这是HDBScan中DBScan部分的参数。
min_cluster_size
= 最终_clusters的最小尺寸。这个值越高,_clusters的尺寸就越大。这是HDBScan中H部分的参数。
增加min_samples
会增大_clusters的尺寸,但这是通过DBSCAN将数据作为异常值丢弃来实现的。
相比之下,增加min_cluster_size
而保持min_samples
较小,会保留那些异常值,但会将较小的_clusters与其最相似的邻居合并,直到所有_clusters都超过min_cluster_size
。
所以:
- 如果你想要许多高度特定的_clusters,使用较小的
min_samples
和较小的min_cluster_size
。 - 如果你想要更概括的_clusters但仍希望保留大部分细节,使用较小的
min_samples
和较大的min_cluster_size
。 - 如果你想要非常非常概括的_clusters并希望在_clusters中丢弃大量噪声,使用较大的
min_samples
和较大的min_cluster_size
。
(据我所知,不可能将min_samples设置得比min_cluster_size大)