HDBSCAN参数之间的差异

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

  1. min_cluster_size
  2. min_samples
  3. 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

所以:

  1. 如果你想要许多高度特定的_clusters,使用较小的min_samples和较小的min_cluster_size
  2. 如果你想要更概括的_clusters但仍希望保留大部分细节,使用较小的min_samples和较大的min_cluster_size
  3. 如果你想要非常非常概括的_clusters并希望在_clusters中丢弃大量噪声,使用较大的min_samples和较大的min_cluster_size

(据我所知,不可能将min_samples设置得比min_cluster_size大)

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注