获取分层聚类之间的距离 usin scikit

Obtaining distances between hierarchical clusters usin scikit

提问人:slow_learner 提问时间:11/7/2023 更新时间:11/7/2023 访问量:17

问:

我目前正在使用 Python 使用 SciKit 模块将一系列聚类计算为

Clustering_Jerarquico=linkage(data_state_normalized, 'average', metric='euclidean')

db_index_list = []
num_clusters_list = []
max_distance_list=[]
for i in range(106, -1, -1):
    clusters_provisional = fcluster(Clustering_Jerarquico, t=i, criterion="distance")
    num_clusters = len(set(clusters_provisional))
    db_avg_provisional = davies_bouldin_score(data_state_normalized, clusters_provisional)
    db_index_list.append(db_avg_provisional)
    num_clusters_list.append(num_clusters)

我使用 Davies Bouldin 指数作为最佳聚类数量的度量,方法是以类似于肘部方法的方式绘制它。

muestraPlot = 1
if muestraPlot == 1:
    plt.figure(figsize=(10, 6))
    plt.plot(num_clusters_list, db_index_list)
    plt.title(f'Índice de Davis Bouldin_{state.lower()}')
    plt.xlabel('Número de Clusters')
    plt.ylabel('Índice de Davis Bouldin')
    plt.show() 
    plt.savefig("db_index_vs_cluster.png")

但是,我被要求使用的不是 Daves-Bouldin 指数,而是聚类之间的原始距离。为此,我需要计算所有“t”值的聚类之间的平均距离。我尝试使用函数和.但是,我无法获得聚类之间的平均距离,以绘制类似于 BD 分数的图。有人可以告诉我我是否可以做到这一点吗?pdistmaxdist

python plot scikit-learn 聚类分析 距离

评论


答: 暂无答案