kmeans聚类目的干什么的_零基础学习Kmeans聚类算法的原理与实现过程

本文详细介绍了K-means聚类算法的原理、流程及其改进版K-means++,并展示了如何在Python中实现。通过手肘法、轮廓系数等方法确定最优聚类数目,探讨了K-means的优缺点及其在无监督学习中的应用。
摘要由CSDN通过智能技术生成

ab084dc88cd29306c5e8c07a32e3dcbd.png

内容导入:

聚类是无监督学习的典型例子,聚类也能为企业运营中也发挥者巨大的作用,比如我们可以利用聚类对目标用户进行群体分类,把目标群体划分成几个具有明显特征区别的细分群体,从而可以在运营活动中为这些细分群体采取精细化个性化的运营和服务;还可以利用聚类对产品进行分类,把企业的产品体系进一步细分成具有不同价值、不同目的的多维度的产品组合,在此基础分别制定和相应的开发计划、运营计划和服务规划。这都将提升运营的效率和商业效果。

聚类方法分为基于划分的聚类、基于层次的聚类、基于密度的聚类、基于网络的聚类、基于模型的聚类以及基于模糊的聚类,今天我们就从基于划分的聚类开始讲解聚类算法,什么是基于划分的聚类呢?其原理即需要将一堆散点进行聚类,聚类目标是“类内的点足够近,类间的点足够远”,而你需要做的就是(1)确定聚类数目;(2)挑选初始中心点;(3)迭代重置中心点直到满足“类内的点足够近,类间的点足够远”,典型的基于划分的聚类就是K-means算法。

K-means算法流程

经典的K-means算法

假设要将无标签数据集:

3e098132f3121aac5de91629d7f50949.png

聚成k个簇C1,C2,…, Ck,最小化损失函数:

e9956c2da389a970b8aecd82f9ef3f83.png

但是完成这个过程需要遍历所有可能的簇划分,这将带来大量的计算,而K-means是利用贪心策略求得近似解的方法,经典K-means算法流程如下

(1)随机地选择k个对象,每个对象初始地代表了一个簇的中心;

(2)对剩余的每个对象,根据其与各簇中心的距离,将它赋给最近的簇;

(3)重新计算每个簇的平均值,更新为新的簇中心;

(4)不断重复2、3,直到达到某个终止条件。

这个终止条件可以是:没有(或最小数目)对象被重新分配给不同的聚类、没有(或最小数目)聚类中心再发生变化、误差平方和局部最小。

K-means算法的改进K-means++算法

因K-means算法的聚类结果会受到初始点的的选取的影响,有人提出了K-means++改进了初始点的选取过程:

(1)随机选取一个样本点作为第一个聚类中心

(2)计算每个样本点与当前已有聚类中心的最短距离,即:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值