首页>>科技 >>内容

means聚类算法原理分析与实际应用案例分析 案例分析另起一篇博客

发布时间:2023-09-20 15:23:10编辑:温柔的背包来源:

means聚类算法原理分析与实际应用案例分析 案例分析另起一篇博客

很多朋友对means聚类算法原理分析与实际应用案例分析,案例分析另起一篇博客不是很了解,每日小编刚好整理了这方面的知识,今天就来带大家一探究竟。

在数据分析中,我们经常想要聚集看起来相似或行为相似的数据。比如,对于一个营销机构来说,根据不同客户的特点进行分组,从而有针对性地定制营销活动,这一点非常重要。比如对于学校老师来说,给学生分组也可以集中在教育活动上。分类和聚类是数据挖掘领域的两种基本方法。分类用于监督学习,而聚类算法是无监督的。

聚类算法主要是将相似的数据聚合在一起,形成不同的组,但组与组之间存在很大的差异。在这次分享中,我将介绍一种无监督算法,K-means算法。为什么要引入这个算法?因为这个算法概念简单,容易实现,容易上手!

K-means聚类算法简介相似性度量K-means算法是一种无监督学习算法,可以应用于无标签数据。该算法的目的是找到数据组,组的数量由k指定。基于所提供的特征,该算法迭代地将数据分配给k个组中的一个。基于数据相似性对数据进行聚类。K-means聚类算法的结果是:K个聚类中心可以用来标记新数据,每个数据被分配到一个聚类中。

基本K-means算法的相似性度量是基于距离计算的,最典型的是欧氏距离。欧氏距离计算给定两点之间的距离,公式如下:走神(xi,xj)=|| xixj || 2= u=1n | xiuxju | 2 算法流程:K-means算法的流程很简单,如下:首先随机确定K个初始点作为质心。

然后将数据集中的每个点分配给一个聚类。具体而言,为每个点找到最近的质心,并将其分配给对应于该质心的聚类。将每个分类的质心更新为分类中所有点的平均值。如果质心不再变化或变化很小,则退出循环,否则,返回第二步K-means的伪代码如下:

K-means的实现因为在之前的博客分享中,有一个K-means算法的实际应用场景,所以你可以直接切换到它:基于改进的K-means算法在共享交通行业客户细分中的应用,那篇博文中使用的K-means算法就是sklearn中的K-means算法。

K-means初始点不足的选择K-means算法在实际应用中存在一些缺点。在实际应用中,我们发现K-means对初始点的选取非常敏感,这种敏感性会导致K-means算法收敛于局部最优。于是有人提出了两种方法,一种是K-means,另一种是二进制K-means算法,使K-means尽可能达到全局最优。

K-means k-means算法选择初始聚类中心的基本原则是初始聚类中心之间的相互距离应尽可能远。选取初始聚类中心的步骤如下:从输入数据点集中随机选取一点作为第一聚类中心;(2)对于数据集中的每一个点X,计算其到最近的聚类中心(指所选的聚类中心)的距离D(x),按照以下概率选择新的聚类中心。(3)重复过程(2 ),直到找到k个聚类中心。

二分法K-means二分法K-means使用SSE(误差平方和)作为衡量聚类效果的指标。SSE越小,数据点离其质心越近,聚类效果也最好。二进制K-means算法的工作流程如下:首先将所有点视为一个聚类,然后将聚类分成两部分;(2)之后选择其中一个簇继续划分,选择哪个簇进行划分取决于是否能最大程度的降低SSE的值。

(3)不断重复上述基于SSE的划分过程,直到获得用户指定的簇数。k的确定,k值的选择,目前确实不是一个好的解决方案。一般是实际业务场景,k的值由工程经验决定。

距离计算中K-means的实现是基于欧氏距离的,但实际业务场景中的距离计算方法有很多种,可以使用一种叫做“距离度量学习”的实现方法来做到这一点。这篇博文就不介绍了。

以上知识分享希望能够帮助到大家!