set.seed(2)
n <- 400
x <- cbind(
x = runif(4, 0, 1) + rnorm(n, sd=0.1),
y = runif(4, 0, 1) + rnorm(n, sd=0.1)
)
cl <- rep(1:4, time = 100)
### original data with true clustering
### (also with differnt symbols, just the hulls or polygons)
hullplot(x, cl, main = "True clusters")
hullplot(x, cl, main = "True clusters", pch = cl)
hullplot(x, cl, main = "True clusters", pch = NA)
hullplot(x, cl, main = "True clusters", solid = TRUE, hull_lwd = 0)
### run some clustering algorithms and plot the resutls
db <- dbscan(x, eps = .07, minPts = 10)
hullplot(x, db, main = "DBSCAN")
op <- optics(x, eps = 10, minPts = 10, eps_cl = 0.07)
hullplot(x, op, main = "OPTICS")
opXi <- opticsXi(op, xi = 0.05)
hullplot(x, opXi, main = "OPTICSXi")
km <- kmeans(x, centers = 4)
hullplot(x, km, main = "k-means")
hc <- cutree(hclust(dist(x)), k = 4)
hullplot(x, hc, main = "Hierarchical Clustering")
Run the code above in your browser using DataLab