层次聚类(hierarchical clustering)和聚类模型评估(calinski-harabaz index)

本文介绍了层次聚类的两种策略——Agglomerative和Divisive,以及计算相似度的方法如SLink、CLink、ALink。同时,讨论了聚类模型评估中的Calinski-Harabaz Index,它是通过组间离散与组内离散的比率来判断聚类效果,分值越高表明聚类效果越好。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

层次聚类(Hierarcical Clustering)

层次聚类是聚类算法中的一种,它通过计算不同类别数据点之间的相似度,来创建一颗有层次的嵌套聚类树,层次聚类的策略有两种:
1.Agglomerative: 把每个点看成一个簇,合并这些相似的簇形成聚类;
2.Divisive: 把所有的点看成一个簇,分解这些点到各自簇内形成聚类;

Merge和Split使用的是贪婪的方式来进行计算的,所以非常耗时( O ( n 3 ) O(n^3) O(n3))以及消耗内存( O ( n 2 ) O(n^2) O(n2)),因此有一些高效的方法:SLink,CLink,ALink

衡量点之间的相似度是一项重要的工作,计算两个簇之间相似度的方法:
1.SLink-Single Linkage: 将两个组合数据点中距离最近的两个点之间的距离作为这两个组合数据点的距离,但是这种方式容易受到极端值的影响。
2.CLink-Complete Linkage: 将两个组合数据点中距离最远的两个点之间的距离作为这两个组合数据点的距离,这种方式同样容易受到极端值得影响。
3.ALink-Average Linkage: 计算两个组合数据点中的每个数据点与其他数据点的距离,将所有距离的均值作为两个组合数据点的距离。

聚类模型评估(Calinski-Harabaz Index)

因为聚类模型是一种无监督的学习模型,因此我们没有对应的标签来判断我们是否聚类正确,那怎么来判定我们模型的好坏呢?这似乎是一个比较困难的事情。

对于聚类模型来说,我们希望聚类结果为相同类别之间的数据距离越近越好,而不同类别之间的数据距离越远越好;因此,对于K个聚类,Calinski-Harabaz的分数S被定义为组间离散与组内离散的比率,该分值越大说明聚类效果越好。

S ( K ) = T r ( B K ) T r ( W K ) ∗ N − K K − 1 S(K)=\frac{T_r(B_K)}{T_r(W_K)}*\frac{N-K}{K-1} S(K)=T

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值