聚类的外部指标(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):

相关推荐

  1. 比较不同方法评估指标

    2024-06-08 04:08:02       61 阅读
  2. Python可视化概率统计学习分析生物指纹

    2024-06-08 04:08:02       45 阅读
  3. AI学习指南机器学习篇-剪枝

    2024-06-08 04:08:02       22 阅读
  4. AI学习指南机器学习篇-层次优缺点

    2024-06-08 04:08:02       28 阅读
  5. 第9章-用户分群方法-评估指标

    2024-06-08 04:08:02       48 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-08 04:08:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-08 04:08:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-06-08 04:08:02       87 阅读
  4. Python语言-面向对象

    2024-06-08 04:08:02       96 阅读

热门阅读

  1. 从外部访问类中的私有成员

    2024-06-08 04:08:02       31 阅读
  2. kafka连接zookeeper失败导致无法启动

    2024-06-08 04:08:02       29 阅读
  3. 机器学习 - 常见问题与解决方案

    2024-06-08 04:08:02       30 阅读
  4. 机器学习目录

    2024-06-08 04:08:02       31 阅读