三、聚类算模型的评估指标
思路:由于KMeans目标是簇内差异小,簇外差异大,因此可以通过衡量簇内差异来衡量聚类效果
1、标签y已知(最好用分类)
互信息分、V-measure、调整兰德系数,三者都是越高越好,前两个取值[0,1],最后一个取值[-1,1]
2、标签y未知:
1)轮廓系数
1)评价簇内稠密程度、簇间离散程度。样本与所在簇内其他样本相似度为a,其他簇内样本相似度为b,用平均距离计算。a越小,b越大,越好。
2)轮廓系数是对每一个样本进行计算,公式为s=(b-a)/max(a,b),范围:(-1,1)
轮廓系数处于(0,1):聚类好,越接近1越好
处于(-1,0):聚类不好
3)使用sklearn.metrics中的silhouette_score计算,返回所有轮廓系数的均值,silhouette_samples返回每个样本的轮廓系数
from sklearn.metrics import silhouette_score
silhouette_score(x,y_pred)
2)卡林斯基-哈拉巴斯指数CHI
from sklearn.metrics import calinski_harabasz_score
越高越好,比轮廓系数快,数据量大时使用
3)戴维斯-布尔丁指数
4)权变矩阵