1 Αποστάσεις, ιεραρχική ομαδοποίηση & δενδρόγραμμα (3.1)

kos <- read.csv("dailykos.csv")
dim(kos)   # 3430 παρατηρήσεις x 1545 μεταβλητές
## [1] 3430 1545
distances  <- dist(kos, method = "euclidean")
clusterKos <- hclust(distances, method = "ward.D")

Γιατί αργεί η dist; Επιλέξτε όλα όσα ισχύουν.

➜ Απάντηση: 1 και 2. Έχουμε πολλές παρατηρήσεις (3430 → πάνω από 5,8 εκατομμύρια ζεύγη αποστάσεων) και πολλές μεταβλητές (1545, άρα κάθε υπολογισμός απόστασης είναι «βαρύς»). Οι 3 και 4 δεν ισχύουν: οι τιμές είναι μικρές συχνότητες λέξεων (μικρό εύρος) και η ευκλείδεια απόσταση δεν είναι εγγενώς αργή.

plot(clusterKos, labels = FALSE, main = "Dendrogram (ward.D, euclidean)")

Με το μάτι, καλές επιλογές για τον αριθμό συστάδων;

➜ Απάντηση: 2 και 3 συστάδες. Τα μεγαλύτερα κενά ύψους (όπου μια οριζόντια τομή «κόβει» λίγες, ψηλές κατακόρυφες γραμμές) εμφανίζονται στα 2 και στα 3 cluster. Στα 5–6 η τομή περνά μέσα από πυκνές, κοντινές ενώσεις, άρα είναι λιγότερο σαφής.

2 Επιλογή αριθμού ομάδων & 7 συστάδες (3.2)

Καλές επιλογές για ομαδοποίηση άρθρων ειδήσεων;

➜ Απάντηση: 7 και 8 ομάδες. Στόχος είναι να προτείνουμε στους αναγνώστες συγκεκριμένες θεματικές κατηγορίες. Οι 2–3 ομάδες είναι υπερβολικά γενικές (όλα τα άρθρα σε λίγες χονδρικές κατηγορίες), ενώ 7–8 ομάδες δίνουν πιο διακριτές και ερμηνεύσιμες θεματικές που βοηθούν τον αναγνώστη να επιλέξει τι θα διαβάσει.

Δημιουργούμε 7 συστάδες και χωρίζουμε τα δεδομένα με subset:

clusterGroups <- cutree(clusterKos, k = 7)
table(clusterGroups)
## clusterGroups
##    1    2    3    4    5    6    7 
## 1266  321  374  139  407  714  209
HierCluster1 <- subset(kos, clusterGroups == 1)
HierCluster2 <- subset(kos, clusterGroups == 2)
HierCluster3 <- subset(kos, clusterGroups == 3)
HierCluster4 <- subset(kos, clusterGroups == 4)
HierCluster5 <- subset(kos, clusterGroups == 5)
HierCluster6 <- subset(kos, clusterGroups == 6)
HierCluster7 <- subset(kos, clusterGroups == 7)

nrow(HierCluster3)   # παρατηρήσεις στην ομάδα 3
## [1] 374

➜ Απάντηση. Μεγέθη: 1→1266, 2→321, 3→374, 4→139, 5→407, 6→714, 7→209. Η ομάδα 3 έχει 374 παρατηρήσεις. Περισσότερες: ομάδα 1 (1266). Λιγότερες: ομάδα 4 (139).

3 Κορυφαίες λέξεις ανά συστάδα (3.3)

tail(sort(colMeans(HierCluster1)))
##      state republican       poll   democrat      kerry       bush 
##  0.7575039  0.7590837  0.9036335  0.9194313  1.0624013  1.7053712
tail(sort(colMeans(HierCluster2)))
##      bush  democrat challenge      vote      poll  november 
##  2.847352  2.850467  4.096573  4.398754  4.847352 10.339564
tail(sort(colMeans(HierCluster3)))
##      elect    parties      state republican   democrat       bush 
##   1.647059   1.665775   2.320856   2.524064   3.823529   4.406417
tail(sort(colMeans(HierCluster4)))
## campaign    voter presided     poll     bush    kerry 
## 1.431655 1.539568 1.625899 3.589928 7.834532 8.438849
tail(sort(colMeans(HierCluster5)))
##       american       presided administration            war           iraq 
##       1.090909       1.120393       1.230958       1.776413       2.427518 
##           bush 
##       3.941032
tail(sort(colMeans(HierCluster6)))
##      race      bush     kerry     elect  democrat      poll 
## 0.4579832 0.4887955 0.5168067 0.5350140 0.5644258 0.5812325
tail(sort(colMeans(HierCluster7)))
## democrat    clark   edward     poll    kerry     dean 
## 2.148325 2.497608 2.607656 2.765550 3.952153 5.803828

➜ Απαντήσεις.

  • Πιο συχνή λέξη στη συστάδα 1: bush (μέση συχνότητα 1.705).
  • Λέξεις που περιγράφουν την ομάδα 2: επιλογή 3 — november, poll, vote, challenge (november = 10.34, poll = 4.85, vote = 4.40, challenge = 4.10).
  • Συστάδα σχετική με τον πόλεμο στο Ιράκ: συστάδα 5 (iraq, war, administration, presided, american, bush).
  • Συστάδα του Δημοκρατικού κόμματος: συστάδα 7 — περιέχει τα ονόματα των Δημοκρατικών υποψηφίων του 2004 (dean, kerry, edward(s), clark) μαζί με democrat & poll.