library('mlbench') library('manipulate') set.seed(42) dat <- mlbench.spirals(500,1,0.05) ## spirals data is a two-class classification ## problem with two features plot(dat$x, xlab=expression(x[1]), ylab=expression(x[2]), col=dat$classes, main="Truth") ## usign k-means kmn <- kmeans(dat$x, 2, nstart = 5) plot(dat$x, xlab=expression(x[1]), ylab=expression(x[2]), col=kmn$cluster, main="K-means") ## using agglomeration w/complete linkage hcl <- cutree(hclust(dist(dat$x), method='complete'), k=2) plot(dat$x, xlab=expression(x[1]), ylab=expression(x[2]), col=hcl, main="H-clust Complete Linkage") ## using agglomeration w/average linkage hcl <- cutree(hclust(dist(dat$x), method='average'), k=2) plot(dat$x, xlab=expression(x[1]), ylab=expression(x[2]), col=hcl, main="H-clust Average Linkage") ## using agglomeration w/centroid linkage hcl <- cutree(hclust(dist(dat$x), method='centroid'), k=2) plot(dat$x, xlab=expression(x[1]), ylab=expression(x[2]), col=hcl, main="H-clust Centroid Linkage") ## using agglomeration w/single linkage hcl <- cutree(hclust(dist(dat$x), method='single'), k=2) plot(dat$x, xlab=expression(x[1]), ylab=expression(x[2]), col=hcl, main="H-clust Single Linkage")