一、前言
对于有监督的学习方法,我们可以找到许多评价指标,但是要评价无监督算法的质量,相对来说比较少有提及,正好最近在做一个相关的工作,稍微整理一下。
二、方法
下述提及方法均以k-means算法为基础, 不同聚类方法有不同的评价指标,这里说说k-means常用的两种方法
1、肘部法则–Elbow Method
我们知道k-means是以最小化样本与质点平方误差作为目标函数,将每个簇的质点与簇内样本点的平方距离误差和称为畸变程度(distortions),那么,对于一个簇,它的畸变程度越低,代表簇内成员越紧密,畸变程度越高,代表簇内结构越松散。
畸变程度会随着类别的增加而降低,但对于有一定区分度的数据,在达到某个临界点时畸变程度会得到极大改善,之后缓慢下降,这个临界点就可以考虑为聚类性能较好的点。
基于这个指标,我们可以重复训练多个k-means模型,选取不同的k值,来得到相对合适的聚类类别,
如上图所示,在k=2时,畸变程度得到大幅改善,可以考虑选取k=2作为聚类数量,附简单代码:
from sklearn.cluster import KMeans
model = KMeans(n_clusters=k)
model.fit(vector_points)
md = m