序
在面试过程中经常问到K值如何确定,很多人说需要尝试,的确没错,但是更多地需要讲出来对每次尝试的结果是如何进行评价的。
肘部法则
实际上,一开始是很难确定聚类数的,下图的两种聚类数似乎都是可行的:
但是,也存在一种称之为肘部法则(Elbow Method)的方法来选定适当的K值:
上图曲线类似于人的手肘,“肘关节”部分对应的 K 值就是最恰当的 K 值,但是并不是所有代价函数曲线都存在明显的“肘关节”,例如下面的曲线:
一般来说,K-Means 得到的聚类结果是服务于我们的后续目的(如通过聚类进行市场分析),所以不能脱离实际而单纯以数学方法来选择 K 值。在下面这个例子中,假定我们的衣服想要是分为 S,M,L 三个尺码,就设定 K=3 ,如果我们想要 XS、S、M、L、XL 5 个衣服的尺码,就设定 K=5 :
轮廓系数
-
轮廓系数:
是评判聚类好坏的标准,结合类内聚合度以及类间分离度两种指标来计算得到。 -
计算方法:
a. 计算样本 i 到同簇内其他样本的平均距离 ,该值越小,说明样本 i 越应该被聚类到该簇中,可以将 称作样本的簇内不相似度。
b. 簇 C 中所有样本的 均值被称作是簇C的簇不相似度。
计算样本 i 到其他簇 中所有样本的平均距离 称作是样本 i 与簇 的不相似度。定义样本 i 的簇间不相似度为: = min(bi1, bi2…bik)
c. 越大说明样本 i 越不属于其他簇。
根据样本 i 的簇内不相似度 和簇间不相似度 ,定义样本 i 的轮廓系数:
-
判断方法
□ s_i 越接近1, 则说明样本 i 聚类合理。
□ s_i 越接近-1,说明样本 i 更适合聚到其他类
□ s_i越接近0,则说明样本 i 在两个簇的边界上○ 根据轮廓系数选取k
我们可以在固定的k值上多次执行,求取轮廓系数的均值,再依据上述判断准则选出合理的k值。
网友评论