前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【数据挖掘】数据挖掘总结 ( K-Means 聚类算法 | 二维数据的 K-Means 聚类 ) ★

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

作者头像
韩曙亮
发布2023-03-28 20:31:34
7640
发布2023-03-28 20:31:34
举报

文章目录

参考博客 :

一、 K-Means 聚类算法流程


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

\rm X

, 该数据集有

\rm n

个样本 , 将其分成

\rm K

个聚类 ;

① 中心点初始化 :

\rm K

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

② 计算距离 : 计算

\rm n

个对象与

\rm K

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

\rm n \times K

次 )

③ 聚类分组 : 每个对象与

\rm K

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

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

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

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

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


给定数据集

\rm \{ A_1 ( 2 , 4 ) , A_2 ( 3 , 7 ) , B_1 ( 5 , 8 ) , B_2 ( 9 , 5 ) , C_1 ( 6 , 2 ) , C_2 ( 4 , 9 ) \}

, 初始中心点

\rm \{ A_1 ( 2 , 4 ) , B_1 ( 5 , 8 ) , C_1 ( 6 , 2 ) \}

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

曼哈顿距离计算方式 : 以计算

\rm A_1 ( 2 , 4 )

\rm B_1 ( 5 , 8 )

的距离为例 ;

\rm d(A_1 , B_1) = | 2-5 | + | 4-8 | = 7

1、 第一次迭代

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

A 1 ( 2 , 4 ) A_1 ( 2 , 4 ) A1​(2,4)

A 2 ( 3 , 7 ) A_2 ( 3 , 7 ) A2​(3,7)

B 1 ( 5 , 8 ) B_1 ( 5 , 8 ) B1​(5,8)

B 2 ( 9 , 5 ) B_2 ( 9 , 5 ) B2​(9,5)

C 1 ( 6 , 2 ) C_1 ( 6 , 2 ) C1​(6,2)

C 2 ( 4 , 9 ) C_2 ( 4 , 9 ) C2​(4,9)

A 1 ( 2 , 4 ) A_1 ( 2 , 4 ) A1​(2,4)

0 0 0

4 4 4

7 7 7

8 8 8

6 6 6

7 7 7

B 1 ( 5 , 8 ) B_1 ( 5 , 8 ) B1​(5,8)

7 7 7

3 3 3

0 0 0

7 7 7

7 7 7

2 2 2

C 1 ( 6 , 2 ) C_1 ( 6 , 2 ) C1​(6,2)

6 6 6

8 8 8

7 7 7

6 6 6

0 0 0

9 9 9

A_1 ( 2 , 4 )
A_2 ( 3 , 7 )
B_1 ( 5 , 8 )
B_2 ( 9 , 5 )
C_1 ( 6 , 2 )
C_2 ( 4 , 9 )
A_1 ( 2 , 4 )
0
4
7
8
6
7
B_1 ( 5 , 8 )
7
3
0
7
7
2
C_1 ( 6 , 2 )
6
8
7
6
0
9

新的聚类分组 :

① 聚类

1

:

\{ A_1 \}

② 聚类

2

:

\{ A_2 , B_1 , C_2 \}

③ 聚类

3

:

\{ B_2 , C_1 \}

新的中心点计算 :

\rm C_1 = (2, 4)
\rm C_2 =( \cfrac{3 + 5 + 4}{3} , \cfrac{7 + 8 + 9}{3}) = ( 4 , 8 )
\rm C_3 = ( \cfrac{9 + 6 }{2} , \cfrac{5 + 2}{2}) = ( 7 , 3 )

2、 第二次迭代

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

A 1 ( 2 , 4 ) A_1 ( 2 , 4 ) A1​(2,4)

A 2 ( 3 , 7 ) A_2 ( 3 , 7 ) A2​(3,7)

B 1 ( 5 , 8 ) B_1 ( 5 , 8 ) B1​(5,8)

B 2 ( 9 , 5 ) B_2 ( 9 , 5 ) B2​(9,5)

C 1 ( 6 , 2 ) C_1 ( 6 , 2 ) C1​(6,2)

C 2 ( 4 , 9 ) C_2 ( 4 , 9 ) C2​(4,9)

( 2 , 4 ) ( 2 , 4 ) (2,4)

0 0 0

4 4 4

7 7 7

8 8 8

6 6 6

7 7 7

( 4 , 8 ) ( 4 , 8 ) (4,8)

6 6 6

2 2 2

1 1 1

8 8 8

8 8 8

1 1 1

( 7 , 3 ) ( 7 , 3 ) (7,3)

6 6 6

8 8 8

7 7 7

4 4 4

2 2 2

9 9 9

A_1 ( 2 , 4 )
A_2 ( 3 , 7 )
B_1 ( 5 , 8 )
B_2 ( 9 , 5 )
C_1 ( 6 , 2 )
C_2 ( 4 , 9 )
( 2 , 4 )
0
4
7
8
6
7
( 4 , 8 )
6
2
1
8
8
1
( 7 , 3 )
6
8
7
4
2
9

新的聚类分组 :

① 聚类

1

:

\{ A_1 \}

② 聚类

2

:

\{ A_2 , B_1 , C_2 \}

③ 聚类

3

:

\{ B_2 , C_1 \}

新的中心点计算 :

\rm C_1 = (2, 4)
\rm C_2 =( \cfrac{3 + 5 + 4}{3} , \cfrac{7 + 8 + 9}{3}) = ( 4 , 8 )
\rm C_3 = ( \cfrac{9 + 6 }{2} , \cfrac{5 + 2}{2}) = ( 7 , 3 )

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

详细解析参考 【数据挖掘】K-Means 二维数据聚类分析 ( K-Means 迭代总结 | K-Means 初始中心点选择方案 | K-Means 算法优缺点 | K-Means 算法变种 )

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 一、 K-Means 聚类算法流程
  • 二、 二维数据的 K-Means 聚类
    • 1、 第一次迭代
      • 2、 第二次迭代
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档