Hierarchical Clustering
Τι είναι το Hierarchical Clustering;
Είναι ένας αλγόριθμος μηχανικής μάθησης χωρίς επίβλεψη που χρησιμοποιείται για την ομαδοποίηση σημείων δεδομένων χωρίς ετικέτα σε διακριτές κατηγορίες ή συστάδες. Αντί να ομαδοποιεί όλα τα δεδομένα σε ένα μόνο βήμα, ο αλγόριθμος δημιουργεί μια πολυεπίπεδη, ένθετη ιεραρχία σημείων δεδομένων με βάση τις ακριβείς αριθμητικές αποστάσεις και ομοιότητές τους.
Πώς δημιουργεί ο αλγόριθμος αυτήν την ιεραρχική δομή;
Χρησιμοποιεί κυρίως μια προσέγγιση από κάτω προς τα πάνω, γνωστή ως "agglomerative clustering" . Αρχικά, κάθε σημείο δεδομένων αντιμετωπίζεται ως το δικό του ξεχωριστό σύμπλεγμα. Ο αλγόριθμος υπολογίζει τη μαθηματική απόσταση μεταξύ όλων των συστάδων και συγχωνεύει τα δύο πιο κοντινά μεταξύ τους σε ένα νέο, μεγαλύτερο σύμπλεγμα. Αυτή η διαδοχική διαδικασία συγχώνευσης επαναλαμβάνεται μέχρι όλα τα σημεία δεδομένων να συνδυαστούν τελικά σε ένα ενιαίο, ολοκληρωμένο σύμπλεγμα.
Πώς διαφέρει το Hierarchical Clustering από το K-Means Clustering;
Η θεμελιώδης διαφορά έγκειται στον τρόπο με τον οποίο αρχικοποιούνται οι αλγόριθμοι και στις τελικές τους εξόδους.
Το K-Means Clustering απαιτεί από τον χρήστη να ορίσει χειροκίνητα τον ακριβή αριθμό συστάδων (K) πριν ο αλγόριθμος ξεκινήσει την επεξεργασία των δεδομένων.
Το Hierarchical Clustering δεν απαιτεί προκαθορισμένο αριθμό συστάδων.
Επιπλέον, το K-Means παράγει μια ενιαία, επίπεδη ομαδοποίηση των δεδομένων, ενώ το hierarchical clustering παράγει μια πολυεπίπεδη δομή, επιτρέποντας στους επιστήμονες δεδομένων να αποφασίσουν τον βέλτιστο αριθμό ομάδων μετά την ολοκλήρωση του αλγορίθμου.
Τι είναι ένα δενδρογράφημα και ποιος είναι ο ρόλος του σε αυτήν την ανάλυση;
Ένα δενδρογράφημα είναι ένας συγκεκριμένος τύπος διαγράμματος δέντρου που δημιουργείται από τον ιεραρχικό αλγόριθμο ομαδοποίησης. Καταγράφει οπτικά την ακριβή ακολουθία συγχωνεύσεων μεταξύ των σημείων δεδομένων και εμφανίζει τη μαθηματική απόσταση μεταξύ των συστάδων την ακριβή στιγμή που συγχωνεύτηκαν. Οι αναλυτές διαβάζουν τον κάθετο άξονα αυτού του διαγράμματος για να προσδιορίσουν το βέλτιστο σημείο για την κοπή του δέντρου, το οποίο υπαγορεύει αυστηρά τον τελικό αριθμό συστάδων.
Ποιες γλώσσες προγραμματισμού και βιβλιοθήκες χρησιμοποιούνται για την εκτέλεση hierarchical clustering;
Η Python και η R είναι οι τυπικές γλώσσες προγραμματισμού που χρησιμοποιούνται για αυτήν την τεχνική. Στην Python, οι επιστήμονες δεδομένων βασίζονται σε μεγάλο βαθμό στη βιβλιοθήκη scipy επειδή περιέχει ειδικές ενότητες για τον υπολογισμό αποστάσεων και τη μαθηματική δημιουργία των απεικονίσεων δενδρογραμμάτων. Επιπλέον, η βιβλιοθήκη scikit-learn παρέχει την κλάση AgglomerativeClustering, η οποία επιτρέπει στους προγραμματιστές να ενσωματώσουν αυτόν τον αλγόριθμο απευθείας σε τυπικούς αγωγούς επεξεργασίας μηχανικής μάθησης.
Πώς χρησιμοποιείται πρακτικά το Hierarchical Clustering στον τομέα της Επιστήμης Δεδομένων;
Ένας επιστήμονας δεδομένων που εργάζεται στη γονιδιωματική χρησιμοποιεί ιεραρχική ομαδοποίηση για την ανάλυση αλληλουχιών ανθρώπινου DNA. Εισάγει ένα τεράστιο σύνολο δεδομένων επιπέδων γονιδιακής έκφρασης σε ένα περιβάλλον Python χρησιμοποιώντας τη βιβλιοθήκη scipy.
Ο αλγόριθμος υπολογίζει τις βιολογικές ομοιότητες και ομαδοποιεί τα γονίδια χωρίς να απαιτείται από τον επιστήμονα να μαντέψει εκ των προτέρων τον αριθμό των κατηγοριών. Αναλύοντας το δενδρογράφημα που προκύπτει, ο επιστήμονας εντοπίζει συγκεκριμένες ένθετες συστάδες γονιδίων που ενεργοποιούνται ταυτόχρονα, επιτρέποντάς τους να ταξινομήσουν διακριτούς γενετικούς υποτύπους μιας σύνθετης ασθένειας.