欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > IT业 > 聚类的外部指标(Purity, ARI, NMI, ACC) 和内部指标(NCC,Entropy,Compactness,Silhouette Index)

聚类的外部指标(Purity, ARI, NMI, ACC) 和内部指标(NCC,Entropy,Compactness,Silhouette Index)

2024/10/24 9:24:27 来源:https://blog.csdn.net/zgw555555/article/details/139342554  浏览:    关键词:聚类的外部指标(Purity, ARI, NMI, ACC) 和内部指标(NCC,Entropy,Compactness,Silhouette Index)

在聚类分析中,外部指标和内部指标用于评估聚类结果的质量。外部指标需要知道真实的类别标签,而内部指标则仅基于聚类结果本身进行评估。

外部指标
Purity (纯度): 计算聚类结果中每个簇中最多数目的样本所属的类别,并计算所有簇的该类别样本数之和占所有样本数的比例。
Python (使用 sklearn):

python
复制代码
from sklearn import metrics  
from sklearn.datasets import make_blobs  
from sklearn.cluster import KMeans  
  
# 假设 X 是数据, y 是真实标签  
# 聚类...  
kmeans = KMeans(n_clusters=3)  
labels_pred = kmeans.fit_predict(X)  
  
# 计算纯度 (需要自定义函数)  
def purity_score(y_true, y_pred):  
    contingency_matrix = metrics.cluster.contingency_matrix(y_true, y_pred)  
    return np.sum(np.amax(contingency_matrix, axis=0)) / y_true.shape[0]  
  
purity = purity_score(y, labels_pred)  
print(f"Purity: {purity}")
Matlab:

在 Matlab 中,没有直接的 purity 函数,但可以通过混淆矩阵计算。

Adjusted Rand Index (ARI): 衡量两个聚类结果之间的相似度。
Python (使用 sklearn):

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com