Loading [MathJax]/extensions/TeX/AMSmath.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【数据挖掘】数据挖掘总结 ( K-Means 聚类算法 | 一维数据的 K-Means 聚类 ) ★

【数据挖掘】数据挖掘总结 ( K-Means 聚类算法 | 一维数据的 K-Means 聚类 ) ★

作者头像
韩曙亮
发布于 2023-03-28 12:31:02
发布于 2023-03-28 12:31:02
9520
举报

文章目录

参考博客 :

一、 K-Means 聚类算法流程


K-Means 算法 步骤 : 给定数据集

, 该数据集有

个样本 , 将其分成

个聚类 ;

① 中心点初始化 :

个聚类分组选择初始的中心点 , 这些中心点称为 Means ; 可以依据经验 , 也可以随意选择 ;

② 计算距离 : 计算

个对象与

个中心点 的距离 ; ( 共计算

次 )

③ 聚类分组 : 每个对象与

个中心点的值已计算出 , 将每个对象分配给距离其最近的中心点对应的聚类 ;

④ 计算中心点 : 根据聚类分组中的样本 , 计算每个聚类的中心点 ;

⑤ 迭代直至收敛 : 迭代执行 ② ③ ④ 步骤 , 直到 聚类算法收敛 , 即 中心点 和 分组 经过多少次迭代都不再改变 , 也就是本次计算的中心点与上一次的中心点一样 ;

给定 一组样本 , 和 一组中心点 , 计算 所有样本 到 所有中心点 的距离 , 给样本 分组 , 计算分好组的样本的中心点 , 重新计算所有样本到所有中心点的距离 , 继续进行分组 , 一直迭代执行上述操作 , 直到连续两次样本分组不再变化 ;

二、 一维数据的 K-Means 聚类


给定数据集

, 初始中心点

, 使用 K-Means 算法对数据集进行聚类分析 ;

1、 第一次迭代

第一次迭代 : 计算每个样本值与每个中心点的距离 , 将样本分类到最近的中心点所在的分组 , 计算每个分组新的中心值 ;

距离计算示例 :

的距离就是差值的绝对值

;

样本值

聚类

C 1 C_1 C1​

C 2 C_2 C2​

C 3 C_3 C3​

中心值

1 1 1

20 20 20

40 40 40

P 1 P_{1} P1​

1 1 1

0 0 0

19 19 19

39 39 39

P 2 P_2 P2​

3 3 3

2 2 2

17 17 17

37 37 37

P 3 P_3 P3​

5 5 5

4 4 4

15 15 15

35 35 35

P 4 P_4 P4​

8 8 8

7 7 7

12 12 12

32 32 32

P 5 P_5 P5​

9 9 9

8 8 8

11 11 11

31 31 31

P 6 P_6 P6​

11 11 11

10 10 10

9 9 9

29 29 29

P 7 P_7 P7​

12 12 12

11 11 11

8 8 8

28 28 28

P 8 P_8 P8​

13 13 13

12 12 12

7 7 7

27 27 27

P 9 P_9 P9​

37 37 37

36 36 36

17 17 17

3 3 3

P 10 P_{10} P10​

43 43 43

42 42 42

23 23 23

3 3 3

P 11 P_{11} P11​

45 45 45

44 44 44

25 25 25

5 5 5

P 12 P_{12} P12​

49 49 49

48 48 48

29 29 29

9 9 9

P 13 P_{13} P13​

51 51 51

50 50 50

31 31 31

11 11 11

P 14 P_{14} P14​

65 65 65

64 64 64

45 45 45

25 25 25

中心值

重新分组 :

新的中心点计算过程 :

2、 第二次迭代

第二次迭代 : 计算每个样本值与每个中心点的距离 , 将样本分类到最近的中心点所在的分组 , 计算每个分组新的中心值 ;

年龄

聚类

C 1 C_1 C1​

C 2 C_2 C2​

C 3 C_3 C3​

中心值

5 5 5

12 12 12

48 48 48

P 1 P_{1} P1​

1 1 1

4 4 4

11 11 11

47 47 47

P 2 P_2 P2​

3 3 3

2 2 2

9 9 9

45 45 45

P 3 P_3 P3​

5 5 5

0 0 0

7 7 7

43 43 43

P 4 P_4 P4​

8 8 8

3 3 3

4 4 4

40 40 40

P 5 P_5 P5​

9 9 9

4 4 4

3 3 3

39 39 39

P 6 P_6 P6​

11 11 11

6 6 6

1 1 1

37 37 37

P 7 P_7 P7​

12 12 12

7 7 7

