美文网首页
K-中心点聚类(K-Medoids)

K-中心点聚类(K-Medoids)

作者: Neural_PDE | 来源:发表于2021-01-12 23:59 被阅读0次
#install.packages("cluster")
library(cluster)
#导入数据集
data=iris[,-5]
str(data)

# mediods对iris进行聚类分析 
pam=pam(data,3)
pam
str(pam)
data[,5]=pam$cluster
head(data)

#用table函数对照准确率
table(iris[,5],kmeans$cluster)

#查看两两变量的聚类结果(只看上三角即可)
par(mfrow=c(4,4))
for (i in 1:4){
  for (j in 1:4){
  plot(data[,i],data[,j],col=pam$cluster,pch="*",xlab=paste(names(data)[i]),ylab=paste(names(data)[j]))
  }
}
dev.off()

#查看特征见相关图
library("corrplot")
b=cor(data)
corrplot(b,method="pie",main="\n\nCorrelation between variables")

#最后我们将分类以及中心点打印出来(选择两个对标签相关度高的特征:这样聚类结果非常明显且中心点'X'和散点最适配)这里是第3和4列
i=3
j=4
plot(data[,i],data[,j],col=pam$cluster,pch="*",xlab=paste(names(data)[i]),ylab=paste(names(data)[j]))
df=pam$medoids[,c(i,j)]
points(df,pch="X",cex=1.5,col=4)

#pam自带图集
layout(matrix(c(1,2),1,2)) #每页显示两个图
plot(pam)
layout(matrix(1))
#install.packages("cluster")
library(cluster)
#导入数据集
data=iris[,-5]
str(data)

# mediods对iris进行聚类分析 
clara=clara(data,3)
clara
str(clara)
data[,5]=clara$cluster
head(data)

#用table函数对照准确率
table(iris[,5],clara$cluster)

#查看两两变量的聚类结果(只看上三角即可)
par(mfrow=c(4,4))
for (i in 1:4){
  for (j in 1:4){
  plot(data[,i],data[,j],col=clara$cluster,pch="*",xlab=paste(names(data)[i]),ylab=paste(names(data)[j]))
  }
}
dev.off()

#查看特征见相关图
library("corrplot")
b=cor(data)
corrplot(b,method="pie",main="\n\nCorrelation between variables")

#最后我们将分类以及中心点打印出来(选择两个对标签相关度高的特征:这样聚类结果非常明显且中心点'X'和散点最适配)这里是第3和4列
i=3
j=4
plot(data[,i],data[,j],col=clara$cluster,pch="*",xlab=paste(names(data)[i]),ylab=paste(names(data)[j]))
df=clara$medoids[,c(i,j)]
points(df,pch="X",cex=1.5,col=4)

#clara自带图集
layout(matrix(c(1,2),1,2)) #每页显示两个图
plot(clara)
layout(matrix(1))
#install.packages("fpc")
library(fpc)
#导入数据集
data=iris[,-5]
str(data)

# mediods对iris进行聚类分析 
pamk=pamk(data,3)
pamk
str(pamk)
data[,5]=pamk$cluster
head(data)

#用table函数对照准确率
table(iris[,5],pamk$pamobject$clustering)

#查看两两变量的聚类结果(只看上三角即可)
par(mfrow=c(4,4))
for (i in 1:4){
  for (j in 1:4){
  plot(data[,i],data[,j],col=pamk$pamobject$clustering,pch="*",xlab=paste(names(data)[i]),ylab=paste(names(data)[j]))
  }
}
dev.off()

#查看特征见相关图
library("corrplot")
b=cor(data)
corrplot(b,method="pie",main="\n\nCorrelation between variables")

#最后我们将分类以及中心点打印出来(选择两个对标签相关度高的特征:这样聚类结果非常明显且中心点'X'和散点最适配)这里是第3和4列
i=3
j=4
plot(data[,i],data[,j],col=pamk$pamobject$clustering,pch="*",xlab=paste(names(data)[i]),ylab=paste(names(data)[j]))
df=pamk$pamobject$medoids[,c(i,j)]
points(df,pch="X",cex=1.5,col=4)

#pamk自带图集
layout(matrix(c(1,2),1,2)) #每页显示两个图
plot(pamk$pamobject)
layout(matrix(1))layout(matrix(1))
dev.off()

相关文章

网友评论

      本文标题:K-中心点聚类(K-Medoids)

      本文链接:https://www.haomeiwen.com/subject/fipyaktx.html