DÚ 8

V tejto domácej úlohe opäť pracujeme s dátami carc obsahujúcimi 74 pozorovaní a 13 premenných. Aby všetko správne fungovalo, musíme odstrániť chýbajúce pozorovania a takisto zmeniť kategoriálnu premennú na numerickú. Nový dataset preto obsahuje 66 pozorovaní.

dim(data_new)
## [1] 66 13

Na takto upravené numerické dáta môžeme použit “K-means” algoritmus s použitím 3 clustrov, pretože dáta obsahujú práve 3 rôzne sídla spoločností (US, Europe, Japan). Ako môžeme vidieť na obrázku, clustre sú rozlišované farbou a sídla spoločností tvarom.

Kmeans <- kmeans(data_new, centers = 3) # Potrebujeme numerické hodnoty a nemôžeme mať NA pozorovania
colVector <- as.numeric(Kmeans$cluster)

data_new$C = as.numeric(data_new$C)
plot(data_new$M ~ data_new$P, bg = colVector, xlab = "Cena auta", ylab = "Dojazd v míľach na galón", pch = 20 + data_new$C, col = "black")
points(Kmeans$centers[,1] ~ Kmeans$centers[,3], col = "black", pch = 21, cex = 2, bg = 1:3)
text((data_new$M + 1) ~ data_new$P,labels=rownames(data_new), col=colVector, cex = 0.5)
legend(14000,41,legend = c("US", "Japan", "Europe"), pch = c(21, 22, 23), bg = "grey")

Na ďalšom obrázku môžeme vidieť hierarchický dendogram s použitím takisto 3 clustrov. Roztriedenie pozorovaní do clustrov vyšlo podobne ako na predošlom obrázku, avšak nie zhodne. Je to z dôvodu, že bola pri clustrovaní použitá iná metóda výpočtu.

D <- dist(data_new) # for the euclidian distance by default
HC1 <- hclust(D)

plot(HC1, xlab = "Observations", ylab = "Proximity measure", cex=0.5, hang = -1)
groups <- cutree(HC1, k=3)
rect.hclust(HC1, k=3, border="red")