我正在尝试使用变量之间的相关距离自定义层次聚类过程,并且我需要评估聚类质量。但是,我在Python中找到的所有聚类质量评估方法都是面向观察的,并且不使用距离矩阵作为输入。
例如,sci-kit learn、SciPy 或 clusteval 中提供的聚类评估分数不提供如何使用距离矩阵作为输入来计算以下任何基于距离的质量指标:
您是否有任何解决方案可以在分层聚类中使用自定义距离指标来访问聚类质量?
DistanceMatrix = 1-abs(pipe6.Stats())
N = DistanceMatrix.shape[0]
score = []
for K in range(2, N-1):
hclus = skclus.FeatureAgglomeration(n_clusters=K,
linkage="complete",
metric="precomputed")
hclus.fit(DistanceMatrix)
clusters = hclus.labels_
Quality = metrics.davies_bouldin_score(X=DistanceMatrix,
labels=clusters)
score.append(Quality)
使用 Silhouette,您可以使用
metric=precomputed
并传递距离矩阵。