数据挖掘算法-k-means
2016-04-26 07:27
253 查看
k-means 算法R实现
#先用setwd设置工作空间,如D盘,并将相关数据拷贝到该目录下
setwd("D:/k-means")
#读入数据
Data=read.csv("D:/k-means/data")
km=kmeans(Data,center=3)
print(km)
km$size/sum(km$size)
#数据分组
aaa=data.frame(Data,km$cluster)
Data1=Data[which(aaa$km.cluster==1),]
Data2=Data[which(aaa$km.cluster==2),]
Data3=Data[which(aaa$km.cluster==3),]
##客户分群“1”的概率密度函数图
par(mfrow=c(1,3))
plot(density(Data1[,1]),col="red",main="R")
plot(density(Data1[,2]),col="red",main="F")
plot(density(Data1[,3]),col="red",main="M")
##客户分群“2”的概率密度函数图
par(mfrow=c(1,3))
plot(density(Data2[,1]),col="red",main="R")
plot(density(Data2[,2]),col="red",main="F")
plot(density(Data2[,3]),col="red",main="M")
#客户分群“3”的概率密度函数图
par(mfrow=c(1,3))
plot(density(Data3[,1]),col="red",main="R")
plot(density(Data3[,2]),col="red",main="F")
plot(density(Data3[,3]),col="red",main="M")
#先用setwd设置工作空间,如D盘,并将相关数据拷贝到该目录下
setwd("D:/k-means")
#读入数据
Data=read.csv("D:/k-means/data")
km=kmeans(Data,center=3)
print(km)
km$size/sum(km$size)
#数据分组
aaa=data.frame(Data,km$cluster)
Data1=Data[which(aaa$km.cluster==1),]
Data2=Data[which(aaa$km.cluster==2),]
Data3=Data[which(aaa$km.cluster==3),]
##客户分群“1”的概率密度函数图
par(mfrow=c(1,3))
plot(density(Data1[,1]),col="red",main="R")
plot(density(Data1[,2]),col="red",main="F")
plot(density(Data1[,3]),col="red",main="M")
##客户分群“2”的概率密度函数图
par(mfrow=c(1,3))
plot(density(Data2[,1]),col="red",main="R")
plot(density(Data2[,2]),col="red",main="F")
plot(density(Data2[,3]),col="red",main="M")
#客户分群“3”的概率密度函数图
par(mfrow=c(1,3))
plot(density(Data3[,1]),col="red",main="R")
plot(density(Data3[,2]),col="red",main="F")
plot(density(Data3[,3]),col="red",main="M")
相关文章推荐
- 书评:《算法之美( Algorithms to Live By )》
- 动易2006序列号破解算法公布
- Ruby实现的矩阵连乘算法
- C#插入法排序算法实例分析
- 超大数据量存储常用数据库分表分库算法总结
- C#数据结构与算法揭秘二
- C#冒泡法排序算法实例分析
- 算法练习之从String.indexOf的模拟实现开始
- C#算法之关于大牛生小牛的问题
- C#实现的算24点游戏算法实例分析
- c语言实现的带通配符匹配算法
- 浅析STL中的常用算法
- 算法之排列算法与组合算法详解
- C++实现一维向量旋转算法
- Ruby实现的合并排序算法
- C#折半插入排序算法实现方法
- 基于C++实现的各种内部排序算法汇总
- C++线性时间的排序算法分析
- C++实现汉诺塔算法经典实例
- PHP实现克鲁斯卡尔算法实例解析