809669515

2018-11-01   阅读量: 788

数据分析师 数据挖掘 机器学习

K-Means聚类

扫码加入数据分析学习群

K-Means聚类旨在将n个 对象划分为k个聚类,其中每个对象属于具有最近均值的聚类。该方法产生恰好 具有最大可能区别的k个不同簇。导致最大间隔(距离)的最佳簇 数k 不是先验的,必须根据数据计算。K-Means聚类的目标是最小化总簇内方差,或平方误差函数:

算法

将数据聚集到k个 组中,其中k 是预定义的。

随机选择k 点作为聚类中心。

根据欧几里德距离函数将对象分配到其最近的聚类中心 。

计算每个群集中所有对象的质心或平均值。

重复步骤2,3和4,直到在连续轮次中为每个群集分配相同的点。

K-Means是一种相对有效的方法。但是,我们需要提前指定簇的数量,最终结果对初始化很敏感,并且通常在局部最优处终止。遗憾的是,没有全局理论方法可以找到最佳簇数。一种实用的方法是将多次运行的结果与不同的k进行比较,并根据预定义的标准选择最佳运行结果 。通常,大k 可能会降低误差但会增加过度拟合的风险。

示例:

假设我们想要使用他们的年龄(一维空间)将访问者分组到一个网站,如下所示:

n = 19

15,15,16,19,19,20,20,21,22,28,35,40,41,42,43,44,60,61,65

初始簇(随机质心或平均值):

k = 2

c 1 = 16

c 2 = 22

迭代 1:

c 1 = 15.33

c 2 = 36.25

x i c 1 c 2 距离1 距离2 最近的集群 新的质心

15 16 22 1 7 1 15.33

15 16 22 1 7 1

16 16 22 0 6 1

19 16 22 9 3 2 36.25

19 16 22 9 3 2

20 16 22 16 2 2

20 16 22 16 2 2

21 16 22 25 1 2

22 16 22 36 0 2

28 16 22 12 6 2

35 16 22 19 13 2

40 16 22 24 18 2

41 16 22 25 19 2

42 16 22 26 20 2

43 16 22 27 21 2

44 16 22 28 22 2

60 16 22 44 38 2

61 16 22 45 39 2

65 16 22 49 43 2

迭代 2:

c 1 = 18.56

c 2 = 45.90

x i c 1 c 2 距离1 距离2

最近的集群

新的质心

15 15.33 36.25 0.33 21.25 1 18.56

15 15.33 36.25 0.33 21.25 1

16 15.33 36.25 0.67 20.25 1

19 15.33 36.25 3.67 17.25 1

19 15.33 36.25 3.67 17.25 1

20 15.33 36.25 4.67 16.25 1

20 15.33 36.25 4.67 16.25 1

21 15.33 36.25 5.67 15.25 1

22 15.33 36.25 6.67 14.25 1

28 15.33 36.25 12.67 8.25 2 45.9

35 15.33 36.25 19.67 1.25 2

40 15.33 36.25 24.67 3.75 2

41 15.33 36.25 25.67 4.75 2

42 15.33 36.25 26.67 5.75 2

43 15.33 36.25 27.67 6.75 2

44 15.33 36.25 28.67 7.75 2

60 15.33 36.25 44.67 23.75 2

61 15.33 36.25 45.67 24.75 2

65 15.33 36.25 49.67 28.75 2

迭代 3:

c 1 = 19.50

c 2 = 47.89

x i c 1 c 2 距离1 距离2 最近的集群 新的质心

15 18.56 45.9 3.56 30.9 1 19.50

15 18.56 45.9 3.56 30.9 1

16 18.56 45.9 2.56 29.9 1

19 18.56 45.9 0.44 26.9 1

19 18.56 45.9 0.44 26.9 1

20 18.56 45.9 1.44 25.9 1

20 18.56 45.9 1.44 25.9 1

21 18.56 45.9 2.44 24.9 1

22 18.56 45.9 3.44 23.9 1

28 18.56 45.9 9.44 17.9 1

35 18.56 45.9 16.44 10.9 2 47.89

40 18.56 45.9 21.44 5.9 2

41 18.56 45.9 22.44 4.9 2

42 18.56 45.9 23.44 3.9 2

43 18.56 45.9 24.44 2.9 2

44 18.56 45.9 25.44 1.9 2

60 18.56 45.9 41.44 14.1 2

61 18.56 45.9 42.44 15.1 2

65 18.56 45.9 46.44 19.1 2

迭代 4:

c 1 = 19.50

c 2 = 47.89

x i c 1 c 2 距离1 距离2 最近的集群 新的质心

15 19.5 47.89 4.50 32.89 1 19.50

15 19.5 47.89 4.50 32.89 1

16 19.5 47.89 3.50 31.89 1

19 19.5 47.89 0.50 28.89 1

19 19.5 47.89 0.50 28.89 1

20 19.5 47.89 0.50 27.89 1

20 19.5 47.89 0.50 27.89 1

21 19.5 47.89 1.50 26.89 1

22 19.5 47.89 2.50 25.89 1

28 19.5 47.89 8.50 19.89 1

35 19.5 47.89 15.50 12.89 2 47.89

40 19.5 47.89 20.50 7.89 2

41 19.5 47.89 21.50 6.89 2

42 19.5 47.89 22.50 5.89 2

43 19.5 47.89 23.50 4.89 2

44 19.5 47.89 24.50 3.89 2

60 19.5 47.89 40.50 12.11 2

61 19.5 47.89 41.50 13.11 2

65 19.5 47.89 45.50 17.11 2

没有注意到迭代3和4之间的变化。通过使用聚类,已经确定了2组15-28和35-65。质心的初始选择可以影响输出集群,因此算法通常在不同的起始条件下运行多次,以便获得集群应该是什么的公平视图。

添加CDA认证专家【维克多阿涛】,微信号:【cdashijiazhuang】,提供数据分析指导及CDA考试秘籍。已助千人通过CDA数字化人才认证。欢迎交流,共同成长!
0.0000 0 4 关注作者 收藏

评论(0)


暂无数据

推荐课程

推荐帖子