详解聚类评估

详解聚类评估

估计聚类趋势

这一步骤是检测数据分布中是否存在非随机的簇结构

如果数据是基本随机的,那么聚类的结果也是毫无意义的 。

方法一:观察聚类误差是否随聚类类别数量的增加而单调变化

如果数据是基本随机的,即不存在非随机簇结构。那么聚类误差随聚类类别数量增加而变化的幅度应该较不显著,并且也找不到一个合适的 K 对应数据的真实簇数。

方法二:Hopkins Statistic(霍普金斯统计量)

判断数据在空间上的随机性
在这里插入图片描述
在这里插入图片描述
如果样本接近随机分布 H 的值接近于 0.5

如果聚类趋势明显 H 的值接近于 1

判定数据簇数

K-均值这样的算法需要数据集的簇数作为参数,簇数也可以看作是数据集的有趣并且重要的概括统计量。因此,在使用聚类算法导出详细的簇之前,估计簇数是可取的。

方法一:经验法

在这里插入图片描述

方法二:手肘法

给定k>0,使用像K-均值这样的算法对数据集聚类,并计算簇内方差和var(k)。然后,绘制var关于k的曲线。曲线的第一个(或最显著的)拐点暗示“正确的”簇数。

方法三:交叉验证法

将数据分为m部分;用m-1部分获得聚类模型,余下部分评估聚类质量(测试样本与类中心的距离和);对k>0重复m次,比较总体质量,选择能获得最好聚类质量的k

测定聚类质量

外在方法(有监督方法)

需要基准数据。用一定的度量评判聚类结果与基准数据的符合程度。

(基准是一种理想的聚类,通常由专家构建)

Jaccard Coefficient, JC(Jaccard系数)

在这里插入图片描述 在这里插入图片描述
结果值均在[0,1]区间,值越大越好。

purity(纯度)

在这里插入图片描述
在这里插入图片描述

sklearn 中 Purity 的实现
>>> from sklearn import metrics
>>> labels_true = [0, 0, 0, 1, 1, 1]
>>> labels_pred = [0, 0, 1, 1, 2, 2]
>>> metric.compute_purity(labels_pred, labels_true)
Fowlkes and Mallows Index, FMI(FM指数)

在这里插入图片描述
在这里插入图片描述

sklearn中FMI的实现

>>> from sklearn import metrics
>>> labels_true =<
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值