如何在Rstudio中显示Silhouette(AWS)?

时间:2017-09-29 15:15:23

标签: r k-means

我想用一个情节来显示平均轮廓(AWS),它是一个家庭作业,我必须使用Kmeansrun函数来获取AWS,我看到参数在哪里&# 34; AWS"或" ch"在参数" criteron"在函数中但我不知道如何获取awc值。

在我的情况下,我想展示" aws"作为Ylab和"组的数量"对于Xlab。

plot(1:10 ,Inertia, type =" b " ,xlab =" Number of groups" , ylab ="Inertia")

我希望得到相同的图片,但是" aws silhouette"而不是" Inertia"。

这就是我得到惯性变量的方法:

inertie . expl <- rep (0 , times =10)

for (k in 2:10) {clus <- kmeans(data, centers = k,nstart =5)
inertia[ k ] <- clus$betweenss / clus$totss  } 

那么你知道如何使用Kmeanruns函数在图形上替换惯性吗?

非常感谢:)

新编辑: 我终于找到了解决方案,这里是:

silhouette <- rep (0 , times =10)

for (k in 2:10) {clus <- kmeansruns(data, krange = 2:10 , criterion = "asw", iter.max = 5, runs = 5, scaledata = FALSE, alpha = 0.001, critout = FALSE) 
silhouette[k] <- clus$crit[k] } 

clus $ crit [k]代表标准&#34; asw&#34;这是平均轮廓。 然后我可以在图形上显示它:

plot(1:10 ,silhouette, type =" b " ,xlab =" Number of groups" , ylab ="Silhouette")

0 个答案:

没有答案