0 0 0

36 36 36

P 8 P_8 P8​

13 13 13

8 8 8

1 1 1

35 35 35

P 9 P_9 P9​

37 37 37

25 25 25

17 17 17

11 11 11

P 10 P_{10} P10​

43 43 43

38 38 38

31 31 31

5 5 5

P 11 P_{11} P11​

45 45 45

40 40 40

33 33 33

3 3 3

P 12 P_{12} P12​

49 49 49

44 44 44

37 37 37

1 1 1

P 13 P_{13} P13​

51 51 51

46 46 46

39 39 39

3 3 3

P 14 P_{14} P14​

65 65 65

60 60 60

53 53 53

17 17 17

中心值

重新分组 :

新的中心点计算过程 :

3、 第三次迭代

第三次迭代 : 计算每个样本值与每个中心点的距离 , 将样本分类到最近的中心点所在的分组 , 计算每个分组新的中心值 ;

年龄

聚类

C 1 C_1 C1​

C 2 C_2 C2​

C 3 C_3 C3​

中心值

4 4 4

11 11 11

48 48 48

P 1 P_{1} P1​

1 1 1

3 3 3

10 10 10

47 47 47

P 2 P_2 P2​

3 3 3

1 1 1

8 8 8

45 45 45

P 3 P_3 P3​

5 5 5

1 1 1

6 6 6

43 43 43

P 4 P_4 P4​

8 8 8

4 4 4

3 3 3

40 40 40

P 5 P_5 P5​

9 9 9

5 5 5

2 2 2

39 39 39

P 6 P_6 P6​

11 11 11

7 7 7

0 0 0

37 37 37

P 7 P_7 P7​

12 12 12

8 8 8

1 1 1

36 36 36

P 8 P_8 P8​

13 13 13

9 9 9

2 2 2

35 35 35

P 9 P_9 P9​

37 37 37

33 33 33

26 26 26

11 11 11

P 10 P_{10} P10​

43 43 43

39 39 39

32 32 32

5 5 5

P 11 P_{11} P11​

45 45 45

41 41 41

34 34 34

3 3 3

P 12 P_{12} P12​

49 49 49

45 45 45

38 38 38

1 1 1

P 13 P_{13} P13​

51 51 51

47 47 47

40 40 40

3 3 3

P 14 P_{14} P14​

65 65 65

61 61 61

54 54 54

17 17 17

中心值

重新分组 :

新的中心点计算过程 :

4、 第四次迭代

第四次迭代 : 计算每个样本值与每个中心点的距离 , 将样本分类到最近的中心点所在的分组 , 计算每个分组新的中心值 ;

年龄

聚类

C 1 C_1 C1​

C 2 C_2 C2​

C 3 C_3 C3​

中心值

4 4 4

11 11 11

48 48 48

P 1 P_{1} P1​

1 1 1

3 3 3

10 10 10

47 47 47

P 2 P_2 P2​

3 3 3

1 1 1

8 8 8

45 45 45

P 3 P_3 P3​

5 5 5

1 1 1

6 6 6

43 43 43

P 4 P_4 P4​

8 8 8

4 4 4

3 3 3

40 40 40

P 5 P_5 P5​

9 9 9

5 5 5

2 2 2

39 39 39

P 6 P_6 P6​

11 11 11

7 7 7

0 0 0

37 37 37

P 7 P_7 P7​

12 12 12

8 8 8

1 1 1

36 36 36

P 8 P_8 P8​

13 13 13

9 9 9

2 2 2

35 35 35

P 9 P_9 P9​

37 37 37

33 33 33

26 26 26

11 11 11

P 10 P_{10} P10​

43 43 43

39 39 39

32 32 32

5 5 5

P 11 P_{11} P11​

45 45 45

41 41 41

34 34 34

3 3 3

P 12 P_{12} P12​

49 49 49

45 45 45

38 38 38

1 1 1

P 13 P_{13} P13​

51 51 51

47 47 47

40 40 40

3 3 3

P 14 P_{14} P14​

65 65 65

61 61 61

54 54 54

17 17 17

中心值

重新分组 :

新的中心点计算过程 :

第四次迭代与第三次迭代值相同 , 因此第三次迭代的结果就是 K-Means 聚类算法最终结果 ;

