kmeans聚类_R语言数据分析|kMeans聚类法

本文介绍了kMeans聚类的基本概念,强调了基于划分的聚类方法的目标是使簇内对象相似,其他簇间对象相异。文章详细讨论了误差平方和作为目标函数,并阐述了k-Means算法的步骤,包括如何选择初始簇中心,如何根据距离分配对象,以及如何更新簇均值。最后,文章提到了算法的实现过程。
摘要由CSDN通过智能技术生成

一、概念

基于划分的聚类方法:给定m个对象的数据集D以及要生成的簇数k,划分算法把数据对象分成k个簇,C1,C2,...,Ck,使得Ci∩Cj=空集

目标函数用来评估划分的质量,使得簇内对象相互相似,而其他簇中对象相异

二、目标函数—误差平方和

e762eb153b2af78821524502b206c60f.png

使得生成的结果簇尽量紧凑和独立

三、k-Means算法

输入:k—簇的数目;D—包含m个对象的数据集

输出:k个簇的集合

  1. 从D中随机选择k个对象作为初始簇中心

  2. Repeat

  3. 根据离簇中心的远近,将每个对象分配到相应的簇

  4. 更新簇均值,即重新计算每个簇中对象的均值作为簇中心

  5. Until 不再发生变化

01a3050bd907f6e538640026a6cfacd7.png

原理解释

四、算法实现

scores%  select(yw:sw)  imodelimodel$totss    #与整体中心的平均距离imodel$withinss #与不同类中心的距离# 绘制聚类效果图library(factoextra)fviz_cluster(imodel,              data=scores,              ellipse.type="convox")+  theme_minimal()  # 模型评估与k值选择library(fpc)kmeans_resultskmeans_results$bestk  #可得到最好的k(分类数)kmeans_results$crit  #可显示出不同k取值的轮廓系数#与实际类标签相比较min(Metrics::ce(cjb$wlfk,                c("理科", "文科")[imodel$cluster]),    1-Metrics::ce(cjb$wlfk,                c("理科", "文科")[imodel$cluster]))          

7f612b5fd054fb013103e83a618591d6.png

2c04ee8b58d1e183aa6f1ef9efa8a37e.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值