Κατηγοριοποίηση των κυττάρων ως καλοήθη ή κακοήθη.
Συνήθως οι τεχνικές μηχανικής μάθησης έχουν ένα κοινό χαρακτηριστικό , το διαχωρισμό των στοιχείων σε ομάδες (clusters) τα οποία στη συνέχεια χρησιμοποιούν για την εκπαίδευση και δοκιμή των μοντέλων πρόβλεψης.
Στη παρούσα εργασία αυτές οι ομάδες είναι τα καλοήθη από τα κακοήθη κύτταρα ενός όγκου, με στόχο τον εντοπισμό και τη διάκριση του κακοήθους καρκίνου από τον καλοήθη με την χρήση των παρακάτω τεχνικών.
Μοντέλα Πρόβλεψης
Στα πλαίσια της εργασίας θα χρησιμοποιηθούν επτά διαφορετικά μοντέλα μηχανικής μάθησης για την κατηγοριοποίηση και πρόβλεψη της νόσου.
Από τα μοντέλα αυτά θα γίνει η επιλογή 8 χαρακτηριστικών μεθόδων για την εξαγωγή των αποτελεσμάτων.
Έτσι, για κάθε μοντέλο το οποίο θα "τρέξει" για κάθε μια από τις 8 παραπάνω μεθόδους θα προκύψουν συνολικά 56 μοντέλα από τα οποία μετά από σύγκριση των αποτελεσμάτων θα επιλεγεί το καλύτερο.
Επεξήγηση Μοντέλων & Μεθόδων
Logistic Regration
Random Forest Classifier
Gradient Boosting Classifier
Extra trees Classifier
XGB Classifier
KNN Classifier
SVM - Support Vector Machine
Μεθοδολογία
Προέλευση Δεδομένων
Επεξεργασία - Καθαρισμός Δεδομένων
Εισαγωγή των κατάλληλων βιβλιοθηκών
Εισαγωγή δεδομένων
Πρωταρχικός Έλεγχος Δεδομένων
Εξαγωγή διαστάσεων πίνακα
Σύμφωνα με το παραπάνω αποτέλεσμα, παρατηρείται ότι το μέγεθος του δείγματος είναι 569 καταχωρίσεις με 33 χαρακτηριστικά/μεταβλητές η καθεμία από αυτές.
Έλεγχος για μηδενικές ή κενές τιμές
Έλεγχος για διπλότυπες τιμές
Απόρριψη στηλών που δε θα χρησιμοποιηθούν από το δείγμα
Αρχικά, θα γίνει εμφάνιση των στηλών που αποτελούν το πίνακα δεδομένων.
Αφαίρεση NaN τιμών
Προσδιορισμός στηλών με διπλότυπο περιεχόμενο
Σύμφωνα με το παραπάνω αποτέλεσμα κάθε σειρά των δεδομένων αντιπροσωπεύει μια παρατήρηση για έναν ασθενή και οι στήλες περιέχουν τις μεταβλητές.
Ανάλυση Δεδομένων
Βασική Στατιστική Εικόνα του Δείγματος
Οπτικοποίηση των δεδομένων
Για την οπτικοποίηση των δεδομένων θα γίνει χρήση του πακέτου seaboarn το οποίο επιτρέπει την ευέλικτη χρήση διάφορων τύπων γραφημάτων. Κάποια από τα γραφήματα που ακολουθούν είναι τα διαγράμματα Violin και Swarm.
Πάντα πριν την οπτικοποίηση των δεδομένων καλό είναι να προηγείται η κανονικοποίηση των στοιχείων ώστε να είναι εφικτή η δημιουργία μιας άρτιας γραφικής παράστασης χωρίς απώλεια δεδομένων.
Violin plot
Το γράφημα που ακολουθεί αφορά την οπτικοποίηση 3 ομάδων που το καθένα από αυτά αφορά 10 χαρακτηριστικά του δείγματος.
Ας ερμηνεύσουμε το παραπάνω γράφημα. Έστω, στο χαρακτηριστικό texture_mean, η διάμεσος του κακοήθους και του καλοήθους φαίνεται σαν διαχωρισμένη, αυτό σημαίνει ότι το στοιχείο ενδεχομένως να μπορεί να χρησιμοποιηθεί από τους αλγόριθμους ταξινόμησης (classification). Ωστόσο, στο χαρακτηριστικό fractal_dimension_mean, η διάμεσος του κακοήθους και του καλοήθους δεν φαίνεται να διαχωρίζεται, επομένως δεν παρέχει πολύ καλές πληροφορίες για ταξινόμηση.
Boxplots
Ας ερμηνεύσουμε ένα ακόμη πράγμα σχετικά με τα παραπάνω γραφήματα. Οι μεταβλητές concavity_worst και concave point_worst φαίνονται παρόμοιες. Πώς μπορούμε να αποφασίσουμε εάν συσχετίζονται μεταξύ τους ή όχι;
Για να μπορέσουμε να συγκρίνουμε δύο χαρακτηριστικά σε βάθος θα χρησιμοποιήσουμε το εργαλείο jointplot, η οποία χρησιμοποιείται για να δείξει την σχέση μεταξύ δύο μεταβλητών. Χρησιμοποιώντας το συντελεστή συσχέτισης Pearson μπορούμε να κρίνουμε αν υπάρχει ή όχι πραγματική συσχέτιση μεταξύ των δύο.
Σύμφωνα με τα παραπάνω παρατηρείται ότι όλες οι μεταβλητές που εξετάστηκαν είναι συσχετιζόμενες, καθώς σε όλες ο δείκτης Pearson είναι >0.05.
Στη περίπτωση μας χρειαζόμαστε σύγκριση περισσότερων χαρακτηριστικών, για το λόγο αυτό θα χρησιμοποιηθεί ένα ομαδοποιημένο γράφημα πλέγματος. Μέσω αυτού θα παρατηρηθεί ότι τα χαρακτηριστικά radius_worst, perimeter_worst και area_worst συσχετίζονται μεταξύ τους.
Pairplots
Για να ελεγχεί η κατανομή μιας μεταβλητής καθώς και η συσχέτιση μεταξύ δύο μεταβλητών γίνεται χρήση των γραφημάτων Pairplot.
Swarm plot
Στα παραπάνω διαγράμματα γίνεται πιο ξεκάθαρη η συσχέτιση των χαρακτηριστικών με εξαίρεση τα χαρακτηριστικά area_worst που στο τελευταίο σμήνος δείχνει ένα πλήρη διαχωρισμό μεταξύ της ομάδας M και B. Ακόμα, στο χαρακτηριστικό smoothness_se στο δεύτερο διάγραμμα σμήνους φαίνεται μια ανάμειξη μεταξύ των δύο group κάτι που κάνει δύσκολη την ταξινόμηση των στοιχείων. Έτσι, για να παρατηρήσουμε με περισσότερη λεπτομέρεια τα ζεύγη θα χρησιμοποιηθεί ένας χάρτης θερμότητας.
Heatmap
Όπως φαίνεται στο παραπάνω διάγραμμα θερμότητας τα χαρακτηριστικά radius_mean, perimeter_mean και area_mean συσχετίζονται μεταξύ τους. Όπως επίσης και τα compactness_mean, concavity_mean και concave points_mean, τα radius_se, perimeter_se και area_se. Ακόμα, τα radius_worst, το perimeter_worst και το area_worst, καθώς επίσης και τα compactness_worst, concavity_worst και concave points_worst. Ομοίως και τα compactness_se, concavity_se και concave points_se, τα texture_mean και texture_worst . Τέλος, και τα area_worst και area_mean συσχετίζονται μεταξύ τους.
Για μεγαλύτερη ακρίβεια στα αποτελέσματα καθώς και για να βρεθούν επιπλέον συσχετιζόμενα χαρακτηριστικά θα χρησιμοποιηθεί ένας τυχαίος ταξινομητή δασών (Random Forest Classifier).
Πίνακας συσχετίσεων
Επιλογή χαρακτηριστικών για μοντελοποίηση
Στην ενότητα αυτή θα γίνει η επιλογή μιας ομάδας χαρακτηριστικών, που θα χ ρησιμοποιηθεί για την δημιουργία των μοντέλων μηχανικής μάθησης που αναφέρθηκαν στην εισαγωγή. Η επιλογή των χαρακτηριστικών θα γίνει σύμφωνα με το πόσο το επιλεγμένο χαρακτηριστικό συμβάλλει περισσότερο στη πρόβλεψη ή στην εξαγωγή του επιθυμητού αποτελέσματος.
Σε τι οφελεί η επιλογή των σωστών μεταβλητών;
Επιλογή μεταβλητών με τη χρήση συσχέτισης
Παραπάνω με την εφαρμογή των θερμικών διαγραμμάτων καταλήξαμε ποιες μεταβλητές είναι συσχετιζόμενες, κάποιες από τις οποίες θα χρησιμοποιηθούν στη δημιουργία των μοντέλων. Οι μεταβλητές επιλέχθηκαν σύμφωνα με την εικόνα τους στα swar plots. Ουσιαστικά, επιλέχθηκαν αυτά που θεωρήθηκαν πιο "καθαρά" για επεξεργασία. Τα δεδομένα που επιλέχθηκαν δίνονται συνοπτικά παρακάτω.
Μέθοδοι επιλογής επικρατέστερων χαρακτηριστικών
1) Μέθοδος Συσχέτισης (Correlation)
Αφαίρεση χαρακτηριστικών με την μεγαλύτερη συσχέτιση
Στη συνέχεια με τη βοήθεια της μεθόδου Random Forest θα γίνει έλεγχος για το κατ ά πόσο η επιλογή των μεταβλητών ήταν σωστή.
Έλεγχος ακρίβειας
Σύμφωνα με τον παραπάνω πίνακα σύγχισης, η ακρίβεια επιλογής των μεταβλητών είναι στο 96%
2) Μέθοδος Chi-square
Σε αυτή τη μέθοδο πρέπει να επιλέξουμε πόσα χαρακτηρι στικά θα χρησιμοποιήσουμε σύμφωνα με τη φιλοσοφία της μεθόδου SelectKBest που χρησιμοποιείται. Για παράδειγμα, το k (αριθμός χαρακτηριστικών) θα είναι 5 ή 10 ή 15; Η απάντηση προκύπτει είτε έπειτα από πολλαπλές δοκιμές ή διαισθητικά. Εδώ προσεγγίζεται διαισθητικά, οπότε επιλέχθηκαν k = 10 χαρακτηριστικά ώστε να προκύψουν τα καλύτερα 10.
Η αρτιότητα της επιλογής των μεταβλητών επιβεβαιώνεται και μετά την εφαρμογή της μεθόδου chi-square, καθώς όπως και στη μέθοδο με την εφαρμογή correlation, έτσι και εδώ προέκυψε ακρίβεια 95%.
3) RFE με τυχαία δάση
Το RFE, χρησιμοποιεί μία από τις μεθόδους ταξινόμησης (τυχαίο δάσος εν προκειμένο) και εκχωρεί βάρη σε καθένα από τα χαρακτηριστικά. Τα χαρακτηριστικά με τα μικρότερα απόλυτα βάρη, αφαιρούνται από τα τρέχοντα χαρακτηριστικά του συνόλου. Αυτή η διαδικασία επαναλαμβάνεται αναδρομικά στο κλαδευμένο σύνολο μέχρι τον επιθυμητό αριθμό χαρακτηριστικών Όπως και στη προηγούμενη μέθοδο, θα χρησιμοποιηθούν 10 χαρακτηριστικά. Ωστόσο, για τον προσδιορισμό των 10 δυνατοτήτων που θα χρησιμοποιηθούν θα εφαρμοστεί η μέθοδος RFE.
Τα 10 καλύτερα χαρακτηριστικά που επιλέχθηκαν από το RFE είναι τα texture_mean, area_mean, smoothness_mean, concavity_mean, area_se, concavity_se, fractal_dimension_se, concavity_worst, symmetry_worst, fractal_dimension_worst.
Τα οποία είναι παρόμοια με την προηγούμενη μέθοδο . Επομένως δεν χρειάζεται να υπολογίσουμε ξανά την ακρίβεια, παρ' όλα αυτά για λόγους επιβεβαίωσης προέκυψε ότι η ακρίβεια είναι πάλι στο 96% όπως και στα προηγούμενα μοντέλα.
4) RFECV με τη χρήση τυχαίων δασών
Έτσι, και εδώ βλέπουμε ότι η ακρίβεια επίσης είναι αρκετά υψηλή αγγίζοντας το 97%.
5) Random Forest
Στη μέθοδο τυχαίας ταξινόμησης δασών υπάρχει μια βασική συνάρτηση που επιλέγει τη σημαντικότητα ενός χαρακτηριστικού (όσο υψηλότερη είναι, τόσο πιο σημαντικό είναι το χαρακτηριστικό).
Για να χρησιμοποιήσετε τη μέθοδο feature_importance, στα δεδομένα εκπαίδευσης δεν θα πρέπει να υπάρχουν συσχετισμένα χαρακτηριστικά. Το τυχαίο δάσος επιλέγει τυχαία σε κάθε επανάληψη. Αυτό σημαίνει ότι η ακολουθία της λίστας σημασίας των χαρακτηριστικών μπορεί να αλλάξει.
6) L1-based (LinearSVC)
7) Extra Trees
8) Vote based selection
Πολυγραμμικότητα (Multicollinearity) - VIF
Η πολυσυγγραμμικότητα αποτελει πρόβλημα σε ένα μοντέλο παλινδρόμησης, επειδή δεν θα ήταν εφικτό να διακρίνουμε μεταξύ των επιμέρους επιδράσεων των ανεξάρτητων μεταβλητών την επιρροής που α σκούν στην εξαρτημένη μεταβλητή. Με τη βοήθεια του μοντέλου VIF (Variable Inflation Factors) μπορούμε να καθορίσουμε που υπάρχει πρόβλημα.
Εξαγωγή δεδομένων με τη τεχνική PCA
Θα χρησιμοποιήσουμε την ανάλυση βασικών συνιστωσών (PCA) για την εξαγωγή χαρακτηριστικών. Πριν από το PCA, π ρέπει να κανονικοποιήσουμε τα δεδομένα για καλύτερη απόδοση του PCA.
Σύμφωνα με τη διακύμανση φαίνεται ότι επιλέχθηκαν 3 χαρακτηριστικά.
Μοντέλα Μηχανικής Μάθησης
Συνάρτηση για τη φόρτωση και προετοιμασία δεδομένων
Παρόλο που τα δεδομένα έχουν ήδη επεξεργαστεί, θα δημιουργηθεί μια επιπλέον συνάρτηση η οποία θα εισάγει εκ νέου τα δεδομένα ώστε να τα προσαρμόσει κατάλληλα στις ανάγκες των μοντέλων. Όπως για παράδειγμα την αντικατάσταση των χαρακτήρων Β & Μ με 0 και 1 ώστε να μπορούν να προσπελαστούν ευκολότερα από τα μοντέλα μηχανικής μάθησης που θα δημιουργηθούν στην συνέχεια.
Προσδιορισμός των χαρακτηριστικών που θα επιλεγούν
Στη συνέχεια θα προσδιοριστούν τα χαρακτηριστικά που εξήχθηκαν προς επιλογή παραπάνω ανά μέθοδο .
Επιλογή μεθόδου
Καμπύλες ROC και καμπύλες Ακρίβειας-Ανάκλησης
Επιλογή χαρακτηριστικού γνωρίσματος
Σύνοψη μετρήσεων για το επιλεγμένο μοντέλο
Δημιουργία πίνακα σύγχισης
Ανάλυση EDA
Δημιουργία μοντέλων
Προσδιορισμός ταξινομητών (classifiers)
Υλοποίηση μοντέλων
Συμπεράσματα
Έτσι, τα πιο σημαντικά χαρακτηριστικά για την πρόβλεψη κακοήθους ή καλοήθους όγκου για καρκινοπαθείς που λαμβάνονται με αλγόριθμους είναι τα texture_mean, area_mean, concavity_mean, area_se, concavity_se, fractal_dimension_se, smoothness_worst, concavity_worst, symmetry_worst_worst, fractal_worst.
Για να ληφθούν καλύτερα αποτελέσματα από το προγνωστικό μοντέλο, πολλά διαφορετικά μοντέλα εκπαιδεύονται, βελτιστοποιούνται και αξιολογούνται χρησιμοποιώντας 16 σετ χαρακτηριστικών. Κατά τη διάρκεια αυτής της διαδικασίας, το ίδιο το σύνολο χαρακτηριστικών καταργείται χρησιμοποιώντας μεθόδους ειδικές για το μοντέλο.
Κάθε μοντέλο και υποσύνολο χαρακτηριστικών αξιολογείται χρησιμοποιώντας την Ακρίβεια, AUC και ευαισθησία χρησιμοποιώντας πενταπλάσια διασταυρούμενη επικύρωση.
Τα καλύτερα αποτελέσματα επιτυγχάνονται με την λογιστική παλινδρόμηση, με το σύνολο χαρακτηριστικών τυχαίων δασών να συλλέγεται σε 10 χαρακτηριστικά. Ο παραπάνω πίνακας δείχνει τα μέτρα απόδοσης των τεχνικών ταξινόμησης. Η λογιστική παλινδρόμηση πέτυχε ακρίβεια και AUC 0,977 και 0,971 στα δεδομένα δοκιμής.
Βελτιστοποίηση Παραμέτρων
Χρησιμοποιώντας τη μέθοδο RandomizedSearchCV του Scikit-Learn, μπορούμε να ορίσουμε ένα πλέγμα περιοχών υπερπαραμέτρων και να κάνουμε τυχαία δειγματοληψία από το πλέγμα, εκτελώντας K-Fold CV με κάθε συνδυασμό τιμών. Αυτό έχει ως αποτέλεσμα τη βελτιστοποίηση των αποτελεσμάτων καθώς το μοντέλο εκπαιδεύεται εκ νέου σε τυχαία δείγματα ώστε να επιτύχει την καλύτερη δυνατή πρόβλεψη.
Logistic Regression
XGBoost
Gradient Boost Classifier
Random Forest
Ορισμός πλέγματος υπερπαραμέτρων για το RandomizedSearchCV
Για να χρησιμοποιήσουμε το RandomizedSearchCV, εδώ, έχουμε ορίσει λεξικό μοντέλων και ένα λεξικό παραμέτρων για καθένα από τα μοντέλα για την βοηθητική κλάση που ακολουθεί.
Εκπαίδευση των μοντέλων με το RandomizedSearchCV
Αξιολόγηση των μοντέλων για RandomizedSearchCV
Ορισμός πλέγματος υπερπαραμέτρων για το GridSearchCV
Ορισμός πλέγματος για το GridSearchCV
Εκπαίδευση των μοντέλων για το GridSearchCV
Αξιολόγηση των μοντέλων