WeightedCLuster R package的使用

WeightedCLuster R package的使用

1. 本函数包的主要用途

权重数据的聚类(主要是state sequences and weighted data) 和聚类结果的评估

2.函数的安装

install.packages("WeightedCluster")
library(WeightedCluster)

3.数据的输入和计算

导入mvad数据,mvad 数据追踪了712个个体在20世纪90年代自训练至工作的进程

#数据输入
data(mvad)
aggMvad <- wcAggregateCases(mvad[, 17:86]) #确定和合计确定状态的序列
uniqueMvad <- mvad[aggMvad$aggIndex, 17:86] #只打印出包含单独序列的数据

#creat a state sequence and calculate the Hamming distance 
mvad.seq <- seqdef(uniqueMvad, weights=aggMvad$aggWeights) #用seqdef()生成一个状态序列
mvaddist <- seqdist(mvad.seq, method="HAM") #计算序列Hamming 距离

#用层次聚类进行聚类
averageClust <- hclust(as.dist(mvaddist), method="average", members=aggMvad$aggWeights) #注意hclust中参数members

#层次聚类结果的展示
clust4 <- cutree(averageClust , k=4)
seqdplot(mvad.seq, group = clust4, border=NA)

#用PAM的方法进行聚类计算
pamclust4 <- wcKMedoids(mvaddist, k=4, weights=aggMvad$weight)
#用下面的方法可以显示质心序列(mediod sequences)
print(mvad.seq[unique(pamclust4$clustering), ], format="SPS")

#层次聚类质量的计算和展示
avgClustQual <- as.clustrange(averageClust, diss, weights=aggMvad$aggWeights, ncluster=10) #自动计算几种聚类质量值(只使用与层次聚类的质量展示)
plot(avgClustQual) #将聚类质量值用图像展示出来
plot(avgClustQual, norm="zscore") #用standardized scores进行展示
summary(avgClustQual, max.rank=2) #Alternatively, we can retrieve the two best solutions according to each quality measure
plot(avgClustQual, stat=c("ASWw", "HG", "PBC", "HC"))

#测量分割的质量
clustqual4 <- wcClusterQuality(mvaddist, clust4, weights=aggMvad$weight)
clustqual4$stats
sil <- wcSilhouetteObs(mvaddist, clust4, weights=aggMvad$weight, measure="ASWw")
seqIplot(mvad.seq, group=clust4, sortv=sil)

补充说明文件
hclust函数包注意事项:
1.聚类方法"centroid" 相对应使用的距离为平方欧式距离 squared Euclidean distances. 如:hc1ust.centroid <- hclust(dist(cent)^2, method = “cen”)

2.聚类方法"ward.D2" 相对应使用的距离为欧式距离 “Euclidean” distances.

3.聚类方法"average"(=UPGMA) 相对应使用的距离为 “bray”(=Bray-Curtis) distances.
Bray-Curtis 相异度(Bray-Curtis dissimilarity)是生态学中用来衡量不同样地物种组成差异的测度
在这里插入图片描述

4.关于其中的members参数的说明:
If members != NULL, then d is taken to be a dissimilarity matrix between clusters instead of dissimilarities between singletons and members gives the number of observations per cluster. This way the hierarchical cluster algorithm can be ‘started in the middle of the dendrogram’, e.g., in order to reconstruct the part of the tree above a cut (see examples). Dissimilarities between clusters can be efficiently computed (i.e., without hclust itself) only for a limited number of distance/linkage combinations, the simplest one being squared Euclidean distance and centroid linkage.
根据上述描述,我们可以按照自己需要,随意进行改动聚类树的展现形式

参考文件链接:
https://cran.r-project.org/web/packages/WeightedCluster/vignettes/WeightedCluster.pdf
https://cran.r-project.org/web/packages/WeightedCluster/vignettes/WeightedClusterPreview.pdf

猜你喜欢

转载自blog.csdn.net/YJJ18636810884/article/details/82901477