相关推荐
数据分析 第六篇:聚类的评估(簇数确定和轮廓系数)和可视化
2024-11-11 02:11

 

数据分析 第六篇:聚类的评估(簇数确定和轮廓系数)和可视化

使用k-和k-使

使(elbow定k>0和var(k)制var于k线线

1使用sjc.elbow()

sjPlot中sjc.elbow()k-

library(sjPlot)
sjc.elbow(data, steps = 15, show.diff = FALSE)

sjc.elbow()制k-算k-接y个“步”线线示“的”

制k的k在y个“步”

library(effects)
library(sjPlot)
library(ggplot2)
sjc.elbow(data,show.diff = FALSE)

线在5

https://img1.sycdn.imooc.com//5b8125380001274208550313.jpg

2使用NbClust()

线是3使用NbClust的NbClust()了26

NbClust(data = NULL, diss = NULL, distance = "euclidean", min.nc = 2, max.nc = 15, method = NULL, index = "all", alphaBeale = 0.1)

用NbClust()定k-

library(NbClust)
nc <- NbClust(data,min.nc = 2,max.nc = 15,method = "kmeans")
barplot(table(nc$Best.nc[1,]),xlab="Number of Clusters",ylab="Number of Criteria",main="number of Clusters Chosen by 26 Criteria")

为3(Criteria,k-是3

https://img1.sycdn.imooc.com//5b81254100018b8704510448.jpg

k-,PAM和CLARA,PAM,CLARA使使用PAM

过fpc的pamk()

pamk(data,krange=2:10,criterion="asw", usepam=TRUE,
     scaling=FALSE, alpha=0.001, diss=inherits(data, "dist"),
     critout=FALSE, ns=10, seed=NULL, ...)

使用pamk()得PAM或CLARA

library(fpc)
pamk.best <- pamk(dataset)
pamk.best$nc

过cluster的clusplot()

library(cluster)
clusplot(pam(dataset, pamk.best$nc))

使(silhouette coefficient在-1和1于1近1

数sil 近1数sil 近-1本i数sil 为0本i数 sil

1,fpc

包fpc:avg.silwidth

library(fpc)
result <- kmeans(data,k)
stats <- cluster.stats(dist(data)^2, result$cluster)
sli <- stats$avg.silwidth

2,silhouette()

包cluster数silhouette()

silhouette(x, dist, dmatrix, ...)

使用silhouette()

<em></em>复<em></em>制<em></em>代<em></em>码

library (cluster)
library (vegan)
#pam
dis <- vegdist(data)
res <- pam(dis,3) 
sil <- silhouette (res$clustering,dis)
#kmeans
dis <- dist(data)^2res <- kmeans(data,3)
sil <- silhouette (res$cluster, dis)

<em></em>复<em></em>制<em></em>代<em></em>码

用ggplot2使:factoextra,sjPlot和cluster

1,cluster

clusplot()

 

2,sjPlot

sjc.qclus()

 

(1数fviz_nbclust()

数fviz_nbclust()使,WSS

fviz_nbclust(x, FUNcluster = NULL, method = c("silhouette", "wss",), diss = NULL, k.max = 10, ...)

 使用kmenas使

library(factoextra)
fviz_nbclust(dataset, kmeans, method = "silhouette")

(2

fviz_cluster()

<em></em>复<em></em>制<em></em>代<em></em>码

fviz_cluster(object, data = NULL, choose.vars = NULL, stand = TRUE,
  axes = c(1, 2), geom = c("point", "text"), repel = FALSE,
  show.clust.cent = TRUE, ellipse = TRUE, ellipse.type = "convex",
  ellipse.level = 0.95, ellipse.alpha = 0.2, shape = NULL,
  pointsize = 1.5, labelsize = 12, main = "Cluster plot", xlab = NULL,
  ylab = NULL, outlier.color = "black", outlier.shape = 19,
  ggtheme = theme_grey(), ...)

<em></em>复<em></em>制<em></em>代<em></em>码

使用fviz_cluster()

km.res <- kmeans(dataset,3)
fviz_cluster(km.res, data = dataset)

 

的10

:http://www.cnblogs.com/ljhdo/

 

    以上就是本篇文章【数据分析 第六篇:聚类的评估(簇数确定和轮廓系数)和可视化】的全部内容了,欢迎阅览 ! 文章地址:http://ktsh.xhstdz.com/quote/77415.html 
     栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 物流园资讯移动站 http://ktsh.xhstdz.com/mobile/ , 查看更多   
发表评论
0评