【问题标题】:Specify max distance in agglomerative clustering (scikit learn)在凝聚聚类中指定最大距离(scikit learn)
【发布时间】:2017-06-09 01:29:05
【问题描述】:

使用聚类算法时,您始终必须指定关闭参数。

我目前正在使用 scikit learn 的凝聚聚类,我能看到的唯一关闭参数是聚类的数量。

agg_clust = AgglomerativeClustering(n_clusters=N)
y_pred = agg_clust.fit_predict(matrix)

但我想找到一种算法,您可以在其中指定集群元素内的最大距离,而不是集群的数量。 因此,该算法将简单地聚集集群,直到达到最大距离。

有什么建议吗?

【问题讨论】:

    标签: python algorithm scikit-learn hierarchical-clustering


    【解决方案1】:

    您要查找的内容在 scipy.cluster.hierarchy 中实现,请参阅here

    所以你可以这样做:

    from scipy.cluster.hierarchy import linkage, fcluster
    y_pred = fcluster(linkage(matrix), t, criterion='distance')  
    
    # or more direct way
    from scipy.cluster.hierarchy import fclusterdata
    y_pred = fclusterdata(matrix, t, criterion='distance')
    

    【讨论】:

    • 变量t是什么?
    • t 在此示例中,是一个标量,用于指定同一簇的两个元素之间允许的最大距离。更多信息here.
    猜你喜欢
    • 2017-08-06
    • 1970-01-01
    • 2015-11-25
    • 2019-10-20
    • 2021-09-16
    • 2019-11-12
    • 2021-01-24
    • 2019-02-05
    • 2016-11-11
    相关资源
    最近更新 更多