要比较k均值聚类结果与层次聚类结果,可以按照以下步骤进行:
from sklearn.cluster import KMeans
# 假设有一个数据集X
k = 3 # 设置聚类的簇数
kmeans = KMeans(n_clusters=k)
kmeans.fit(X)
# 获取聚类结果
kmeans_labels = kmeans.labels_
from sklearn.cluster import AgglomerativeClustering
# 假设有一个数据集X
k = 3 # 设置聚类的簇数
hierarchical = AgglomerativeClustering(n_clusters=k)
hierarchical.fit(X)
# 获取聚类结果
hierarchical_labels = hierarchical.labels_
from sklearn import metrics
# 计算ARI
ari = metrics.adjusted_rand_score(kmeans_labels, hierarchical_labels)
print("Adjusted Rand Index (ARI):", ari)
# 计算NMI
nmi = metrics.normalized_mutual_info_score(kmeans_labels, hierarchical_labels)
print("Normalized Mutual Information (NMI):", nmi)
这样就可以通过计算这些指标来比较k均值聚类结果与层次聚类结果的相似性了。较高的ARI和NMI值表示两种聚类结果之间的相似性较高。
上一篇:比较可为空值的列表
下一篇:比较Kmeans聚类和聚合聚类