K-means聚类算法原理、步骤、评价指标和实现

这篇具有很好参考价值的文章主要介绍了K-means聚类算法原理、步骤、评价指标和实现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、聚类

聚类与分类不同,聚类分析分通过分析大量含有一定规律但杂乱数据,得到数据间内在的逻辑,将杂乱的数据按照所得的数据规律划分成不同的种类。K-measn、DBSCAN和层次是当前广泛使用的三种聚类方法。以下对三种方法进行分析,选择适合的聚类方法。

方法

K-means

凝层次

DBSCAN

类型

基于原型的、划分的、完全的

层次的、完全的

基于密度的、划分的、部分的

基本原理

以样本非中心点到其所属的中心点的距离的平方和最小为目标来划分相应的类,并不断更新质心的位置和划分新类直至质心稳定

以每个点作为一个类为始,依据某种距离逐步合并“最接近”的类,直至所有的类被合并,形成有层次的聚类树

通过半径和邻域内样本点数量对密度进行定义,将核心点与其邻域内的所有核心点同处一类,将边界点归到邻域内核心点的类中

优点

1、收敛速度快:

2、算法可解释性好,原理简单;

3、调参(K)简单

可发现聚类间的层次关系

1、抗噪音;

2、能处理任意形状类;自动确定类数;

缺点

1、易受初始值限制;

2、需首先确定K值

计算复杂度高;

对半径和邻域内包含点数敏感

不同的方法特点不同,本次主要分析Kmeans聚类。

2、K-means聚类步骤

K-means算法主要有四个核心要点:

(1)簇个数k的选择

(2)各个样本点到“簇中心”的距离

(3)更新“簇中心”

(4)重复上述2、3过程,直至"簇中心"没有移动

基于上述四个核心要点,K-means算法具体步骤为:

(1)K值的选择:选取K个簇类的质心(通常为随机);

(2)距离度量:需要计算各个样本点到“簇中心”的距离,距离算法各有优劣,根据具体使用目标的不同采用合适的度量方法,常用且可靠的的度量方法有:

欧式距离:

K-means聚类算法原理、步骤、评价指标和实现

曼哈顿距离:

K-means聚类算法原理、步骤、评价指标和实现

 余弦相似度:

K-means聚类算法原理、步骤、评价指标和实现

 (3)新质心计算:根据第一计算距离的结果,更新“簇中心”,再计算各样本到“簇中心”的距离,与第二步类似。

(4)停止条件:每一次计算后,需要判断停止条件,达到条件时,满足需求,停止迭代计算。常用的停止要求有:

1)当质心不再改变,或给定loop最大次数loopLimit

2)当每个簇的质心,不再改变时就可以停止K-means

3)当loop次数超过looLimit时,停止K-means

4)只需要满足两者的其中一个条件,就可以停止K-means

5)如果Step4没有结束K-means,就再执行step2-step3-step4

6)如果Step4结束了K-means,则就打印(或绘制)簇以及质心

3、K-means算法评价指标

K-means算法的主要评价指标如下表所示:

指标

特点

紧密度(Compactness)

紧密度代表每一个类别元素到该类中心的聚类,因此聚类算法的效果好,类中的各个元素到该类的距离越小,紧密度越小。

分割度(Seperation)

分割度(Seperation)代表平均距离,计算式与上一节的距离方式一致,一般来说,不同类别的距离越远,分割度就越大,相应的不同类别之间的关系越弱,聚类效果越好。

误差平方和(SSE:)

误差平方和代表聚类的目标,原则上聚类效果越好时,SSE越小。

轮廓系数(SilhouetteCoefficient)

一个类别元素之间的距离应该越小越好,不同类别之间的元素则应该聚类越大,轮廓系数可以衡量整一个聚类的效果,当聚类效果好时,轮廓系数取得最大值+1,相反,聚类效果不好时,轮廓系数取得最小值-1。

4、K-means的实现过程

K-means聚类算法原理、步骤、评价指标和实现

 如图,K-means是先选定两个质心,求解其他点到两个质心的距离,进行第一次聚类,然后再在两类中选出新的质心,继续分类,不断迭代。文章来源地址https://www.toymoban.com/news/detail-469272.html

