if (FALSE) {
# Wine clustering example with three random starts and the CUU model.
data("wine")
x<-wine[,-1]
x<-scale(x)
wine_clust<-pgmmEM(x,rG=1:4,rq=1:4,zstart=1,loop=3,modelSubset=c("CUU"))
table(wine[,1],wine_clust$map)
# Wine clustering example with custom starts and the CUU model.
data("wine")
x<-wine[,-1]
x<-scale(x)
hcl<-hclust(dist(x))
z<-list()
for(g in 1:4){
z[[g]]<-cutree(hcl,k=g)
}
wine_clust2<-pgmmEM(x,1:4,1:4,zstart=3,modelSubset=c("CUU"),zlist=z)
table(wine[,1],wine_clust2$map)
print(wine_clust2)
summary(wine_clust2)
# Olive oil classification by region (there are three regions), with two-thirds of
# the observations taken as having known group memberships, using the CUC, CUU and
# UCU models.
data("olive")
x<-olive[,-c(1,2)]
x<-scale(x)
cls<-olive[,1]
for(i in 1:dim(olive)[1]){
if(i%%3==0){cls[i]<-0}
}
olive_class<-pgmmEM(x,rG=3:3,rq=4:6,cls,modelSubset=c("CUC","CUU",
"CUCU"),relax=TRUE)
cls_ind<-(cls==0)
table(olive[cls_ind,1],olive_class$map[cls_ind])
# Another olive oil classification by region, but this time suppose we only know
# two-thirds of the labels for the first two areas but we suspect that there might
# be a third or even a fourth area.
data("olive")
x<-olive[,-c(1,2)]
x<-scale(x)
cls2<-olive[,1]
for(i in 1:dim(olive)[1]){
if(i%%3==0||i>420){cls2[i]<-0}
}
olive_class2<-pgmmEM(x,2:4,4:6,cls2,modelSubset=c("CUU"),relax=TRUE)
cls_ind2<-(cls2==0)
table(olive[cls_ind2,1],olive_class2$map[cls_ind2])
# Coffee clustering example using k-means starting values for all 12
# models with the ICL being used for model selection instead of the BIC.
data("coffee")
x<-coffee[,-c(1,2)]
x<-scale(x)
coffee_clust<-pgmmEM(x,rG=2:3,rq=1:3,zstart=2,icl=TRUE)
table(coffee[,1],coffee_clust$map)
plot(coffee_clust)
plot(coffee_clust,onlyAll=TRUE)
}
# Coffee clustering example using k-means starting values for the UUU model, i.e., the
# mixture of factor analyzers model, for G=2 and q=1.
data("coffee")
x<-coffee[,-c(1,2)]
x<-scale(x)
coffee_clust_mfa<-pgmmEM(x,2:2,1:1,zstart=2,modelSubset=c("UUU"))
table(coffee[,1],coffee_clust_mfa$map)
Run the code above in your browser using DataLab