【问题标题】:HDBSCAN Python choose number of clustersHDBSCAN Python 选择集群数量
【发布时间】:2018-06-24 10:39:37
【问题描述】:

是否可以在python中选择HDBSCAN算法中的簇数?或者唯一的方法是玩转输入参数,例如 alpha、min_cluster_size?

谢谢

更新: 这是使用 fcluster 和 hdbscan 的代码

import hdbscan
from scipy.cluster.hierarchy import fcluster

clusterer = hdbscan.HDBSCAN()
clusterer.fit(X)
Z = clusterer.single_linkage_tree_.to_numpy()
labels = fcluster(Z, 2, criterion='maxclust')

【问题讨论】:

    标签: python hierarchical-clustering


    【解决方案1】:

    如果您明确需要获得固定数量的集群,那么最接近管理的方法是使用集群层次结构并在层次结构中执行平面切割,从而为您提供所需数量的集群。这确实涉及使用 HDBSCAN 公开的树对象之一,并让您的手有点脏,但可以做到。

    【讨论】:

    • 感谢您的评论。查看您的建议,我发现 HDBSCAN 可以与 scipy 结合使用,因此我可以在 scipy 中使用 fcluster 并使用标准“maxclust”来获得两个集群!从 HDBSCAN 传递 single_linkage_tree_。然而,在某些情况下,即使数据结构直观地表明,HDBSCAN 也找不到两个集群。我试图调整 min_samples 和 min_cluster_size 但我没有得到想要的结果。
    • @user1571823 您可以添加有关您的方法的答案吗?我尝试将 single_linkage 树提供给 fcluster,但我总是得到第一个集群包含几乎所有样本的结果,而其余的每个集群都只有一个样本。
    • @JouniHelske 使用 HDBSCAN,您可以执行 clusterer.single_linkage_tree_.get_clusters(epsilon_value, min_cluster_size=m) 以在 epsilon_value 的切割水平上获取集群,并排除任何低于 m 点的集群。
    • @JouniHelske 您指的是我在第一条评论中报告的相同问题。这似乎与 HDBSCAN 的性质有关。在我的例子中,数据集有一个导致非直观聚​​类结构的极端向量,即一个单一的向量是一个集群,尽管在视觉上它很明显是两个密集的集群。正因为如此,我转向了 fastcluster 及其病房联动功能。如果您的数据集中也有极值点,您可以尝试在运行 HDBSCAN 之前排除这些向量,然后将它们分配给最近的质心。
    • 我相信您可以使用scipy.cluster.hierarchy 中的工具为固定数量的聚类提取平面聚类。 clusterer.single_linkage_tree_.to_numpy() 的结果格式可以直接提供给 scipy 的层次聚类工具。
    【解决方案2】:

    值得庆幸的是,2020 年 6 月,GitHub 上的一位贡献者 (Module for flat clustering) 提供了一个提交,该提交将代码添加到 hdbscan,允许我们选择生成的集群的数量。

    这样做:

    from hdbscan import flat
    
    clusterer = flat.HDBSCAN_flat(train_df, n_clusters, prediction_data=True)
    flat.approximate_predict_flat(clusterer, points_to_predict, n_clusters)
    

    你可以在这里找到代码flat.py你应该可以使用approximate_predict_flat来选择测试点的簇数。

    另外,还写了一个 jupyter notebook 解释如何使用它,Here

    【讨论】:

      猜你喜欢
      • 2021-02-27
      • 2019-06-18
      • 2020-10-23
      • 1970-01-01
      • 1970-01-01
      • 2019-11-26
      • 2022-01-06
      • 2020-02-12
      • 1970-01-01
      相关资源
      最近更新 更多