【问题标题】:How to calculate Silhouette Score of the scipy's fcluster using scikit-learn silhouette score?如何使用 scikit-learn 剪影分数计算 scipy 的 fcluster 的剪影分数?
【发布时间】:2023-04-05 10:49:01
【问题描述】:

我使用 scipy.cluster.hierarchy.linkage 作为聚类算法,并将结果链接矩阵传递给scipy.cluster.hierarchy.fcluster,以获得各种阈值的扁平聚类。

我想计算结果的剪影分数并比较它们以选择最佳阈值,我不想自己实现它,而是使用 scikit-learn 的sklearn.metrics.silhouette_score。 如何重新排列我的聚类结果作为 sklearn.metrics.silhouette_score 的输入?

【问题讨论】:

    标签: python scipy scikit-learn hierarchical-clustering


    【解决方案1】:

    你不必这样做。

    fcluster 的结果可以直接输入到 silhouette_score 中。

    distmatrix1 = scipy.spatial.distance.squareform(distmatrix + distmatrix.T)
    ddgm = scipy.cluster.hierarchy.linkage(distmatrix1, method="average")
    nodes = scipy.cluster.hierarchy.fcluster(ddgm, 4, criterion="maxclust")
    metrics.silhouette_score(distmatrix + distmatrix.T , nodes, metric='euclidean')
    

    【讨论】:

      猜你喜欢
      • 2016-09-07
      • 2013-05-01
      • 2019-09-30
      • 2020-05-12
      • 2021-07-25
      • 2020-06-26
      • 2015-10-19
      • 2021-02-10
      • 2020-11-19
      相关资源
      最近更新 更多