1.K-means的原理
1.1聚类分析的基本思想
先随机选取K个对象作为初始的聚类中心。然后计算每个对象与各个种子聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心。聚类中心以及分配给它们的对象就代表一个聚类。一旦全部对象都被分配了,每个聚类的聚类中心会根据聚类中现有的对象被重新计算。这个过程将不断重复直到满足某个终止条件。终止条件可以是以下任何一个:
(1) 没有(或最小数目)对象被重新分配给不同的聚类。
(2)没有(或最小数目)聚类中心再发生变化。
(3)误差平方和局部最小。
1.2聚类分析的目的
聚类分析目的在于将相似的事物归类,同一类中的个体有较大的相似性,不同类的个体差异性很大。
2.聚类实现
2011年全国31省,直辖市,自治区等的衣食住行。进行聚类分析。
R语言代码:
#均值聚类
library("factoextra")
library("ggplot2")
data
运行结果:
从图中的第一列来看,每个省份都已经完成了分类,分别用1,2,3,4来表示类别。
我们用矩阵的形式来表示分类的情况
#查看分类概括
table(data$No, kc$cluster)
运行结果:
从图中来看,上面的行1,2,3,4表示分为四类,第一列是每个省份,矩阵中为1的情况就是表示聚类的分布,比如被分为
第1类:
甘肃,河南,黑龙江,贵州,河北,河南,吉林,江西,宁夏,青海,陕西,山西,云南,新疆,
第2类:
福建,江苏,天津
第3类:
北京,广东,上海,浙江
第4类:
安徽,广西,海南,湖北,海南,辽宁,内蒙古,山东,四川,重庆,
查看分类数据的大小
kc$size
运行结果:
从图中来看,第一类中有13个,第二类中有3个,第三类中有四个,第四类中有11个。
绘图
#绘图
fviz_cluster(object = kc,data=new_data)
运行结果:
从图中来看,一类跟四类有重叠部分数据,这可能是数据分布的原因。2,3类则没有这种情况。因此将数据提前处理会得到更好的效果。
Original: https://blog.csdn.net/m0_56444893/article/details/121021217
Author: 「已注销」
Title: K-means聚类分析
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/550488/
转载文章受原作者版权保护。转载请注明原作者出处!