• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

R语言Kmeans聚类实例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

随机数生成40对点,每一个点2维,聚成4类,并且画出聚类图形!

Kmeans算法原理
K均值法先指定聚类数,目标是使每个数据到数据点所属聚类中心的总距离的平方和最小,规定聚类中心点时则是以该类数据点的平均值作为聚类中心。
步骤

  1. 随机选取K个数据点作为(起始的)聚类中心点;
  2. 按照距离最近原则分配数据点到对应类;
  3. 计算每类的数据点平均值,找到新的聚类中心;
  4. 计算数据点到聚类中心的总距离;
  5. 如果与上一次相比总距离下降,聚类中心替换;
  6. 直到总距离不再下降或者达到指定计算次数。

解决过程

  1. 随机生成两个长度为40的向量,并将其转化为矩阵,则为2*40的矩阵
  2. 执行Kmeans分类
  3. 查看分类之后的信息
  4. 作图

实现代码

n<-runif(40,10,100)
n2<-runif(40,100,200)
c3<-cbind(n,n2)
c3
plot(n,n2)
#在一个矩阵上执行K均值聚类
kc<-kmeans(c3,4)
#查看信息
summary(kc)
#查看聚类的结果,也就是每个点聚到了那个类
kc$cluster
#查看中心点(聚类点)
kc$centers
#导入快速画图包
library(ggplot2)
#画图
qplot(n,n2,colour=kc$cluster)

结果展示

> summary(kc)
             Length Class  Mode   
cluster      40     -none- numeric
centers       8     -none- numeric
totss         1     -none- numeric
withinss      4     -none- numeric
tot.withinss  1     -none- numeric
betweenss     1     -none- numeric
size          4     -none- numeric
iter          1     -none- numeric
ifault        1     -none- numeric

> kc$cluster
 [1] 3 1 1 2 3 3 1 4 3 3 2 1 3 1 1 1 2 4 3 1 1 3 3 4 3 3 4 1 1 1 1 4 4 1 4 2 3 1 4 4
> kc$centers
         n       n2
1 38.61641 143.5943
2 73.16323 110.5277
3 75.97488 147.8338
4 72.60813 187.7726

plot(n,n2)

聚类之后的图


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
《R语言数据挖掘:实用项目解析》——导读发布时间:2022-07-18
下一篇:
R语言-线性回归发布时间:2022-07-18
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap