K-中心点算法也是一种常用的聚类算法,K-中心点聚类的基本思想和K-Means的思想相同,实质上是对K-means算法的优化和改进。在K-means中,异常数据对其的算法过程会有较大的影响。在K-means算法执行过程中,可以通过随机的方式选择初始质心,也只有初始时通过随机方式产生的质心才是实际需要聚簇集合的中心点,而后面通过不断迭代产生的新的质心很可能并不是在聚簇中的点。如果某些异常点距离质心相对较大时,很可能导致重新计算得到的质心偏离了聚簇的真实中心。

算法步骤:

(1)确定聚类的个数K。

(2)在所有数据集合中选择K个点作为各个聚簇的中心点。

(3)计算其余所有点到K个中心点的距离,并把每个点到K个中心点最短的聚簇作为自己所属的聚簇。

(4)在每个聚簇中按照顺序依次选取点,计算该点到当前聚簇中所有点距离之和,最终距离之和最小的点,则视为新的中心点。

(5)重复(2),(3)步骤,直到各个聚簇的中心点不再改变。

如果以样本数据{A,B,C,D,E,F}为例,期望聚类的K值为2,则步骤如下:

(1)在样本数据中随机选择B、E作为中心点。

(2)如果通过计算得到D,F到B的距离最近,A,C到E的距离最近,则B,D,F为聚簇C1,A,C,E为聚簇C2。

(3)在C1和C2两个聚类集合中,计算一个点到其他店的距离之和的最小值作为新的中心点,假如分别计算出D到C1中其他所有点的距离之和最小,E到C2中其他所有点的距离之和最小。

(4)再以D,E作为聚簇的中心点,重复上述步骤,直到中心点不再改变。

K-中心聚类算法计算的是某点到其它所有点的距离之和最小的点,通过距离之和最短的计算方式可以减少某些孤立数据对聚类过程的影响。从而使得最终效果更接近真实划分,但是由于上述过程的计算量会相对杜宇K-means,大约增加O(n)的计算量,因此一般情况下K-中心算法更加适合小规模数据运算。

K-中心点聚类算法(K-Medoide)相关推荐

  1. k均值聚类算法(K Means)及其实战案例

    算法说明 K均值聚类算法其实就是根据距离来看属性,近朱者赤近墨者黑.其中K表示要聚类的数量,就是说样本要被划分成几个类别.而均值则是因为需要求得每个类别的中心点,比如一维样本的中心点一般就是求这些样本 ...

  2. k中心点聚类算法伪代码_聚类算法之——K-Means、Canopy、Mini Batch K-Means

    K-Means||算法 K-Means||算法是为了解决K-Means++算法缺点而产生的一种算法: 主要思路是改变每次遍历时候的取样规则,并非按照K-Means++算法每次遍历只获取一个样本,而是每 ...

  3. k-medoid(k中心点)聚类算法Python实现

    k-means算法有个很大的缺点,就是对孤立点敏感性太高,孤立点即是脱离群众的点,与众不同的点,即在显示中与其他点不是抱在一团的点. 为了体现两者的不同,我特意温习了一下知识,在构造初始点的时候,自己 ...

  4. Python金融数据挖掘 第11章 复习思考题1 (聚类)给出一个数据集data_multivar.txt,里面有200个点坐标,在平面坐标系下可以画出它的散点图,用K均值聚类算法来训练模型,分4类。

    1.题目 给出一个数据集data_multivar.txt,里面有200个点坐标,在平面坐标系下可以画出它的散点图,如图11-12所示. data_multivar.txt 图11-12 数据集 da ...

  5. 聚类算法-K均值(K-means)

    摘要 在前面的文章中,介绍了三种常见的分类算法.分类作为一种监督学习方法,要求必须事先明确知道各个类别的信息,并且断言所有待分类项都有一个类别与之对应.但是很多时候上述条件得不到满足,尤其是在处理海量 ...

  6. python机器学习案例系列教程——k均值聚类、k中心点聚类

    全栈工程师开发手册 (作者:栾鹏) python数据挖掘系列教程 上一篇我们学习了层次聚类.层次聚类只是迭代的把最相近的两个聚类匹配起来.并没有给出能给出多少的分组.今天我们来研究一个K均值聚类.就是 ...

  7. K-Means(K均值聚类算法)

    K-Means(K均值聚类算法) 1.前言 要学习聚类算法就要知道聚类学习算法是什么,为什么要学习聚类学习聚类学习算法,有什么用途,下面就简单的做一下介绍,并且详细的说明k-means均值聚类学习算法 ...

  8. K均值聚类算法(Kmeans)讲解及源码实现

    K均值聚类算法(Kmeans)讲解及源码实现 算法核心 K均值聚类的核心目标是将给定的数据集划分成K个簇,并给出每个数据对应的簇中心点.算法的具体步骤描述如下. 数据预处理,如归一化.离群点处理等. ...

  9. K-means(K均值聚类算法)算法笔记

    K-means(K均值聚类算法)算法笔记 K-means 算法,是比较简单的无监督的算法,通过设定好初始的类别k,然后不断循环迭代,将给定的数据自动分为K个类别.事实上,大家都知道K-means是怎么 ...

  10. K均值聚类算法的MATLAB实现

    K均值聚类算法的MATLAB实现 1.K-均值聚类法的概述 之前在参加数学建模的过程中用到过这种聚类方法,但是当时只是简单知道了在matlab中如何调用工具箱进行聚类,并不是特别清楚它的原理.最近因为 ...

最新文章

  1. Maximum execution time of 30 seconds exceeded解决办法
  2. gitlab开启https加密 and 全站https
  3. eclipse启动tomcat遇到404错误
  4. 【CMS】安装CMS
  5. 一步一步学Silverlight 2系列(6):键盘事件处理
  6. 超轻量级DI容器框架Google Guice与Spring框架的区别教程详解及其demo代码片段分享...
  7. ASP.NET Core - Razor 页面介绍
  8. jq实现百度图片移入移出内容提示框上下左右移动的效果
  9. 未能加载文件或程序集“AjaxControlToolkit”或它的某一个依赖项
  10. Android 视频缩放/放大
  11. qq游戏大厅+android,手机QQ游戏大厅Android客户端体验
  12. 初出茅庐-----微信好友分析与微信机器人
  13. MacPro终端出现bash: touch: command not found
  14. js点击左右按钮来切换多张图片
  15. 【图像分割】基于方向谷形检测实现静脉纹路分割附MATLAB代码
  16. Linux nginx 项目部署
  17. 如何卸载干净JAVA
  18. PCF8574AT的I2C地址和单独IO操作
  19. 线程同步(临界区、互斥量、事件、信号量)
  20. 安全多方计算技术介绍

热门文章

  1. laravel maatwebsite/excel3.1 导入导出详解
  2. Mysql 事务锁等待时间超时
  3. 六、定语从句和关系代词
  4. 一个故事轻松记忆常见252个英语字根(1~30)
  5. 传智博客JAVA基础第二十三天
  6. 搜索引擎原理第三阶段之排名
  7. 狂神ajax,Ajax---狂神说
  8. 优秀测试工程师应该具有的基本素质
  9. c#自定义日历插件,给重要日期添加色彩。以及系统自带的monthCalendar日历插件
  10. 关于 “总机服务” 新增功能来电弹屏的功能说明