<aside> 💡 (c) (d)
</aside>
# required libraries
library(dbscan)
# plot dataset with given clustering
plot(dcdata, col = target + 1, main = "Ground Truth Clustering")
# HIERARCHICAL CLUSTERING
## Single Linkage
### Calculate Distances
data_dist <- dist(dcdata)
### Create Model
model <- hclust(data_dist, method = "single")
### Cut Tree
clusters = cutree(model, k = 2)
### Plot Clustering
plot(dcdata, col = clusters + 1, main = "HC Single Linkage, k=2")
## Complete Linkage
### Calculate Distances
data_dist <- dist(dcdata)
### Create Model
model <- hclust(data_dist, method = "complete")
### Cut Tree
clusters = cutree(model, k = 2)
### Plot Clustering
plot(dcdata, col = clusters + 1, main = "HC Complete Linkage, k=2")
# DBSCAN
epsValues = c(0.75, 1.00, 1.25, 1.50)
for (epsilon in epsValues) {
model <- dbscan(dcdata, eps = epsilon, minPts = 5)
plot(dcdata,
col = model$cluster + 1,
pch = ifelse(model$cluster, 1, 4),
main = paste("DBSCAN with eps = ", epsilon, sep = ""))
}
# kMeans
model <- kmeans(dcdata, centers = 2)
plot(dcdata, col = model$cluster + 1, main = "kMeans with k = 2")
Ground Truth Clustering
Hierarchical Clustering with Single Linkage and k = 2
DBSCAN with eps = 0.75
DBSCAN with eps = 1.25
kMeans with k = 2
Hierarchical Clustering with Complete Linkage and k = 2
DBSCAN with eps = 1
DBSCAN with eps = 1.25
<aside> 💡 0,495
</aside>
# required libraries
library(MLmetrics)
# HIERARCHICAL CLUSTERING
## Single Linkage
### Calculate Distances
data_dist <- dist(dcdata)
### Create Model
model <- hclust(data_dist, method = "single")
### Cut Tree
clusters = cutree(model, k = 2)
# CALCULATE ACCURACY
Accuracy(clusters, target)
<aside> 💡 0,935
</aside>
# required libraries
library(MLmetrics)
# HIERARCHICAL CLUSTERING
## Complete Linkage
### Calculate Distances
data_dist <- dist(dcdata)
### Create Model
model <- hclust(data_dist, method = "complete")
### Cut Tree
clusters = cutree(model, k = 2)
# CALCULATE ACCURACY
Accuracy(clusters, target)