Παρουσίαση και Σχολιασμός Δεδομένων

Για την παρούσα μελέτη συσταδοποίησης επιλέχθηκε το σύνολο δεδομένων Mall Customers, το οποίο χρησιμοποιείται ευρέως για την ανάλυση συμπεριφοράς πελατών.

Το dataset περιλαμβάνει πληροφορίες για πελάτες ενός εμπορικού κέντρου και αποτελείται από 200 παρατηρήσεις (customers) και 5 βασικές μεταβλητές. Οι μεταβλητές αυτές είναι οι εξής:

Η μεταβλητή CustomerID αφαιρείται επειδή αποτελεί απλό αναγνωριστικό και δεν περιέχει πληροφορία χρήσιμη για την ομαδοποίηση. Επίσης, η μεταβλητή Gender δεν χρησιμοποιείται στην παρούσα ανάλυση, καθώς είναι κατηγορική.

Mall_Customers <- read.csv("C:/Users/30693/Downloads/Mall_Customers.csv", header=FALSE, sep=";")
head(Mall_Customers)
##           V1     V2  V3                 V4                     V5
## 1 CustomerID  Genre Age Annual Income (k$) Spending Score (1-100)
## 2          1   Male  19                 15                     39
## 3          2   Male  21                 15                     81
## 4          3 Female  20                 16                      6
## 5          4 Female  23                 16                     77
## 6          5 Female  31                 17                     40

Προεπεξεργασία Δεδομένων

mall <- Mall_Customers

colnames(mall) <- c("CustomerID", "Gender", "Age", "Income", "SpendingScore")
mall = mall[-1, ]

mall$CustomerID = NULL

mall = unique(mall)

Υπολογισμός Αποστάσεων

distances = dist(mall[, c("Age", "Income", "SpendingScore")], 
                 method = "euclidean")

Ιεραρχική Συσταδοποίηση

clusterMall = hclust(distances, method = "ward.D2")

Δενδρόγραμμα

plot(clusterMall)

Επιλογή αριθμού clusters

clusterGroups = cutree(clusterMall, k = 5)

Ανάλυση clusters

mall$Age = as.numeric(mall$Age)
mall$Income = as.numeric(mall$Income)
mall$SpendingScore = as.numeric(mall$SpendingScore)

tapply(mall$Age, clusterGroups, mean)
##        1        2        3        4        5 
## 45.21739 24.85000 42.15663 32.69231 41.68571
tapply(mall$Income, clusterGroups, mean)
##        1        2        3        4        5 
## 26.30435 24.95000 54.75904 86.53846 88.22857
tapply(mall$SpendingScore, clusterGroups, mean)
##        1        2        3        4        5 
## 20.91304 81.00000 49.77108 82.12821 17.28571

Από τα αποτελέσματα της εντολής tapply παρατηρείται ότι το δεύτερο και το τέταρτο cluster έχουν υψηλές τιμές στο Spending Score (περίπου 81–82), γεγονός που δείχνει ότι οι πελάτες αυτοί έχουν υψηλή καταναλωτική συμπεριφορά. Το τέταρτο cluster ξεχωρίζει επίσης επειδή συνδυάζει υψηλό εισόδημα (περίπου 86) με υψηλή κατανάλωση, αποτελώντας την πιο σημαντική κατηγορία πελατών.

Αντίθετα, το πρώτο και το πέμπτο cluster εμφανίζουν χαμηλό Spending Score (περίπου 20 και 17 αντίστοιχα), παρόλο που το πέμπτο έχει πολύ υψηλό εισόδημα (περίπου 88), γεγονός που δείχνει ότι αυτοί οι πελάτες έχουν δυνατότητα αλλά δεν καταναλώνουν. Το τρίτο cluster παρουσιάζει ενδιάμεσες τιμές σε όλες τις μεταβλητές και αντιπροσωπεύει μια μέση κατηγορία πελατών.

Συνολικά, τα αποτελέσματα δείχνουν ότι το clustering διαχώρισε τους πελάτες σε ομάδες με διαφορετική αγοραστική συμπεριφορά, κάτι που μπορεί να αξιοποιηθεί για καλύτερη κατανόηση και στόχευση των πελατών.