详细解析参考 【数据挖掘】K-Means 一维数据聚类分析示例

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-12-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【数据挖掘】K-Means 一维数据聚类分析示例
1 . 距离公式选择 : 一维数据 直接使用 曼哈顿距离 计算即可 , 二维数据 需要使用 欧几里得距离 计算 ;
韩曙亮
2023/03/27
8690
【数据挖掘】数据挖掘总结 ( K-Means 聚类算法 | 二维数据的 K-Means 聚类 ) ★
个聚类分组选择初始的中心点 , 这些中心点称为 Means ; 可以依据经验 , 也可以随意选择 ;
韩曙亮
2023/03/28
9480
数据挖掘之聚类算法K-Means总结
序   由于项目需要,需要对数据进行处理,故而又要滚回来看看paper,做点小功课,这篇文章只是简单的总结一下基础的Kmeans算法思想以及实现; 正文:     1.基础Kmeans算法.   Kmeans算法的属于基础的聚类算法,它的核心思想是: 从初始的数据点集合,不断纳入新的点,然后再从新计算集合的“中心”,再以改点为初始点重新纳入新的点到集合,在计算”中心”,依次往复,直到这些集合不再都不能再纳入新的数据为止. 图解:     假如我们在坐标轴中存在如下A,B,C,D,E一共五个点,然后我们初始化
Gxjun
2018/03/27
1K0
数据挖掘之聚类算法K-Means总结
【数据挖掘】K-Means 二维数据聚类分析 ( K-Means 迭代总结 | K-Means 初始中心点选择方案 | K-Means 算法优缺点 | K-Means 算法变种 )
③ 距离计算方式 : 使用 曼哈顿距离 , 计算样本之间的相似度 ; 曼哈顿距离的计算方式是 两个维度的数据差 的 绝对值 相加 ;
韩曙亮
2023/03/27
9430
【数据挖掘】K-Means 二维数据聚类分析 ( K-Means 迭代总结 | K-Means 初始中心点选择方案 | K-Means 算法优缺点 | K-Means 算法变种 )
K-means聚类算法
K-means算法是硬聚类算法,是典型的基于原型的目标函数聚类方法的代表,它是数据点到原型的某种距离作为优化的目标函数,利用函数求极值的方法得到迭代运算的调整规则。K-means算法以 欧式距离 作为相似度测度,它是求对应某一初始聚类中心向量V最优分类,使得评价指标J最小。算法采用 误差平方和 准则函数作为聚类准则函数。K-means 百度百科
机器学习和大数据挖掘
2019/07/02
7600
大数据挖掘算法篇之K-Means实例
  K-Means算法是聚类算法中,应用最为广泛的一种。本文基于欧几里得距离公式:d = sqrt((x1-x2)^+(y1-y2)^)计算二维向量间的距离,作为聚类划分的依据,输入数据为二维数据两列数据,输出结果为聚类中心和元素划分结果。输入数据格式如下:
数据饕餮
2019/01/14
8370
K-Means聚类算法原理
    K-Means算法是无监督的聚类算法,它实现起来比较简单,聚类效果也不错,因此应用很广泛。K-Means算法有大量的变体,本文就从最传统的K-Means算法讲起,在其基础上讲述K-Means的优化变体方法。包括初始化优化K-Means++, 距离计算优化elkan K-Means算法和大数据情况下的优化Mini Batch K-Means算法。
