1. Περιγραφή του Dataset

Στα πλαίσια της όγδοης εργασίας του μαθήματος χρησιμοποιήθηκε για την Συσταδοποίηση το dataset “Dog Breeds Dataset” που υπάρχει στο Kaggle (https://www.kaggle.com/datasets/mexwell/dog-breeds-dataset)

Η παρούσα ανάλυση βασίζεται σε δεδομένα που προέρχονται από τον επίσημο ιστότοπο του American Kennel Club (AKC), του αρχαιότερου και πλέον έγκυρου οργανισμού καταγραφής καθαρόαιμων φυλών σκύλων. Το συγκεκριμένο dataset αποτελεί μια ολοκληρωμένη ψηφιακή αποτύπωση των προτύπων κάθε φυλής, αντικατοπτρίζοντας δεκαετίες παρατήρησης και καταγραφής από ειδικούς κυνολόγους.

library(ggplot2)

dogs <- read.csv("akc-data-latest.csv")

cat("Το dataset έχει", nrow(dogs), "γραμμές και", ncol(dogs), "στήλες.")
## Το dataset έχει 277 γραμμές και 21 στήλες.
summary(dogs)
##       X             description        temperament         popularity       
##  Length:277         Length:277         Length:277         Length:277        
##  Class :character   Class :character   Class :character   Class :character  
##  Mode  :character   Mode  :character   Mode  :character   Mode  :character  
##                                                                             
##                                                                             
##                                                                             
##                                                                             
##    min_height      max_height      min_weight       max_weight    
##  Min.   :12.70   Min.   :17.78   Min.   : 0.000   Min.   :  0.00  
##  1st Qu.:33.02   1st Qu.:38.10   1st Qu.: 8.165   1st Qu.: 12.93  
##  Median :45.09   Median :53.34   Median :15.876   Median : 24.95  
##  Mean   :44.23   Mean   :52.72   Mean   :17.889   Mean   : 27.29  
##  3rd Qu.:55.88   3rd Qu.:66.04   3rd Qu.:22.680   3rd Qu.: 34.02  
##  Max.   :76.20   Max.   :88.90   Max.   :68.039   Max.   :108.86  
##                                  NA's   :2        NA's   :2       
##  min_expectancy  max_expectancy     group           grooming_frequency_value
##  Min.   : 0.00   Min.   : 0.00   Length:277         Min.   :0.2000          
##  1st Qu.:10.00   1st Qu.:13.00   Class :character   1st Qu.:0.2000          
##  Median :12.00   Median :14.00   Mode  :character   Median :0.4000          
##  Mean   :11.31   Mean   :13.83                      Mean   :0.4259          
##  3rd Qu.:12.00   3rd Qu.:15.00                      3rd Qu.:0.6000          
##  Max.   :16.00   Max.   :19.00                      Max.   :1.0000          
##  NA's   :3       NA's   :3                          NA's   :7               
##  grooming_frequency_category shedding_value   shedding_category 
##  Length:277                  Min.   :0.2000   Length:277        
##  Class :character            1st Qu.:0.4000   Class :character  
##  Mode  :character            Median :0.6000   Mode  :character  
##                              Mean   :0.5292                     
##                              3rd Qu.:0.6000                     
##                              Max.   :1.0000                     
##                              NA's   :20                         
##  energy_level_value energy_level_category trainability_value
##  Min.   :0.2000     Length:277            Min.   :0.2000    
##  1st Qu.:0.6000     Class :character      1st Qu.:0.4000    
##  Median :0.6000     Mode  :character      Median :0.6000    
##  Mean   :0.7129                           Mean   :0.6245    
##  3rd Qu.:0.8000                           3rd Qu.:0.8000    
##  Max.   :1.0000                           Max.   :1.0000    
##  NA's   :6                                NA's   :24        
##  trainability_category demeanor_value   demeanor_category 
##  Length:277            Min.   :0.2000   Length:277        
##  Class :character      1st Qu.:0.4000   Class :character  
##  Mode  :character      Median :0.6000   Mode  :character  
##                        Mean   :0.6206                     
##                        3rd Qu.:0.8000                     
##                        Max.   :1.0000                     
##                        NA's   :25

Πιο αναλυτικά το dataset περιλαμβάνει 277 διαφορετικές φυλές σκύλων και 21 χαρακτηριστικά.

Η συνάρτηση summary(dogs) μας επιτρέπει να εντοπίσουμε τις τάσεις και τις αποκλίσεις των δεδομένων μας.

Προκειμένου να κατανοήσουμε το βάθος των δεδομένων, αναλύουμε τις μεταβλητές με βάση τις τιμές που προέκυψαν από την επισκόπηση. Οι μεταβλητές χωρίζονται σε μορφολογικές, συμπεριφορικές και ποιοτικές.

Α. Μορφολογικές Μεταβλητές (Φυσικές Διαστάσεις)

Οι παρακάτω μεταβλητές περιγράφουν το φυσικό μέγεθος και τη βιολογία των φυλών:

  • Ύψος (Height): Οι φυλές κυμαίνονται από 12.7 cm (πολύ μικρόσωμες) έως 88.9 cm (γιγαντόσωμες), με τον γενικό μέσο όρο να βρίσκεται στα 52.7 cm.
  • Βάρος (Weight): Εδώ εντοπίζεται η μεγαλύτερη διακύμανση του δείγματος, από 0 kg (ελλιπή δεδομένα) έως την ακραία τιμή των 108.8 kg. Ο μέσος όρος είναι 27.3 kg.
  • Προσδόκιμο Ζωής (Expectancy): Η μέση διάρκεια ζωής είναι 13.8 έτη, με τις πιο μακρόβιες φυλές να αγγίζουν τα 19 έτη.

Β. Δείκτες Φροντίδας & Συμπεριφοράς (Κλίμακα 0.2 - 1.0)

Οι δείκτες αυτοί είναι κρίσιμοι για το Clustering, καθώς ποσοτικοποιούν την προσωπικότητα και τις ανάγκες κάθε σκύλου.

Μεταβλητή Περιγραφή Min Mean Max
Energy Level Επίπεδο ενέργειας & ανάγκη για άσκηση 0.20 0.71 1.00
Trainability Ευκολία εκμάθησης & υπακοή 0.20 0.62 1.00
Demeanor Κοινωνικότητα & φιλική συμπεριφορά 0.20 0.62 1.00
Shedding Συχνότητα απώλειας τριχώματος 0.20 0.53 1.00
Grooming Ανάγκη για μπάνιο/καλλωπισμό 0.20 0.43 1.00

Γ. Ποιοτικές Μεταβλητές (Categorical)

  • Temperament & Description: Παρέχουν κειμενικές πληροφορίες για τον χαρακτήρα και την ιστορία της φυλής (Class: character).
  • Group: Η επίσημη κατηγοριοποίηση του AKC (π.χ. Sporting, Working, Toy).
  • Popularity: Η θέση της φυλής στις προτιμήσεις του κοινού.

⚠️ Βασικές Παρατηρήσεις επί των Δεδομένων

Πριν προχωρήσουμε στην περαιτέρω επεξεργασία και ομαδοποίηση των φυλών, η στατιστική επισκόπηση αναδεικνύει τρία κρίσιμα σημεία:

  1. Εντοπισμός Outliers: Η μέγιστη τιμή βάρους (108.8 kg) είναι σχεδόν 4 φορές μεγαλύτερη από τον μέσο όρο (27.3 kg). Αυτή η τεράστια απόκλιση υποδηλώνει ότι οι γιγαντόσωμες φυλές θα αποτελέσουν μια πολύ διακριτή και απομονωμένη ομάδα (Cluster) κατά την ανάλυση.

  2. Διαχείριση Ελλιπών Τιμών (NAs): Παρατηρούμε σημαντικό αριθμό ελλιπών τιμών στις μεταβλητές Demeanor (25 NAs) και Trainability (24 NAs). Αυτό το κενό στο 9% του δείγματος καθιστά απαραίτητο τον προσεκτικό καθαρισμό του dataset πριν την εφαρμογή αλγορίθμων απόστασης.

  3. Υψηλή Ενέργεια: Ο μέσος όρος του επιπέδου ενέργειας (0.71) είναι ο υψηλότερος μεταξύ όλων των συμπεριφορικών δεικτών. Αυτό αποδεικνύει ότι η πλειονότητα των αναγνωρισμένων φυλών από το AKC χαρακτηρίζεται από έντονη δραστηριότητα και ανάγκη για άσκηση.

Σύνοψη: Τα δεδομένα μας παρουσιάζουν μια πλούσια αλλά ανομοιογενή εικόνα. Η αντιμετώπιση των ελλιπών τιμών και η κανονικοποίηση των ακραίων τιμών (outliers) είναι τα επόμενα αναγκαία βήματα για μια αξιόπιστη ομαδοποίηση.

2. Προεπεξεργασία και Καθαρισμός Δεδομένων

Πριν την εφαρμογή του αλγορίθμου ομαδοποίησης, είναι απαραίτητο να γίνει καθαρισμός του dataset. Η διαδικασία αυτή εστιάζει στην αφαίρεση περιττών πληροφοριών και στη διαχείριση των ελλιπών τιμών που εντοπίστηκαν στην προηγούμενη ενότητα.

  names(dogs)[1] <- "breed_name"

  dogs$description = NULL
  dogs$name = NULL
  dogs$temperament = NULL
  dogs$popularity = NULL
  dogs$popularity = NULL
  dogs$group = NULL
  dogs$grooming_frequency_category = NULL
  dogs$shedding_category = NULL
  dogs$energy_level_category = NULL
  dogs$trainability_category = NULL
  dogs$demeanor_category = NULL
  • Μετονομασία & Ταυτοποίηση: Μετονομάζουμε την πρώτη στήλη σε breed_name για να έχουμε μια ξεκάθαρη αναφορά στο όνομα της φυλής.

  • Αφαίρεση Περιγραφικών Μεταβλητών (Noise Reduction): Αφαιρούμε στήλες όπως description, temperament και group. Αυτές οι μεταβλητές είναι κειμενικές (character) και δεν μπορούν να επεξεργαστούν από τον αλγόριθμο \(k\)-means ή την Ιεραρχική Ομαδοποίηση, οι οποίοι απαιτούν αποκλειστικά αριθμητικά δεδομένα.

  • Αφαίρεση Κατηγορικών Δεικτών: Διαγράφουμε τις στήλες που τελειώνουν σε _category. Εφόσον διαθέτουμε τις αντίστοιχες αριθμητικές τιμές (_value), οι λεκτικές κατηγορίες είναι πλεονασμός (redundancy) και θα “μπέρδευαν” το μοντέλο.

  dogs = unique(dogs) 
  dogs <- na.omit(dogs)
  • Διαχείριση Διπλοεγγραφών & NAs: Χρησιμοποιούμε την unique() για να βεβαιωθούμε ότι κάθε φυλή εμφανίζεται μόνο μία φορά.Με την na.omit(), αφαιρούμε τις φυλές που έχουν κενές τιμές. Αυτό είναι κρίσιμο, καθώς οι υπολογισμοί ευκλείδειας απόστασης δεν επιτρέπουν την ύπαρξη ελλιπών δεδομένων.

3. Hierarchical Clustering

Αφού καθαρίσαμε τα δεδομένα, προχωράμε στην κύρια ανάλυση. Η διαδικασία περιλαμβάνει τρία βασικά στάδια:

Α. Κανονικοποίηση

Επειδή οι μεταβλητές μας έχουν διαφορετικές μονάδες μέτρησης (π.χ. το βάρος φτάνει τα 100kg ενώ η εκπαιδευσιμότητα το 1.0), εφαρμόζουμε τη συνάρτηση scale(). Με αυτόν τον τρόπο, όλες οι μεταβλητές αποκτούν μέση τιμή 0 και τυπική απόκλιση 1, ώστε καμία μεταβλητή να μην «επισκιάζει» τις άλλες λόγω μεγέθους.

  # Κάνει scale μόνο τις στήλες από τη 2η έως τη 12η
  dogs[, 2:12] <- scale(dogs[, 2:12])

B. Υπολογισμός Αποστάσεων και Αλγόριθμος Ward

  distances = dist(dogs[2:12], method = "euclidean")
  clusterDog = hclust(distances, method = "ward.D2")

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

Το δενδρόγραμμα αποτελεί την οπτική αποτύπωση της “συγγένειας” των φυλών βάσει των δεδομένων.

 plot(clusterDog)

  • Πρωτογενής Διαχωρισμός (Primary Split): Σε υψηλό επίπεδο ανομοιότητας (Height > 30), παρατηρείται ένας σαφής διχοτομικός διαχωρισμός του πληθυσμού. Αυτό υποδηλώνει την ύπαρξη δύο “υπέρ-ομάδων” με θεμελιώδεις μορφολογικές και βιολογικές διαφορές, οι οποίες λειτουργούν ως οι κύριοι πυλώνες του dataset.
  • Ανάλυση Επιπέδων Ανομοιότητας: Ο κατακόρυφος άξονας αποτυπώνει την απόσταση μεταξύ των παρατηρήσεων. Οι εκτεταμένες κατακόρυφες γραμμές στην κορυφή του διαγράμματος υποδεικνύουν ότι οι τελικές ομάδες παρουσιάζουν ισχυρή διακριτότητα, ενώ η πυκνότητα των ενώσεων στη βάση φανερώνει υπο-ομάδες με υψηλή εσωτερική ομοιογένεια.
  • Τεκμηρίωση Επιλογής των 10 Clusters: Η οριζόντια “τομή” του δέντρου στο επίπεδο που ορίζει 10 clusters κρίνεται ως η βέλτιστη στατιστική λύση. Η επιλογή αυτή εξασφαλίζει τη διατήρηση της πληροφορίας (granular detail) χωρίς να θυσιάζεται η ερμηνευτική ικανότητα του μοντέλου, επιτρέποντας την ανάδειξη των ειδικών χαρακτηριστικών κάθε ομάδας.

Συμπέρασμα: Η δομή του δενδρογράμματος επιβεβαιώνει ότι οι φυλές των σκύλων οργανώνονται σε σαφή και στατιστικά διακριτά πρότυπα (patterns), δικαιολογώντας την περαιτέρω ανάλυση των δέκα επιλεγμένων ομάδων.

4. Συγκριτική Ανάλυση Μέσων Όρων ανά Cluster

Βάσει της παραπάνω δομικής ανάλυσης, προχωράμε στην υλοποίηση του διαχωρισμού. Ενώ το δενδρόγραμμα μας δείχνει τις σχέσεις, η συνάρτηση cutree() αναλαμβάνει να «κόψει» το δέντρο στο κατάλληλο ύψος ώστε να αποδώσει σε κάθε μία από τις φυλές έναν συγκεκριμένο αριθμό ομάδας (από 1 έως 10).

Αυτή η διαδικασία μετατρέπει την ποιοτική ιεραρχία σε ποσοτική πληροφορία, επιτρέποντάς μας να υπολογίσουμε στη συνέχεια τους μέσους όρους ανά ομάδα.

  clusterGroups = cutree(clusterDog, k = 10)
  dogs$Cluster <- clusterGroups

Α. Σωματικά χαρακτηριστικά

  # Μέσο Βάρος ανά Cluster
  tapply(dogs$max_weight, clusterGroups, mean)
##           1           2           3           4           5           6 
## -0.96002254 -0.00554362 -0.08142652  0.98349402  0.42324049 -0.34975944 
##           7           8           9          10 
## -0.83136237 -0.21810717  2.58430328 -0.69671801

Η ανάλυση του Μέσου Βάρους ανά cluster αποκαλύπτει τον τρόπο με τον οποίο ο αλγόριθμος οργάνωσε τις φυλές βάσει του σωματικού τους όγκου. Οι αποκλίσεις από τον μέσο όρο είναι ιδιαίτερα έντονες, γεγονός που υποδηλώνει ότι το μέγεθος αποτέλεσε έναν από τους ισχυρότερους πόλους έλξης για τη δημιουργία των ομάδων.

Στην κορυφή της κλίμακας συναντάμε το Cluster 9, το οποίο με τη θεαματική τιμή 2.58 αντιπροσωπεύει τις γιγαντόσωμες φυλές του δείγματος. Πρόκειται για την πιο ακραία θετική απόκλιση σε ολόκληρο το dataset, κάτι που σημαίνει ότι η ομάδα αυτή είναι μορφολογικά απομονωμένη από τις υπόλοιπες λόγω του τεράστιου όγκου της. Ακολουθεί το Cluster 4 με τιμή 0.98, το οποίο περιλαμβάνει τις τυπικές μεγαλόσωμες φυλές που, αν και μεγάλες, δεν φτάνουν στα άκρα των «γιγάντων».

Στον αντίποδα, το Cluster 1 (-0.96) και το Cluster 7 (-0.83) αποτελούν τις ομάδες των μικρόσωμων σκύλων (Toy και Small breeds). Οι τιμές αυτές, όντας κοντά στη μονάδα κάτω από το μηδέν, δείχνουν μια σταθερή ομοιογένεια στις μικρόσωμες φυλές. Τα υπόλοιπα clusters, όπως το Cluster 2 (-0.005), βρίσκονται σε απόλυτη ισορροπία με τον μέσο όρο, αντιπροσωπεύοντας τις μεσαίου μεγέθους φυλές που αποτελούν τον συνδετικό κρίκο της μορφολογικής εξέλιξης των σκύλων.

  # Μέσο Προσδόκιμο Ζωής ανά Cluster
  tapply(dogs$max_expectancy, clusterGroups, mean)
##          1          2          3          4          5          6          7 
##  0.5684110  0.2595536  0.3242553 -0.9410078 -0.4989710  0.7448166  0.5129792 
##          8          9         10 
##  0.1810855 -1.8590842 -6.6910651

Το Προσδόκιμο Ζωής αποτελεί έναν από τους πιο κρίσιμους βιολογικούς δείκτες και η ανάλυσή του ανά cluster προσφέρει σημαντικές πληροφορίες για τη μακροζωία των διαφορετικών ομάδων. Εδώ, οι τιμές αντικατοπτρίζουν το πόσο «ανθεκτική» είναι η κάθε ομάδα στον χρόνο σε σχέση με τον γενικό μέσο όρο.

Οι «μακρόβιοι» του δείγματος συγκεντρώνονται στα Clusters 6, 1 και 7, με τιμές 0.74, 0.56 και 0.51 αντίστοιχα. Η θετική αυτή απόκλιση δείχνει ότι οι φυλές αυτών των ομάδων ξεπερνούν σταθερά τον μέσο όρο ζωής. Είναι αξιοσημείωτο ότι το Cluster 6, παρόλο που δεν είναι το πιο μικρόσωμο, αναδεικνύεται ως το πιο μακρόβιο, γεγονός που υποδηλώνει μια εξαιρετική γενετική υγεία και απουσία κληρονομικών παθήσεων που συχνά μειώνουν το όριο ζωής σε άλλες φυλές.

Στον αντίθετο πόλο, παρατηρούμε την «κατάρρευση» του δείκτη στο Cluster 10 (-6.69) και στο Cluster 9 (-1.85). Η τιμή του Cluster 9 είναι αναμενόμενη, καθώς οι γιγαντόσωμες φυλές έχουν ιστορικά τη μικρότερη διάρκεια ζωής. Ωστόσο, η ακραία τιμή του Cluster 10 αποτελεί στατιστική ιδιαιτερότητα. Μια τέτοια απόκλιση υποδηλώνει ότι οι φυλές αυτού του cluster παρουσιάζουν το χαμηλότερο προσδόκιμο ζωής σε ολόκληρο το dataset, πιθανώς λόγω πολύ συγκεκριμένων ανατομικών χαρακτηριστικών ή ευπαθειών που τις διαφοροποιούν ριζικά από όλες τις άλλες ομάδες.

Β. Συμπεριφορικά χαρακτηριστικά

  tapply(dogs$trainability_value, clusterGroups, mean)
##           1           2           3           4           5           6 
##  0.06373367 -0.95653990  1.20321446 -0.20974172  0.01815444  0.24605060 
##           7           8           9          10 
## -0.25946452  0.70184291 -0.27811057 -0.07300402

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

Στην κορυφή της κλίμακας συναντάμε το Cluster 3, το οποίο με τη μέση τιμή 1.20 χαρακτηρίζεται ως η ομάδα των «Πρωταθλητών». Οι φυλές που ανήκουν σε αυτό το cluster παρουσιάζουν τη μέγιστη θετική απόκλιση από τον μέσο όρο του δείγματος, γεγονός που υποδηλώνει εξαιρετικά υψηλή υπακοή και συγκέντρωση.

Στον αντίποδα, το Cluster 2 με τιμή -0.95 αντιπροσωπεύει τους «Ανεξάρτητους» του dataset. Η σημαντική αρνητική απόκλιση δεν υποδηλώνει έλλειψη ευφυΐας, αλλά κυρίως ένα πεισματάρικο ή αυτόνομο ταμπεραμέντο. Οι φυλές αυτές τείνουν να αξιολογούν τις καταστάσεις πριν αντιδράσουν και δεν εκτελούν εντολές μηχανικά, απαιτώντας έτσι πιο έμπειρους ιδιοκτήτες και εξειδικευμένες μεθόδους προσέγγισης για να επιτευχθεί το επιθυμητό επίπεδο πειθαρχίας.

Τέλος, μια μεγάλη ομάδα φυλών που κατανέμεται στα Clusters 1, 5 και 10, κινείται γύρω από το μηδέν, το οποίο αποτελεί το σημείο αναφοράς του μέσου όρου. Αυτές οι φυλές παρουσιάζουν μια «τυπική» συμπεριφορά, διατηρώντας μια ισορροπία μεταξύ ανεξαρτησίας και υπακοής.

  tapply(dogs$energy_level_value, clusterGroups, mean)
##          1          2          3          4          5          6          7 
## -0.1811301  0.1824478 -0.2372802 -0.3297626  0.7800267 -0.2604008 -0.9161854 
##          8          9         10 
##  1.6123687 -0.7459336  0.5025794

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

Στην κορυφή αυτής της κλίμακας τοποθετείται το Cluster 8, το οποίο με το εντυπωσιακό σκορ 1.61 χαρακτηρίζεται ως η ομάδα των «Μπαταριών». Η τιμή αυτή υποδηλώνει μια εξαιρετικά υψηλή θετική απόκλιση από τον μέσο όρο, υποδεικνύοντας φυλές με ανεξάντλητα αποθέματα αντοχής. Τα σκυλιά αυτά δεν αρκούνται σε έναν απλό περίπατο, αλλά απαιτούν έντονη άσκηση και συνεχή πνευματική απασχόληση. Η παραμονή τέτοιων φυλών σε κατάσταση αδράνειας μπορεί να οδηγήσει σε καταστροφικές συμπεριφορές, καθώς η ενέργειά τους πρέπει υποχρεωτικά να διοχετευθεί κάπου.

Στον αντίποδα, τα Clusters 7 και 9, με τιμές -0.91 και -0.74 αντίστοιχα, περιλαμβάνουν τους «Τεμπέληδες» του δείγματος. Οι φυλές αυτές παρουσιάζουν σημαντική αρνητική απόκλιση, προτιμώντας την ηρεμία και την ανάπαυση από την έντονη δραστηριότητα. Πρόκειται για σκύλους που προσαρμόζονται ιδανικά σε περιορισμένους χώρους ή σε ιδιοκτήτες με πιο καθιστικό τρόπο ζωής, καθώς ο μεταβολισμός και η διάθεσή τους είναι προγραμματισμένα για χαμηλές ταχύτητες, καθιστώντας τα «οικονομικά» στην κατανάλωση ενέργειας.

Ιδιαίτερο ενδιαφέρον παρουσιάζει το Cluster 5. Ενώ η εκπαιδευσιμότητά του κινείται σε απόλυτα μέσο επίπεδο (0.01), το επίπεδο ενέργειας είναι αισθητά υψηλό (0.78). Αυτός ο συνδυασμός περιγράφει φυλές που είναι ιδιαίτερα παιχνιδιάρικες και δραστήριες, αλλά ταυτόχρονα παρουσιάζουν δυσκολία στη συγκέντρωση κατά την εκπαίδευση, καθώς η υψηλή τους ενέργεια τις κάνει να αφαιρούνται εύκολα. Είναι η ομάδα των σκύλων που «ζουν για το παιχνίδι», αλλά η εκγύμνασή τους απαιτεί υπομονή, αφού το κίνητρό τους είναι περισσότερο η διασκέδαση και λιγότερο η πειθαρχία.

Γ. Κοινωνικά χαρακτηριστικά

  # Μέση Κοινωνικότητα/Αντίδραση σε ξένους ανά Cluster
  tapply(dogs$demeanor_value, clusterGroups, mean)
##          1          2          3          4          5          6          7 
##  0.7654424 -1.0569771  0.1183905 -0.5255430  0.7004774  0.1729612  0.1680002 
##          8          9         10 
##  0.1183905 -0.4273159 -1.0821635

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

Στην κατηγορία των «Κοινωνικών» κυριαρχούν τα Clusters 1 και 5, με υψηλές θετικές αποκλίσεις (0.76 και 0.70 αντίστοιχα). Οι φυλές αυτές αποτελούν την επιτομή του φιλικού σκύλου. Η υψηλή τους βαθμολογία υποδηλώνει μια έμφυτη αυτοπεποίθηση και μια θετική προδιάθεση προς το άγνωστο, καθιστώντας τα ιδανικά για οικογένειες που δέχονται συχνά επισκέψεις ή για διαβίωση σε πυκνοκατοικημένες αστικές περιοχές. Είναι τα σκυλιά που τείνουν να υποδέχονται τους ξένους με ενθουσιασμό παρά με καχυποψία.

Στον αντίποδα, τα Clusters 10 και 2 παρουσιάζουν τις πιο έντονες αρνητικές αποκλίσεις (-1.08 και -1.05). Αυτές οι ομάδες περιλαμβάνουν τις πιο επιφυλακτικές ή προστατευτικές φυλές του dataset. Μια τόσο χαμηλή τιμή στην κοινωνικότητα δεν μεταφράζεται απαραίτητα ως επιθετικότητα, αλλά ως μια πιο σοβαρή και απόμακρη στάση απέναντι σε όσους δεν ανήκουν στον άμεσο οικογενειακό κύκλο. Πρόκειται για φυλές που συχνά έχουν το ένστικτο του φύλακα, αξιολογούν προσεκτικά τον χώρο τους και προτιμούν να διατηρούν αποστάσεις από τους ξένους.

Τέλος, τα Clusters 3, 6, 7 και 8 κινούνται σε πολύ μικρές θετικές αποκλίσεις (0.11 έως 0.17), αποτελώντας τη «χρυσή τομή» της κοινωνικότητας. Οι φυλές αυτές επιδεικνύουν μια ισορροπημένη συμπεριφορά: δεν είναι υπερβολικά διαχυτικές όπως το Cluster 1, αλλά ούτε και απόμακρες όπως το Cluster 10. Αυτή η σταθερότητα τις καθιστά αξιόπιστες σε κοινωνικές συναναστροφές, καθώς αντιδρούν με ψυχραιμία και ευγένεια, χωρίς να χάνουν την απαραίτητη διάκριση που χαρακτηρίζει έναν ισορροπημένο σκύλο συνοδό.

Συμπεράσματα

Μέσα από την ανάλυση των ομάδων (clusters), καταλήγουμε σε τρία πολύ απλά μαθήματα για τους σκύλους:

Συνδυάζοντας τα αποτελέσματα των μέσων όρων ανά ομάδα, καταλήγουμε στα εξής:

  1. Μέγεθος vs Διάρκεια Ζωής: Η ανάλυση επιβεβαιώνει τη βιολογική αντίθεση μεταξύ βάρους και μακροζωίας. Η Ομάδα 9 (οι «Γίγαντες») έχει το υψηλότερο βάρος (+2.58) και ταυτόχρονα πολύ χαμηλό προσδόκιμο ζωής (-1.85). Αντίθετα, οι Ομάδες 1 και 7 έχουν το χαμηλότερο βάρος και τις υψηλότερες τιμές μακροζωίας, αποδεικνύοντας ότι το μικρό μέγεθος ευνοεί τη διάρκεια ζωής.

  2. Δουλειά vs Παρέα: Ο αλγόριθμος ξεχώρισε τις φυλές με βάση τις απαιτήσεις τους. Η Ομάδα 3 (υψηλή εκπαιδευσιμότητα: 1.20) και η Ομάδα 8 (υψηλή ενέργεια: 1.61) συγκεντρώνουν σκυλιά «εργασίας» που χρειάζονται συνεχή δράση. Στον αντίποδα, οι Ομάδες 1 και 5 έχουν πιο μετρημένες τιμές, γεγονός που τις καθιστά «ιδανικές για σπίτι» και εξηγεί γιατί είναι οι πιο δημοφιλείς στο dataset.

  3. Φύλακες vs Φίλοι: Εδώ η στατιστική δείχνει το κοινωνικό προφίλ. Οι Ομάδες 10 και 2 έχουν τις χαμηλότερες τιμές κοινωνικότητας (-1.08 και -1.05), κάτι που μεταφράζεται σε επιφυλακτικότητα προς τους ξένους και έντονο «ένστικτο φύλακα». Αντίθετα, οι υψηλές τιμές κοινωνικότητας των Ομάδων 1 και 5 (0.76 και 0.70) δείχνουν φιλικά σκυλιά που προσαρμόζονται χωρίς άγχος στην έντονη ζωή της πόλης.

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

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

5. Προφίλ και Ταυτότητα των Clusters: Η Ερμηνεία των Ομάδων

  # Φτιάχνουμε έναν πίνακα που έχει μόνο τις στήλες με τα νούμερα
  stats_only <- dogs[, c("min_height","max_height",  "min_weight","max_weight","min_expectancy", "max_expectancy","grooming_frequency_value", "shedding_value", "energy_level_value", "trainability_value","demeanor_value")]
  
  # Δημιουργούμε τον συγκεντρωτικό πίνακα μέσων όρων ανά Cluster
  final_summary <- aggregate(stats_only, by = list(Cluster = clusterGroups), FUN = mean)
  
  # Εμφάνιση του πίνακα
  print(final_summary)
##    Cluster  min_height  max_height  min_weight  max_weight min_expectancy
## 1        1 -1.22592210 -1.21660220 -0.96826223 -0.96002254      0.5566781
## 2        2  0.18237823  0.34180421 -0.01393161 -0.00554362      0.3776647
## 3        3  0.15245968  0.16500086 -0.10728338 -0.08142652      0.2838173
## 4        4  0.82456319  0.80577023  0.95611789  0.98349402     -0.9501990
## 5        5  0.92383271  0.87534946  0.49845152  0.42324049     -0.4161920
## 6        6 -0.06593328 -0.07634298 -0.42487355 -0.34975944      0.8438247
## 7        7 -1.17865442 -1.34786432 -0.79810415 -0.83136237      0.1183606
## 8        8  0.08736491  0.03326613 -0.21454893 -0.21810717      0.3338180
## 9        9  1.37380031  1.31931733  2.65848535  2.58430328     -1.9762126
## 10      10 -0.36178901  0.10095304 -0.86865850 -0.69671801     -6.1162675
##    max_expectancy grooming_frequency_value shedding_value energy_level_value
## 1       0.5684110               -0.1098060    -0.23476414         -0.1811301
## 2       0.2595536               -0.4347775     0.08971499          0.1824478
## 3       0.3242553                0.4435130     0.19007371         -0.2372802
## 4      -0.9410078                0.2819753     0.96903448         -0.3297626
## 5      -0.4989710               -0.3641753     0.34356352          0.7800267
## 6       0.7448166               -0.5660974    -1.17214832         -0.2604008
## 7       0.5129792                1.6216699    -1.03086793         -0.9161854
## 8       0.1810855               -0.4008884     0.15170126          1.6123687
## 9      -1.8590842               -0.5936323     0.29559795         -0.7459336
## 10     -6.6910651               -0.1806098     0.38193597          0.5025794
##    trainability_value demeanor_value
## 1          0.06373367      0.7654424
## 2         -0.95653990     -1.0569771
## 3          1.20321446      0.1183905
## 4         -0.20974172     -0.5255430
## 5          0.01815444      0.7004774
## 6          0.24605060      0.1729612
## 7         -0.25946452      0.1680002
## 8          0.70184291      0.1183905
## 9         -0.27811057     -0.4273159
## 10        -0.07300402     -1.0821635

1. Οι “Μικροσκοπικοί Σύντροφοι” (Clusters 1 & 7) Εδώ ο αλγόριθμος ομαδοποίησε τα μικρόσωμα σκυλιά, αλλά με μια σημαντική διαφορά:

  • Cluster 1 (Οι Κοινωνικοί): Πολύ μικρόσωμα, πολύ φιλικά (+0.76) και μακρόβια. Είναι τα ιδανικά σκυλιά για αγκαλιά και πόλη.

  • Cluster 7 (Οι Απαιτητικοί): Παρόμοιο μέγεθος, αλλά με την υψηλότερη ανάγκη περιποίησης (Grooming: +1.62) και τη χαμηλότερη ενέργεια (-0.91). Είναι τα «σκυλιά του καναπέ» που χρειάζονται όμως πολύ κομμωτήριο.

2. Οι “Αθλητές & Εργάτες” (Clusters 3 & 8) Αυτές οι ομάδες ορίζονται από το «μυαλό» και την «κίνηση»:

  • Cluster 3 (Οι Πανέξυπνοι): Μεσαίου μεγέθους με την κορυφαία εκπαιδευσιμότητα (+1.20). Εδώ είναι τα σκυλιά που μαθαίνουν τα πάντα, με ισορροπημένη ενέργεια.

  • Cluster 8 (Οι Ακούραστοι): Η ομάδα με τη μέγιστη ενέργεια (+1.61). Συνδυάζουν εξυπνάδα και αντοχή, αποτελώντας τις κλασικές φυλές εργασίας που δεν σταματούν ποτέ.

3. Οι “Ιδιαίτεροι Μεγαλόσωμοι” (Clusters 9 & 10) Εδώ βρίσκονται τα άκρα της φύσης:

  • Cluster 9 (Οι Βαρείς): Η μέγιστη τιμή βάρους (+2.58) συνοδεύεται από χαμηλή κοινωνικότητα και χαμηλό προσδόκιμο ζωής. Είναι οι «μολοσσοί» του dataset.

  • Cluster 10 (Το Παράδοξο): Μια ομάδα-μυστήριο με τη χαμηλότερη κοινωνικότητα (-1.08) και μια ακραία αρνητική τιμή στη μακροζωία (-6.69). Πρόκειται για φυλές με πολύ ιδιαίτερα χαρακτηριστικά που αποκλίνουν από κάθε κανόνα.

4. Οι “Ισορροπημένοι Μεσαίοι” (Clusters 2, 4, 5, 6) Αυτές οι ομάδες αποτελούν τον κορμό του πληθυσμού:

  • Cluster 5: Μεγάλα αλλά πολύ κοινωνικά σκυλιά, με υψηλή ενέργεια.

  • Cluster 2: Η «δύσκολη» μεσαία ομάδα. Ανεξάρτητα σκυλιά, χαμηλή εκπαιδευσιμότητα και χαμηλή κοινωνικότητα.

  • Cluster 6: Η ομάδα της «χρυσής τομής». Μεσαίο μέγεθος, αλλά η πιο υγιής ομάδα με το μεγαλύτερο προσδόκιμο ζωής αναλογικά με τον όγκο της.

6. Case Study: Επιβεβαίωση Μοντέλου με τη φυλή “Maltese”

Προκειμένου να ελεγχθεί η ερμηνευτική ικανότητα και η αξιοπιστία του αλγορίθμου, πραγματοποιήθηκε ένα πείραμα ελέγχου (Spotlight Analysis) με τη φυλή Maltese. Το Μαλτέζ αποτελεί ιδανική περίπτωση δοκιμής, καθώς συνδυάζει ακραία μικροσωμία με πολύ υψηλές απαιτήσεις καλλωπισμού.

  # Εντοπισμός του Cluster στο οποίο ανήκει το Maltese
  maltese_cluster <- clusterGroups[which(dogs$breed_name == "Maltese")]
  
  # Εμφάνιση αποτελέσματος
  cat("Η φυλή Maltese κατατάχθηκε στο Cluster:", maltese_cluster)
## Η φυλή Maltese κατατάχθηκε στο Cluster: 7

Η απόδοση του Maltese στο Cluster 7 (Οι Απαιτητικοί) επιβεβαιώνει ότι ο αλγόριθμος Ward λειτούργησε με υψηλή ακρίβεια, καθώς η συγκεκριμένη φυλή αποτελεί τον “πρεσβευτή” των χαρακτηριστικών της ομάδας αυτής:

  • Ακραίες Ανάγκες Φροντίδας: Το Maltese διαθέτει ένα από τα πιο απαιτητικά τριχώματα στο dataset. Η κατάταξή του στην ομάδα με τον υψηλότερο δείκτη Grooming (+1.62) αποδεικνύει ότι το μοντέλο αναγνώρισε ορθά την ανάγκη για εντατική περιποίηση.
  • Διαφοροποίηση από το Cluster 1: Παρόλο που το Maltese είναι μικρόσωμο, ο αλγόριθμος δεν το περιέλαβε στο Cluster 1 (Κοινωνικοί/Χαμηλής Συντήρησης). Αντίθετα, “αντελήφθη” ότι οι ιδιαίτερες ανάγκες καλλωπισμού του το καθιστούν μια πολύ πιο εξειδικευμένη περίπτωση.
  • Βιολογικό Προφίλ: Η χαμηλή τιμή ενέργειας (-0.91) της ομάδας 7 αντικατοπτρίζει με ακρίβεια τον ρόλο του Maltese ως “σκύλου συντροφιάς εσωτερικού χώρου”, διαχωρίζοντάς το από άλλες μικρόσωμες αλλά πιο ενεργητικές φυλές (όπως τα Terrier).

Τελική Αξιολόγηση: Το πείραμα στέφθηκε με επιτυχία. Η στατιστική ομαδοποίηση κατάφερε να “δει” πίσω από το όνομα και να ταξινομήσει τη φυλή με βάση την πραγματική της φύση, τη βιολογία και τις απαιτήσεις της καθημερινής της συμβίωσης.