R实现K-means

课堂笔记

一定要记住系统聚类和k-means的流程图

K-means又叫做快速聚类

> health = read.csv("2011社会发展数据.csv", row.names = 1)
> km = kmeans(scale(health),3)
> km
K-means clustering with 3 clusters of sizes 18, 9, 4

Cluster means:
      人均GDP   新增固定  城镇可支配 农村纯收入      高校数 卫生机构数
1 -0.47395721 -0.5101554 -0.48928021 -0.5319341 -0.55645713 -0.3986552
2  0.06010536  1.2059952  0.05459347  0.1028528  1.13575048  1.1718783
3  1.99757038 -0.4177899  2.07892564  2.1622848 -0.05138149 -0.8427778

Clustering vector:
 北  京  天  津  河  北  山  西  内蒙古  辽  宁  吉  林  黑龙江  上  海  江  苏  浙  江  安  徽  福  建  江  西  山  东  河  南  湖  北 
      3       3       2       1       1       2       1       1       3       2       3       1       1       1       2       2       2 
 湖  南  广  东  广  西  海  南  重  庆  四  川  贵  州  云  南  西  藏  陕  西  甘  肃  青  海  宁  夏  新  疆 
      2       2       1       1       1       2       1       1       1       1       1       1       1       1 

Within cluster sum of squares by cluster:
[1] 30.451367 24.020206  6.249734   # 方差
 (between_SS / total_SS =  66.3 %)  # 组间离差/总离差  
 # 说明可分性

Available components:

[1] "cluster"      "centers"      "totss"        "withinss"     "tot.withinss" "betweenss"    "size"         "iter"         "ifault" 

WSS曲线图 看拐点 逐渐变为平缓的点
使用factoextra

> library("factoextra")
载入需要的程辑包:ggplot2
Learn more about the underlying theory at
https://ggplot2-book.org/
Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
Warning messages:
1: 程辑包‘factoextra’是用R版本4.0.3 来建造的 
2: 程辑包‘ggplot2’是用R版本4.0.3 来建造的 
> fviz_nbclust(scale(health),kmeans,method = "wss")

画图

> km = kmeans(scale(health),4)
> fviz_cluster(km,scale(health))

R实现K-means_第1张图片
不一样的结果:凝聚点随机采样可能会有不同。

K均值的R实现过程
必须会,见ppt

你可能感兴趣的:(R)