R语言使用K均值方法处理数据
来源:互联网 发布:网站美工设计教程 编辑:程序博客网 时间:2024/05/22 11:49
说明
K(均值)聚类属于扁平聚类算法,即进行一层划分得到k簇,与层次聚类算法开始不需要决定簇数不同,K均值算法需要用户事先确定好簇个数,因为构建一棵聚类树是非常耗时的事,所以K均值聚类算法的效率要优于层次聚类。
操作
set.seed(22)> fit = kmeans(customer,4)> fitK-means clustering with 4 clusters of sizes 8, 11, 16, 25Cluster means: Visit.Time Average.Expense Sex Age1 1.3302016 1.0155226 -1.4566845 0.55913072 -0.7771737 -0.5178412 -1.4566845 -0.47745993 0.8571173 0.9887331 0.6750489 1.05050154 -0.6322632 -0.7299063 0.6750489 -0.6411604Clustering vector: [1] 2 2 1 2 1 2 1 1 2 2 2 1 1 2 2 2 1 2 1 3 4 3 4 3 3 4 4 3 4 4 4 3 3 3 4 4 3 4 4 4 4 4 4 4 3 3 4 4 4 3 4 3 3 4 4 4 3 4 4 3Within cluster sum of squares by cluster:[1] 5.90040 11.97454 22.58236 20.89159 (between_SS / total_SS = 74.0 %)Available components:[1] "cluster" "centers" "totss" "withinss" "tot.withinss" "betweenss" "size" "iter" [9] "ifault"
调用barplot函数绘制每个中心的条形图
barplot(t(fit$centers),beside = TRUE,xlab = "cluster",ylab = "value")
四个簇不同属性
可以绘制簇的散点图,不同簇的观测点使用不同的颜色
plot(customer,col = fit$cluster)
根据簇标签区分簇散点图
原理
k均值聚类属于分裂聚类,算法目标是通过将n个对象划分到K个簇中,使得同一个簇中的对象之间的距离最近,算法的目的是使组合平方合(within cluster sum of square,WCSS)最小。假定x是一组给定观测点,s = {s1,s2,s3,…,sk}代表k个划分,ui是si的中心。
k均值聚类过程可以分成以下5个步骤:
1.指定聚类个数k
2.随机产生k个划分
3.计算每个划分的中心
4.将观测点分配到距离簇中心最近的一个簇中。
5.重复2,3,4,直到WDSS基本不发生变化(或者最小化)
在样例中确定了簇个数为 k = 4,通过观测训练好的模型可以得到每个簇的大小,4个簇的聚类中心,簇中每个观测点的向量以及每个簇组内平方和等信息。
我们还使用条形图展示簇的信息,使得我们能够更好地理解属性是如何影响簇划分的,最后我们能根据聚类标签使用带彩色的类标签的散点图来展示数据点。
阅读全文
0 0
- R语言使用K均值方法处理数据
- R语言获取优化的k均值聚类
- R语言使用K-Means
- 基于R语言的支持向量机(SVM)+k均值(K-means)简单实现
- R语言聚类算法之k均值聚类(K-means)
- R语言处理缺失数据的高级方法
- R语言处理缺失数据的高级方法
- R语言处理缺失数据的高级方法
- 【转】R语言处理缺失数据的高级方法
- R语言处理缺失数据的高级方法
- R语言处理缺失数据的高级方法
- R语言处理大数据
- r语言处理mysql数据
- R语言使用层次聚类处理数据
- R语言使用密度聚类笔法处理数据
- R语言使用gradient boosting方法对数据分类
- R语言使用随机森林方法对数据分类
- R语言:SMOTE - Supersampling Rare Events in R:用R对非平衡数据的处理方法
- 运维人员常用工具
- 欢迎使用CSDN-markdown编辑器
- 定义可以扩展和收缩的代码区域的开头和结尾
- oracle切换IP后重新绑定命令
- iOS 图片裁剪(用户头像裁剪)
- R语言使用K均值方法处理数据
- MySQL 数据库常用命令小结
- Hdu2017 字符串统计
- css背景图像问题(background-size)
- java文件的读取、粘贴、移动等
- Devops学习实践(四) jenkins通过maven或ant集成checkstyle
- JS正则表达式元字符
- 【机器学习PAI实践八】用机器学习算法评估学生考试成绩
- laravel 5.4 自定义表单验证