K-means聚类分析

1.K-means的原理

1.1聚类分析的基本思想

先随机选取K个对象作为初始的聚类中心。然后计算每个对象与各个种子聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心。聚类中心以及分配给它们的对象就代表一个聚类。一旦全部对象都被分配了,每个聚类的聚类中心会根据聚类中现有的对象被重新计算。这个过程将不断重复直到满足某个终止条件。终止条件可以是以下任何一个:

(1) 没有(或最小数目)对象被重新分配给不同的聚类。

(2)没有(或最小数目)聚类中心再发生变化。

(3)误差平方和局部最小。

1.2聚类分析的目的

聚类分析目的在于将相似的事物归类,同一类中的个体有较大的相似性,不同类的个体差异性很大。

2.聚类实现

2011年全国31省,直辖市,自治区等的衣食住行。进行聚类分析。

K-means聚类分析

R语言代码:

#均值聚类
library("factoextra")
library("ggplot2")

data

运行结果:

K-means聚类分析

从图中的第一列来看,每个省份都已经完成了分类,分别用1,2,3,4来表示类别。

我们用矩阵的形式来表示分类的情况

#查看分类概括
table(data$No, kc$cluster)

运行结果:

K-means聚类分析

从图中来看,上面的行1,2,3,4表示分为四类,第一列是每个省份,矩阵中为1的情况就是表示聚类的分布,比如被分为

第1类:

甘肃,河南,黑龙江,贵州,河北,河南,吉林,江西,宁夏,青海,陕西,山西,云南,新疆,

第2类:

福建,江苏,天津

第3类:

北京,广东,上海,浙江

第4类:

安徽,广西,海南,湖北,海南,辽宁,内蒙古,山东,四川,重庆,

查看分类数据的大小

kc$size

运行结果:

K-means聚类分析

从图中来看,第一类中有13个,第二类中有3个,第三类中有四个,第四类中有11个。

绘图

#绘图
fviz_cluster(object = kc,data=new_data)

运行结果:

K-means聚类分析

从图中来看,一类跟四类有重叠部分数据,这可能是数据分布的原因。2,3类则没有这种情况。因此将数据提前处理会得到更好的效果。

Original: https://blog.csdn.net/m0_56444893/article/details/121021217
Author: 「已注销」
Title: K-means聚类分析

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/550488/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球