聚类结果评价

内部指标(无标签)

Silhouette Coefficient(轮廓系数)

如果不知道实际情况标签,则必须使用模型本身进行评估。轮廓系数(sklearn.metrics.silhouette)是此类评估的一个例子,其中较高的轮廓系数分数与具有更好定义的集群的模型相关。轮廓系数为每个样本定义,由两个分数组成:
a: 样本与同一类中所有其他点之间的平均距离。
b: 一个样本与下一个最近的聚类中所有其他点之间的平均距离。
单个样本的轮廓系数s如下所示:
s = b − a m a x ( a , b ) ) s= \frac{b-a}{max(a,b))} s=max(a,b))ba

一组样本的轮廓系数是每个样本的轮廓系数的平均值。

from sklearn import metrics
from sklearn.metrics import pairwise_distances
from sklearn import datasets
X, y = datasets.load_iris(return_X_y=True)
# 通常情况下,轮廓系数应用于聚类分析的结果。
import numpy as np
from sklearn.cluster import KMeans
kmeans_model = KMeans(n_clusters=3, random_state=1).fit(X)
labels = kmeans_model.labels_
metrics.silhouette_score(X, labels, metric='euclidean')

优点:

1)对于不正确的聚类,分数在-1之间,对于高度密集的聚类,分数在+1之间。分数为零表示重叠的簇。
2)当集群密集且分离良好时,s值更高,这与集群的标准概念有关。

缺点:

凸簇的轮廓系数通常比其他簇的概念更高,例如通过DBSCAN获得的基于密度的簇。

Calinski-Harabasz Index(CHI)

如果不知道真相的标签,卡林斯基-哈拉巴斯指数(sklearn.metrics.calinski_harabasz_score)-也称为方差比准则-可用于评估模型,其中较高的Calinski-Harabasz分数与具有更好定义簇的模型相关。
指数是所有簇的簇间色散和簇间色散之和的比值(其中色散定义为距离平方和):

from sklearn import metrics
from sklearn.metrics import pairwise_distances
from sklearn import datasets
X, y = datasets.load_iris(return_X_y=True)

import numpy as np
from sklearn.cluster import KMeans
kmeans_model = KMeans(n_clusters=3, random_state=1).fit(X)
labels = kmeans_model.labels_
metrics.calinski_harabasz_score(X, labels)

优点:

1)当集群密集且分离良好时,得分更高,这与集群的标准概念有关。
2)得分计算得很快。

缺点:

凸簇的Calinski-Harabasz指数通常高于其他簇的概念,例如通过DBSCAN获得的基于密度的簇。

数学公式:

对于一组大小为 n E n_{E} nE 的数据 E E E ,将其聚类成簇,Calinski-Harabasz评分 s s s 定义为簇间离散平均值与簇内离散度之比:
s = t r ( B k ) t r ( W k ) × n E − k k − 1 s= \frac{tr(B_{k})}{tr(W_{k})}\times \frac{n_{E}-k}{k-1} s=tr(Wk

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值