聚类算法入门:从K-means到层次聚类
1. 聚类性能评估:轮廓系数
在机器学习中,无监督学习方法的性能评估通常比监督学习方法更具挑战性,因为往往没有明确的“最佳”解决方案。对于监督学习,有许多可靠的性能指标,最直接的就是通过比较模型预测标签和实际标签,计算预测正确的比例,即准确率。然而,对于聚类问题,我们没有可供依赖的标签,因此需要找到一种方法来衡量聚类的“差异”程度,轮廓系数(Silhouette Score)就是这样一种常用的指标。
轮廓系数的取值范围在 -1 到 1 之间。如果整个聚类的平均轮廓系数为 1,那么意味着聚类效果非常理想,每个数据点所属的聚类非常明确,几乎不存在混淆。但在实际情况中,达到 1 的轮廓系数是非常罕见的,因此我们可以将轮廓系数视为衡量聚类效果的一个参考,尽力使聚类结果接近理想状态。
轮廓系数的计算可以通过简化轮廓指数(Simplified Silhouette Index,SSI)来实现,其数学原理是分析一个数据点与其所在聚类的契合程度。具体来说,它考虑了数据点到自身聚类质心的距离以及到最近聚类质心的距离。在Python的 scikit-learn 库中,提供了 silhouette_score 函数来计算轮廓系数,使用时只需传入特征数组和k-means聚类方法预测的聚类标签即可。
2. 计算轮廓系数的练习
下面我们通过一个具体的练习来学习如何计算数据集的轮廓系数,这里使用鸢尾花(Iris)数据集。
步骤如下 :
1. 加载数据 :使用 <
超级会员免费看
订阅专栏 解锁全文
10万+

被折叠的 条评论
为什么被折叠?



