【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



目录
相关文章
|
2月前
|
机器学习/深度学习 自然语言处理 算法
【数据挖掘】金山办公2020校招大数据和机器学习算法笔试题
金山办公2020校招大数据和机器学习算法笔试题的解析,涵盖了编程、数据结构、正则表达式、机器学习等多个领域的题目和答案。
71 10
|
2月前
|
算法 数据挖掘 Python
【数据挖掘】十大算法之Apriori关联算法
Apriori关联算法,这是一种用于发现数据集中频繁项集和关联规则的数据挖掘技术,通过迭代过程找出满足最小支持度阈值的项集。
54 8
|
2月前
|
自然语言处理 算法 数据挖掘
【数据挖掘】十大算法之PageRank连接分析算法
文章介绍了PageRank算法的基本概念和数学模型,包括如何通过一阶马尔科夫链定义随机游走模型以及如何计算网页的重要性评分,并提供了PageRank迭代算法的具体步骤。
44 0
|
1月前
|
机器学习/深度学习 数据采集 算法
数据挖掘和机器学习算法
数据挖掘和机器学习算法
|
2月前
|
机器学习/深度学习 存储 人工智能
【数据挖掘】2022年2023届秋招知能科技公司机器学习算法工程师 笔试题
本文是关于2022-2023年知能科技公司机器学习算法工程师岗位的秋招笔试题,包括简答题和编程题,简答题涉及神经网络防止过拟合的方法、ReLU激活函数的使用原因以及条件概率计算,编程题包括路径行走时间计算和两车相向而行相遇时间问题。
63 2
【数据挖掘】2022年2023届秋招知能科技公司机器学习算法工程师 笔试题
|
2月前
|
机器学习/深度学习 自然语言处理 算法
【数据挖掘】2020奇安信秋招算法方向试卷1 笔试题解析
2020年奇安信秋招算法方向试卷1的题目解析,覆盖了数据结构、机器学习、深度学习、自然语言处理、排序算法、激活函数、主题模型、采样方法、图像处理等多个领域的知识点。
39 1
【数据挖掘】2020奇安信秋招算法方向试卷1 笔试题解析
|
2月前
|
机器学习/深度学习 存储 算法
【数据挖掘】2020奇安信秋招算法方向试卷3 笔试题解析
2020年奇安信秋招算法方向试卷3的题目解析,涵盖了数据结构、机器学习、深度学习、自然语言处理、排序算法、激活函数、PCA、词嵌入库等多个领域的知识点。
36 1
【数据挖掘】2020奇安信秋招算法方向试卷3 笔试题解析
|
2月前
|
机器学习/深度学习 人工智能 算法
【数据挖掘】2022年2023届秋招奇虎360机器学习算法工程师 笔试题
本文提供了奇虎360公司2022年秋招机器学习算法工程师岗位的笔试题内容,包括选择题和编程题,涉及概率统计、数据结构、机器学习、计算机组成原理等多个领域。
76 5
|
2月前
|
机器学习/深度学习 算法 数据挖掘
【数据挖掘】2022年2023届秋招宏瓴科技公司机器学习算法工程师 笔试题
关于宏瓴科技有限公司2022-2023年秋招机器学习算法工程师岗位的笔试题目及作者个人对部分题目的解答尝试,涉及贝叶斯误差和贝叶斯最优分类器的概念、贝叶斯误差的重要性和估算方法,以及如何有效利用训练集和测试集进行深度学习模型训练的数据集划分策略。
47 4
|
2月前
|
数据采集 资源调度 算法
【数据挖掘】十大算法之K-Means K均值聚类算法
K-Means聚类算法的基本介绍,包括算法步骤、损失函数、优缺点分析以及如何优化和改进算法的方法,还提到了几种改进的K-Means算法,如K-Means++和ISODATA算法。
86 4

热门文章

最新文章

下一篇
无影云桌面