刘建平Pinard
2018/08/14
8580
K-Means聚类算法原理
【数据挖掘】数据挖掘总结 ( 数据挖掘相关概念 ) ★★
① 存在的真实数据 : 数据挖掘处理的数据一般是存在的真实数据 , 不是专门收集的数据 ;
韩曙亮
2023/03/28
4.8K0
【数据挖掘】数据挖掘总结 ( 数据挖掘相关概念 ) ★★
【C】用C语言提取bmp图片像素,并进行K-means聚类分析——容易遇到的问题
关于bmp图片的格式,网上有很多文章,具体可以参考百度百科,也有例子程序。这里只提要注意的问题。 (1)结构体定义问题:首先按照百度百科介绍的定义了结构体,但是编译发现重定义BITMAPFILEHEADER等。其实只要包含了Windows.h,里面的wingdi.h就已经定义了处理bmp的结构体,故不需要自己再重复定义。 (2)读取文件的字节对其问题:要使用#pragma pack (1)来方便读取文件头的结构体,否则结构体的大小会由于字节对齐问题改变。不知是否头文件中已经使用了该宏,在我的代码中注释掉#p
ascii0x03
2018/04/12
2.6K0
机器学习之深入理解K-means、与KNN算法区别及其代码实现
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_35512245/article/details/55051306
大黄大黄大黄
2018/09/14
2.3K0
机器学习之深入理解K-means、与KNN算法区别及其代码实现
K-means算法和矢量量化
图 2展示了训练数据的分布,图 3~6是迭代过程中分类的变化情况,迭代完成后的码本为
sea-wind
2019/09/11
6140
K-means算法和矢量量化
【数据挖掘】基于划分的聚类方法 ( K-Means 算法简介 | K-Means 算法步骤 | K-Means 图示 )
1 . 基于划分的聚类方法 : 又叫 基于分区的聚类方法 , 或 基于距离的聚类方法 ;
韩曙亮
2023/03/27
1K0
【数据挖掘】基于划分的聚类方法 ( K-Means 算法简介 | K-Means 算法步骤 | K-Means 图示 )
2、k-means聚类算法sklearn与手动实现
1、假定我们要对N个样本观测做聚类,要求聚为K类,首先选择K个点作为初始中心点; 2、接下来,按照距离初始中心点最小的原则,把所有观测分到各中心点所在的类中; 3、每类中有若干个观测,计算K个类中所有样本点的均值,作为第二次迭代的K个中心点; 4、然后根据这个中心重复第2、3步,直到收敛(中心点不再改变或达到指定的迭代次数),聚类过程结束。
zstar
2023/09/11
3420
2、k-means聚类算法sklearn与手动实现
基础聚类算法:K-means算法
一、算法简介: 俗话说:“物以类聚,人以群分”,聚类算法不同于分类算法,对于一个 分类器 ,通常需要你告诉它“这个东西被分为某某类”这样一些例子,理想情况下,一个分类器 会从它得到的训练集中进行“学习”,从而具备对未知数据进行分类的能力,这种提供训练数据的过程通常叫做监督学习,而在聚类的时候,我们并不关心某一类是什么,我们需要实现的目标只是把相似的东西聚到一起,因此,一个聚类算法通常只需要知道如何计算相似度就可以开始工作了,因此聚类算法通常并不需要使用训练数据进行学习。以一句话来说明K-means算法的思路
智能算法
2018/04/02
3.1K0
基础聚类算法:K-means算法
K-means聚类算法
机器学习算法主要分为两大类:有监督学习和无监督学习,它们在算法思想上存在本质的区别。 有监督学习,主要对有标签的数据集(即有“参考答案”)去构建机器学习模型,但在实际的生产环境中,其实大量数据是处于没有被标注的状态,这时因为“贴标签”的工作需要耗费大量的人力,如果数据量巨大,或者调研难度大的话,生产出一份有标签的数据集是非常困难的。再者就算是使用人工来标注,标注的速度也会比数据生产的速度慢的多。
zhangjiqun
2024/12/14
1830
K-means聚类算法
聚类分析方法(一)
  聚类分析 (clustering analysis) 是数据挖掘研究最为活跃、内容最为丰富的领域之一,其目的是通过对数据的深度分析,将一个数据集拆分成若干个子集 (每个子集称为一个簇,cluster),使得同一个簇中数据对象 (也称数据点) 之间的距离很近或相似度较高,而不同簇中的对象之间距离很远或相似度较低。
Francek Chen
2025/01/23
930
聚类分析方法(一)
数据分析|透彻地聊聊k-means聚类的原理和应用
K-Means 是一种非监督学习,解决的是聚类问题。K 代表的是 K 类,Means 代表的是中心,你可以理解这个算法的本质是确定 K 类的中心点。当你找到了中心点,也就完成了聚类!
1480
2020/02/19
1.7K0
HAWQ + MADlib 玩转数据挖掘之(八)——聚类方法之k-means
本文介绍了聚类算法在数据分析中的应用,详细阐述了k-means算法的原理、应用场景和实现过程。同时,通过一个具体的实例,展示了如何通过聚类算法对用户数据进行分析和分类,并基于聚类结果进行营销策略的设计。
用户1148526
2018/01/03
1.3K0
HAWQ + MADlib 玩转数据挖掘之(八)——聚类方法之k-means
【白话机器学习】算法理论+实战之K-Means聚类算法
如果想从事数据挖掘或者机器学习的工作,掌握常用的机器学习算法是非常有必要的,常见的机器学习算法:
石晓文
2020/03/24
1.5K0
【白话机器学习】算法理论+实战之K-Means聚类算法
K-means聚类:原理简单的聚类算法
对于监督学习而言,回归和分类是两类基本应用场景;对于非监督学习而言,则是聚类和降维。K-means属于聚类算法的一种,通过迭代将样本分为K个互不重叠的子集。
生信修炼手册
2021/03/25
2.7K0
K-means聚类:原理简单的聚类算法
推荐阅读
相关推荐
【数据挖掘】K-Means 一维数据聚类分析示例
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档