【weka应用技术与实践】【数据挖掘】举例说明Kmeans算法的运行过程及算法描述

简介: 源自:K-means 算法【基本概念篇】

1. Kmeans算法的认识


k均值聚类算法(k-means clustering algorithm)是一种迭代求解的聚类分析算法,也是一种无监督的机械学习算法。


聚类的认识


聚类是一个将数据集中在某些方面相似的数据成员进行分类组织的过程,聚类就是一种发现这种内在结构的技术,聚类技术经常被称为无监督学习。

k均值聚类是最著名的划分聚类算法,由于简洁和效率使得他成为所有聚类算法中最广泛使用的。算法采用误差平方和准则函数作为聚类准则函数。


2. Kmeans具体的算法描述


需要把数据点分成三类。我们需要遵循下面的几个步骤

(注意:分类,其实是分割的意思,表达的意思是聚类。)

  1. 选取三个类的初始中心
  2. 计算剩余点到这三个中心的距离
  3. 将距离中心点距离最短的点归为一类
  4. 依次划分好所有的数据点
  5. 重新计算中心
  6. 重复2-5 个步骤,直到中心点不会在变化为止


第一步 选择中心点


随机选择坐标系上的几个点。


第二步 计算点之间的距离


两个点之间的距离用曼哈顿聚类距离,也可以叫做城市街区距离。


微信截图_20220517210918.png


举例(一个二维的数据集)


坐标系上存在八个点:


A1 ( 2 ,10 )、 A2 ( 2 , 5 )、 A3 ( 8 , 4 ) 、A4 ( 5 , 8 )、 A5 ( 7 , 5) 、A6 ( 6 , 4) 、A7 ( 1 , 2 ) 、A8 ( 4 , 9 )


选择在XY坐标上的任意三个点,当然可以选择更多都是可以的。


这里选取的初始点是A1(2,10),A4(5,8),A7(1,2)分别命名为点1,点2,点3


微信截图_20220517210930.png


点1和A1的曼哈顿聚类距离:| 2 - 2 | + | 10 - 10 | = 0


微信截图_20220517210943.png


点2和A1的曼哈顿聚类距离:| 5 - 2 | + | 8 - 10 | = 5


微信截图_20220517211002.png


点3和A1的曼哈顿聚类距离:| 1 - 2 | + | 2 - 10 | = 9


微信截图_20220517211010.png


注意: 中心点的选取不同,最后的聚类结果可能大不相同 )


这时,已经得到了第一轮的结果,需要重新计算每个聚类中心


微信截图_20220517211056.png


点1:

对于第一个聚类只有一个点所以它的聚类的中心就是自己


点2:

X :( 8 + 5 + 7 + 6 + 4 ) / 5 = 6

Y :( 4 + 8 + 5 + 4 + 9 ) / 5 = 6

中心点就是( 6 ,6 )


点3:

X :( 2 + 1 ) / 2 = 1.5

Y :( 5 + 2 ) / 2 = 3.5


这时,进行第二轮迭代:


微信截图_20220517211109.png


这时,得到了第二轮的结果,也需要重新计算每个聚类中心


微信截图_20220517211120.png


点1:

X :( 2 + 4 ) / 2 = 3

Y :( 10 + 9 ) / 2 = 9.5


点2:

X :( 8 + 5 + 7 + 6 ) / 4 = 6.5

Y :( 4 + 8 + 5 + 4 ) / 4 = 5.25

中心点就是(6,6 )


点3:

X :( 2 + 1 ) / 2 = 1.5

Y :( 5 + 2 ) / 2 = 3.5


微信截图_20220517211128.png


这时,得到了第三轮的结果,还需要重新计算每个聚类中心


点1:

X :( 2 + 5 + 4 ) / 3 = 3.67

Y :( 10 + 8 + 9 ) / 3 = 9


点2:

X :( 8 + 7 + 6 ) / 3 = 7

Y :( 4 + 5 + 4 ) / 3 = 4.33

中心点就是(6,6 )


点3:

X :( 2 + 1 ) / 2 = 1.5

Y :( 5 + 2 ) / 2 = 3.5


微信截图_20220517211137.png


此时,发现第四轮的结果和第三轮的结果一致了,可以停止该算法了。


可以看一下这个迭代过程的图谱


  1. 选择中心点后

微信截图_20220517211145.png


  1. 依次迭代的过程:

微信截图_20220517211152.png


微信截图_20220517211159.png


微信截图_20220517211208.png



目录
相关文章
|
1月前
|
机器学习/深度学习 算法 数据可视化
探索线性回归算法:从原理到实践
探索线性回归算法:从原理到实践【2月更文挑战第19天】
21 0
探索线性回归算法:从原理到实践
|
1月前
|
算法 C语言 C++
嵌入式PID算法理论+实践分析
嵌入式PID算法理论+实践分析
25 0
|
3月前
|
机器学习/深度学习 数据可视化 数据挖掘
探索大数据时代的关键技术:数据挖掘、可视化和数据仓库
探索大数据时代的关键技术:数据挖掘、可视化和数据仓库
103 0
|
4月前
|
算法 数据挖掘 Python
【数据挖掘】层次聚类DIANA、AGNES算法讲解及实战应用(图文解释 超详细)
【数据挖掘】层次聚类DIANA、AGNES算法讲解及实战应用(图文解释 超详细)
121 0
|
4月前
|
机器学习/深度学习 算法 前端开发
【数据挖掘】袋装、AdaBoost、随机森林算法的讲解及分类实战(超详细 附源码)
【数据挖掘】袋装、AdaBoost、随机森林算法的讲解及分类实战(超详细 附源码)
38 0
|
1月前
|
机器学习/深度学习 算法 搜索推荐
外卖平台推荐算法的优化与实践
外卖平台推荐算法的优化与实践
|
8天前
|
算法
R语言使用随机技术差分进化算法优化的Nelson-Siegel-Svensson模型
R语言使用随机技术差分进化算法优化的Nelson-Siegel-Svensson模型
15 0
|
1月前
|
算法 数据挖掘 大数据
探索数据挖掘中的特征选择算法
在数据挖掘领域,特征选择是一项至关重要的任务。本文将深入探讨几种常用的特征选择算法,并比较它们在不同数据集上的表现,旨在帮助数据分析师和研究人员更好地应用这些算法来提升模型性能。
|
1月前
|
机器学习/深度学习 算法 API
视觉智能平台常见问题之算法私有化部署交付给公司内部运行如何解决
视觉智能平台是利用机器学习和图像处理技术,提供图像识别、视频分析等智能视觉服务的平台;本合集针对该平台在使用中遇到的常见问题进行了收集和解答,以帮助开发者和企业用户在整合和部署视觉智能解决方案时,能够更快地定位问题并找到有效的解决策略。
23 1
|
1月前
|
机器学习/深度学习 算法 计算机视觉
利用深度学习算法实现图像风格转换技术探究
本文将通过深入分析深度学习算法在图像处理领域的应用,探讨如何利用神经网络实现图像风格转换技术。通过研究不同风格迁移算法的原理和实现方式,揭示其在艺术创作、图像编辑等领域的潜在应用和挑战。