"""
聚类性能评估
1、Adjusted Rand index (ARI)
优点:
1.1 对任意数量的聚类中心和样本数,随机聚类的ARI都非常接近于0;
1.2 取值在[-1,1]之间,负数代表结果不好,越接近于1越好;
1.3 可用于聚类算法之间的比较
缺点:
1.4 ARI需要真实标签
"""
ARI_t.append(adjusted_rand_score(labels_true=y, labels_pred=y_pred))
"""
2、Mutual Information based scores (MI) 互信息
优点:除取值范围在[0,1]之间,其他同ARI;可用于聚类模型选择
缺点:需要先验知识
"""
AMI_t.append(adjusted_mutual_info_score(labels_true=y, labels_pred=y_pred))
"""
1.3 Homogeneity, completeness and V-measure
同质性homogeneity:每个群集只包含单个类的成员。
完整性completeness:给定类的所有成员都分配给同一个群集。
两者的调和平均V-measure
"""
H_t.append(homogeneity_score(y, y_pred))
C_t.append(completeness_score(y, y_pred))
V_t.append(v_measure_score(y, y_pred))
'''
Calinski-Harabaz Index
这个计算简单直接,得到的Calinski-Harabasz分数值ss越大则聚类效果越好
类别内部数据的协方差越小越好,类别之间的协方差越大越好,这样的Calinski-Harabasz分数会高。
'''
CHI_t.append(calinski_harabaz_score(X, y_pred))
网友评论