【问题标题】:agglomerative clustering in sklearnsklearn中的凝聚聚类
【发布时间】:2017-12-03 17:37:02
【问题描述】:

我有一些数据以及这些数据点的成对距离矩阵。我想使用凝聚聚类对它们进行聚类。我在sklearn中读到,我们可以将“预先计算”作为亲和力,我希望它是距离矩阵。但我找不到任何使用预先计算的亲和力和自定义距离矩阵的示例。 任何帮助将不胜感激。

【问题讨论】:

    标签: scikit-learn hierarchical-clustering


    【解决方案1】:

    让我们将您的距离矩阵称为D

    agg = AgglomerativeClustering(n_clusters=5, affinity='precomputed', linkage = 'average')
    agg.fit_predict(D)  # Returns class labels.
    

    如果您对生成整个层次结构和生成树状图感兴趣,scikit-learn 的 API 会包装 scipy hierarchical clustering code。直接使用scipy 代码即可。

    【讨论】:

    • 非常感谢。它有帮助。
    • 如果这回答了您的问题,我鼓励您使用旁边的复选框将其标记为正确答案。这对你、我和以后遇到同样问题的人都有好处。否则,有什么可以澄清的?
    • 我在使用此代码时遇到了错误:预先计算是作为亲和力提供的。 Ward 只能使用欧几里得距离。
    • documentation 明确表示这将中断:'如果链接是“ward”,则只接受“euclidean”。'
    猜你喜欢
    • 2015-01-07
    • 2023-03-12
    • 2016-07-29
    • 2019-05-19
    • 2018-04-29
    • 2011-12-22
    • 2016-11-18
    • 1970-01-01
    相关资源
    最近更新 更多