到了这里,关于K-means聚类算法原理、步骤、评价指标和实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • K-means聚类算法及Python代码实现

    K-means聚类算法(事先数据并没有类别之分!所有的数据都是一样的) 1、概述 K-means算法是集简单和经典于一身的 基于距离的聚类算法 采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。 该算法认为类簇是由距离靠近的对象组成的,因此把得到

    2023年04月24日
    浏览(35)
  • k-means聚类算法 心得分享(含python实现代码)

    目录 1.K-means聚类算法 1.1 引言: 1.2 K-Means 算法的基本思想 1.3 K-Means 算法的优缺点: 1.4 K-Means 算法的应用: 2.K-means聚类算法的实现具体步骤 2.1初始化聚类中心 2.2计算每个数据点到聚类中心的距离 2.3确定每个数据点所属聚类簇 2.4更新聚类中心 2.5循环执行步骤2-4,直到达到最

    2024年02月02日
    浏览(35)
  • 计算机视觉:聚类算法(K-Means)实现图像分割

    什么是K-means聚类? K-means聚类是一种无监督学习算法,用于将一组数据划分为K个不同的类别或簇。它基于数据点之间的相似性度量,将数据点分配到最接近的聚类中心。K-means算法的目标是最小化数据点与其所属聚类中心之间的平方距离和。 K-means聚类在图像分割中的应用 在

    2024年02月02日
    浏览(26)
  • K-Means聚类算法及其python实现(已附上代码至本博客)

    觉得有用的,一腚要先点赞后收藏!!!气死人了,40多个收藏0点赞!! 对于 n代表了x有n维,x上标j表示第j维的特征,下标i表示该向量是第i个样本 簇中心坐标为:(当然,这也是重新计算簇中心坐标的方法!!) 向量 u i = ( u i ( 1 ) , u i ( 2 ) , ⋅ ⋅ ⋅ , u i ( j ) , ⋅ ⋅ ⋅ , u i ( n )

    2024年02月08日
    浏览(27)
  • python 实现k-means聚类算法 银行客户分组画像实战(超详细,附源码)

    想要数据集请点赞关注收藏后评论区留言留下QQ邮箱 k-means具体是什么这里就不再赘述,详情可以参见我这篇博客 k-means 问题描述:银行对客户信息进行采集,获得了200位客户的数据,客户特征包括以下四个1:社保号码 2:姓名  3:年龄 4:存款数量 使用k-means算法对客户进行

    2024年02月11日
    浏览(44)
  • (python实现)一篇文章教会你k-means聚类算法(包括最优聚类数目k的确定)

    Kmeans算法中,K值所决定的是在该聚类算法中,所要分配聚类的簇的多少。Kmeans算法对初始值是⽐较敏感的,对于同样的k值,选取的点不同,会影响算法的聚类效果和迭代的次数。本文通过计算原始数据中的:手肘法、轮廓系数、CH值和DB值,四种指标来衡量K-means的最佳聚类数

    2024年02月05日
    浏览(48)
  • MATLAB实现k-means算法(k-均值)对无标签数据进行聚类,并通过肘部法则确定聚类类别

    应一个小伙伴的要求介绍了一下K均值聚类算法。本人也不是很专业,这是之前自学的,如果有错,大家可以提出来,共同进步嘛。   聚类属于非监督学习,K均值聚类是最基础常用的聚类算法。它的基本思想是,通过迭代寻找K个簇(Cluster)的一种划分方案,使得聚类结果

    2023年04月26日
    浏览(36)
  • k-means聚类算法详解

    什么是特征向量? 用来描述样本点的一组数据,要和我们数学中的向量区别一下,本质来说就是个数组,数组中的每个元素代表从不同角度描述样本点的值。 K-means 是我们最常用的基于 欧式距离 的聚类算法,其认为两个目标的距离越近,相似度越大。 聚类就是对大量末知标

    2024年02月16日
    浏览(23)
  • 无涯教程-聚类算法 - K-Means

    K-均值聚类算法计算质心并进行迭代,直到找到最佳质心为止,它假定群集的数目是已知的,它也称为扁平聚类算法。通过算法从数据中识别出的簇数以K均值中的\\\" K\\\"表示。 在该算法中,将数据点分配给群集,以使数据点和质心之间的平方距离之和最小。应当理解,簇内的较

    2024年02月10日
    浏览(33)
  • 【g】聚类算法之K-means算法

    聚类算法是一种无监督学习方法,它将相似的数据样本划分为一组,同时将不相似的数据样本划分为另一组。这个过程由计算机自动完成,不需要任何人为的干预。 K-means算法是一种经典的聚类算法,它的主要思想是把数据集分成k个簇,每个簇包括距离其它各簇最近的若干个

    2024年02月08日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包