1.参数
主要是上面这两个参数,比如说X可以是经过tsne降维的n_feature=2的二维矩阵,第一维表示样本数量,labels为真实的label,这样的话可以得出轮廓系数的结果。
labels:是array类型的,需要是int型的label,通过LabelEncoder编码一下即可。
2.计算方法
轮廓系数(Silhouette Coefficient),是聚类效果好坏的一种评价方式。它结合内聚度和分离度两种因素。
方法:
1,计算样本i到同簇其他样本的平均距离ai。ai 越小,说明样本i越应该被聚类到该簇。将ai 称为样本i的簇内不相似度。
簇C中所有样本的a i 均值称为簇C的簇不相似度。
2,计算样本i到其他某簇Cj 的所有样本的平均距离bij,称为样本i与簇Cj 的不相似度。定义为样本i的簇间不相似度:bi =min{bi1, bi2, ..., bik}
bi越大,说明样本i越不属于其他簇。
3,根据样本i的簇内不相似度a i 和簇间不相似度b i ,定义样本i的轮廓系数:
si接近1,则说明样本i聚类合理;
si接近-1,则说明样本i更应该分类到另外的簇;
若si 近似为0,则说明样本i在两个簇的边界上。