关键词:聚类,K-means,scikit-learn,python
摘要:本文主要介绍聚类、K-means的概念和结果评估,以及使用python进行聚类分析的方法;
-
要点总结
-
了解无监督学习以及聚类概念;
-
K-means的实现过程,肘部法则确定超参数
K
,利用平均畸变程度和轮廓系数评估聚类效果;
-
-
基本概念
-
聚类(clustering)
-
属于无监督学习,可以找出不带标签数据的相似性的算法;
-
概念:将更具相似性的样本归为一类(cluster),同组中的样本比其他租的样本更相似;
-
应用:市场调查中对用户分组、社交网络识别社区、推荐系统、寻找相似模式的基因组;
-
-
K-means聚类算法
-
实现过程:
- 指定聚类的数量 K
- 初始化,指定第 k 个类的重心位置 uk ;(实际中,为避免局部最优解,需要从不同位置开始初始化,取最小成本函数对应的重心位置作为初始化位置)
- 遍历每一个元素 xi ,计算该元素到各个类重心 uk 的距离,将该元素划分到距其最近的类;
- 计算重新生成类的重心;
- 重复3-4,直至各个类的重心位置不再变化(成本函数值的差达到了限定值,或者前后两次迭代的重心位置变化达到了限定值);
-
超参数K:表示类的数量,需要人为指定,K-means不能决定要分几个类;
-
肘部法则(elbow method): 可用于估计聚类数量;把不同K值的成本
-
-