0 0 0 Εισαγωγή Ταξινόμηση (classification) Το γενικό πρόβλημα της ανάθεσης ενός αντικειμένου σε μια ή περισσότερες προκαθορισμένες κατηγορίες (κλάσεις) Ταξινόμηση Οι διαφάνειες στηρίζονται στο P.-N. Tan, M.Steinbach, V. Kumar, «Introduction to Data Mining», Addison Wesley, 006 Παραδείγματα Εντοπισμός spam emails, με βάση πχ την επικεφαλίδα τους ή το περιεχόμενο τους Πρόβλεψη καρκινικών κυττάρων χαρακτηρίζοντας τα ως καλοήθη ή κακοήθη Κατηγοριοποίηση συναλλαγών με πιστωτικές κάρτες ως νόμιμες ή προϊόν απάτης Κατηγοριοποίηση δευτερευόντων δομών πρωτείνης ως alpha-helix, beta-sheet, ή random coil Χαρακτηρισμός ειδήσεων ως οικονομικές, αθλητικές, πολιτιστικές, πρόβλεψης καιρού, κλπ Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ Ορισμός Ορισμός Είσοδος: συλλογή από εγγραφές Κάθε εγγραφή περιέχει ένα σύνολο από γνωρίσματα (attributes) Ένα από τα γνωρίσματα είναι η κλάση (class) Βρες ένα μοντέλο (model) για το γνώρισμα κλάση ως μια συνάρτηση των τιμών των άλλων γνωρισμάτων Στόχος: νέες εγγραφές θα πρέπει να ανατίθενται σε μία κλάση με τη μεγαλύτερη δυνατή ακρίβεια. Tid κατηγορικό κατηγορικό Επιστροφή Οικογενειακή Κατάσταση συνεχές Φορολογητέο Εισόδημα Single 5K Married 00K 3 Single 70K 4 Married 0K Απάτη 5 Divorced 95K 6 Married 60K 7 Divorced 0K 8 Single 85K 9 Married 75K 0 Single 90K κλάση Είσοδος: συλλογή από εγγραφές Κάθε εγγραφή περιέχει ένα σύνολο από γνωρίσματα (attributes) Ένα από τα γνωρίσματα είναι η κλάση (class) Βρες ένα μοντέλο (model) για το γνώρισμα κλάση ως μια συνάρτηση των τιμών των άλλων γνωρισμάτων Στόχος: νέες εγγραφές θα πρέπει να ανατίθενται σε μία κλάση με τη μεγαλύτερη δυνατή ακρίβεια. Ταξινόμηση είναι η διαδικασία εκμάθησης μιας συνάρτησης στόχου (target function) f που απεικονίζει κάθε σύνολο γνωρισμάτων x σε μια από τις προκαθορισμένες ετικέτες κλάσεις y. Συνήθως το σύνολο δεδομένων χωρίζεται σε ένα σύνολο εκπαίδευσης (training set) και ένα σύνολο ελέγχου (test test) Το σύνολο εκπαίδευσης χρησιμοποιείται για να κτιστεί το μοντέλο και το σύνολο ελέγχου για να το επικυρώσει. Σύνολο εγγραφών (x) Μοντέλο Ταξινόμησης Ετικέτα κλάσης (y) Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 3 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 4 Εισαγωγή Τεχνικές Ταξινόμησης Χρησιμοποιείται ως: Περιγραφικό μοντέλο (descriptive modeling): ως επεξηγηματικό εργαλείο πχ ποια χαρακτηριστικά κάνουν ένα ζώο να χαρακτηριστεί ως θηλαστικό Μοντέλο πρόβλεψης (predictive modeling): για τη πρόβλεψη της κλάσης άγνωστων εγγραφών πχ δοσμένων των χαρακτηριστικών κάποιου ζώου να προβλέψουμε αν είναι θηλαστικό, πτηνό, ερπετό ή αμφίβιο Βήματα Ταξινόμησης Tid Attrib Attrib Attrib3 Class Large 5K Medium 00K 3 Small 70K 4 Medium 0K 5 Large 95K Επαγωγή Induction Αλγόριθμος Μάθησης Ταιριάζει δεδομένα εκπαίδευσης Προβλέπει την κλάση των δεδομένων ελέγχου Καλή δυνατότητα γενίκευσης Κατάλληλη κυρίως για: δυαδικές κατηγορίες ή κατηγορίες για τις οποίες δεν υπάρχει διάταξη διακριτές (nominal) vs διατεταγμένες (ordinal) για μη ιεραρχικές κατηγορίες 6 Medium 60K 7 Large 0K 8 Small 85K 9 Medium 75K 0 Small 90K Σύνολο Εκπαίδευσης Attrib Attrib Attrib3 Tid Class Small 55K? Αφαίρεση Deduction Κατασκευή Μοντέλου Εφαρμογή Μοντέλου Μοντέλο Η τιμή (ετικέτα) της κλάσης y είναι διακριτή τιμή - ιαφορά από regression (οπισθοδρόμηση) όπου το γνώρισμα y παίρνει συνεχείς τιμές Medium 80K? 3 Large 0K? 4 Small 95K? 5 Large 67K? Σύνολο Ελέγχου Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 5 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 6
Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 7 0 0 0 0 Ορισμός Τεχνικές ταξινόμησης Τεχνικές βασισμένες σε έντρα Απόφασης (decision trees) Τεχνικές βασισμένες σε Κανόνες -Rule-based Methods Memory based reasoning Νευρωνικά ίκτυα Naïve Bayes and Bayesian Belief Networks Support Vector Machines έντρα Απόφασης Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 8 έντρο Απόφασης: Παράδειγμα έντρο Απόφασης: Παράδειγμα Tid Marital categorical categorical Single 5K Married 00K 3 Single 70K 4 Married 0K 5 Divorced 95K 6 Married 60K 7 Divorced 0K 8 Single 85K 9 Married 75K 0 Single 90K εδομένα Εκπαίδευσης continuous class Φύλλα στα οποία αντιστοιχεί μια (ετικέτα) κλάσης Ρίζα Γνωρίσματα ιαχωρισμού Splitting Attributes TaxInc Single, Divorced MarSt < 80K > 80K YES Μοντέλο: έντρο Απόφασης Εσωτερικοί κόμβοι Married Εσωτερικοί κόμβοι αντιστοιχούν σε κάποιο γνώρισμα ιαχωρισμός (split) ενός κόμβου σε παιδιά η ετικέτα στην ακμή = συνθήκη/έλεγχος Φύλλα αντιστοιχούν σε κλάσεις Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 9 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 0 έντρο Απόφασης: Βήματα έντρο Απόφασης: Εφαρμογή Μοντέλου Tid Attrib Attrib Attrib3 Class Ξεκίνα από τη ρίζα του δέντρου. Test Data Marital Large 5K Medium 00K 3 Small 70K 4 Medium 0K 5 Large 95K Married 80K? 6 Medium 60K 7 Large 0K 8 Small 85K 9 Medium 75K 0 Small 90K Learn Model MarSt Single, Divorced Married Tid Attrib Attrib Attrib3 Class Small 55K? Medium 80K? Apply Model Δέντρο Απόφασης TaxInc < 80K > 80K 3 Large 0K? 4 Small 95K? 5 Large 67K? YES Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ
Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 3 0 0 0 0 0 0 0 έντρο Απόφασης: Εφαρμογή Μοντέλου έντρο Απόφασης: Εφαρμογή Μοντέλου Test Data Test Data Marital Marital Married 80K? Married 80K? MarSt MarSt Single, Divorced Married Single, Divorced Married TaxInc TaxInc < 80K > 80K < 80K > 80K YES YES Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 4 έντρο Απόφασης: Εφαρμογή Μοντέλου έντρο Απόφασης: Εφαρμογή Μοντέλου Test Data Test Data Marital Marital Married 80K? Married 80K? MarSt MarSt Single, Divorced Married Single, Divorced Married TaxInc TaxInc < 80K > 80K < 80K > 80K YES YES Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 5 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 6 έντρο Απόφασης: Εφαρμογή Μοντέλου έντρο Απόφασης Test Data Marital Married 80K? Tid Attrib Attrib Attrib3 Class Large 5K Medium 00K 3 Small 70K 4 Medium 0K 5 Large 95K Induction Tree Induction algorithm MarSt Single, Divorced TaxInc < 80K > 80K Married Ανάθεση στο 6 Medium 60K 7 Large 0K 8 Small 85K 9 Medium 75K 0 Small 90K Training Set Attrib Attrib Tid Attrib3 Class Small 55K? Learn Model Apply Model Model Decision Tree YES Medium 80K? 3 Large 0K? 4 Small 95K? Deduction 5 Large 67K? Test Set Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 7 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 8
0 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 9 0 0 Tid Marital έντρο Απόφασης: Παράδειγμα έντρο Απόφασης: Κατασκευή Single 5K Married 00K 3 Single 70K 4 Married 0K 5 Divorced 95K 6 Married 60K 7 Divorced 0K 8 Single 85K 9 Married 75K 0 Single 90K TaxInc ιαφορετικά δέντρα για το ίδιο σύνολο εκπαίδευσης Single, Divorced MarSt < 80K > 80K Married MarSt Single, Divorced < 80K TaxInc > 80K YES Ο αριθμός των πιθανών έντρων Απόφασης είναι εκθετικός. Πολλοί αλγόριθμοι για την επαγωγή (induction) του δέντρου η οποίοι ακολουθούν μια greedy στρατηγική κτίζοντας το δέντρο απόφασης παίρνοντας μια σειρά από τοπικά βέλτιστες αποφάσεις Hunt s Algorithm (από τους πρώτους) CART ID3, C4.5 SLIQ, SPRINT YES Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 0 Κτίζει το δέντρο αναδρομικά έντρο Απόφασης: Αλγόριθμος του Hunt D t : το σύνολο των εγγραφών εκπαίδευσης που έχουν φτάσει στον κόμβο t Γενική ιαδικασία: Αν το D t περιέχει εγγραφές που ανήκουν στην ίδια κλάση y t, τότε ο κόμβος t είναι κόμβος φύλλο με ετικέτα y t Αν D t είναι το κενό σύνολο, τότε ο κόμβος t είναι κόμβος φύλλο με ετικέτα την default κλάση, y d Αν το D t περιέχει εγγραφές που ανήκουν σε περισσότερες από μία κλάσεις, χρησιμοποίησε έναν έλεγχο-γνωρίσματος για το διαχωρισμό των δεδομένων σε μικρότερα υποσύνολα Εφάρμοσε την ιαδικασία αναδρομικά σε κάθε υποσύνολο. Tid Marital Single 5K Married 00K 3 Single 70K 4 Married 0K Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 5 Divorced 95K 6 Married 60K 7 Divorced 0K 8 Single 85K 9 Married 75K 0 Single 90K? D t Don t Don t Single, Divorced Don t Marital έντρο Απόφασης: Αλγόριθμος του Hunt Married Don t Don t Don t Single, Divorced Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ Marital < 80K >= 80K Don t Married Don t Tid Marital Single 5K Married 00K 3 Single 70K 4 Married 0K 5 Divorced 95K 6 Married 60K 7 Divorced 0K 8 Single 85K 9 Married 75K 0 Single 90K έντρο Απόφασης: Αλγόριθμος του Hunt έντρο Απόφασης: Κατασκευή έντρου Γενική ιαδικασία (πιο αναλυτικά): Αν το D t περιέχει εγγραφές που ανήκουν στην ίδια κλάση y t, τότε ο κόμβος t είναι κόμβος φύλλο με ετικέτα y t Αν D t είναι το κενό σύνολο, αυτό σημαίνει ότι δεν υπάρχει εγγραφή στο σύνολο εκπαίδευσης με αυτό το συνδυασμό τιμών, τότε φύλλο με κλάση αυτής της πλειοψηφίας των εγγραφών εκπαίδευσης ή ανάθεση κάποιας default κλάσης Αν το D t περιέχει εγγραφές που ανήκουν σε περισσότερες από μία κλάσεις, χρησιμοποίησε έναν έλεγχο-γνωρίσματος για το διαχωρισμό των δεδομένων σε μικρότερα υποσύνολα Εφάρμοσε την ιαδικασία αναδρομικά σε κάθε υποσύνολο. Το παραπάνω δεν είναι δυνατόν αν όλες οι εγγραφές έχουν τις ίδιες τιμές σε όλα τα γνωρίσματα (δηλαδή, ο ίδιος συνδυασμός αντιστοιχεί σε περισσότερες από μία κλάσεις) τότε φύλλο με κλάση αυτής της πλειοψηφίας των εγγραφών εκπαίδευσης Greedy στρατηγική. ιάσπαση εγγραφών με βάση έναν έλεγχο γνωρίσματος που βελτιστοποιεί ένα συγκεκριμένο κριτήριο Θέματα Καθορισμός του τρόπου διαχωρισμού των εγγραφών Καθορισμός του ελέγχου γνωρίσματος Καθορισμός του βέλτιστου διαχωρισμού Πότε θα σταματήσει ο διαχωρισμός (συνθήκη τερματισμού) Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 3 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 4
Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 5 έντρο Απόφασης: Κατασκευή έντρου έντρο Απόφασης: Κατασκευή έντρου Greedy στρατηγική. ιάσπαση εγγραφών με βάση έναν έλεγχο γνωρίσματος που βελτιστοποιεί ένα συγκεκριμένο κριτήριο Θέματα Καθορισμός του τρόπου διαχωρισμού των εγγραφών Καθορισμός του ελέγχου γνωρίσματος Καθορισμός του βέλτιστου διαχωρισμού Πότε θα σταματήσει ο διαχωρισμός (συνθήκη τερματισμού) Καθορισμός των συνθηκών του ελέγχου για τα κατηγορήματα Εξαρτάται από τον τύπο των γνωρισμάτων ιακριτές -minal ιατεταγμένες -Ordinal Συνεχείς - Continuous Εξαρτάται από τον αριθμό των διαφορετικών τρόπων διάσπασης -αδική διάσπαση --way split Πολλαπλή διάσπαση -Multi-way split Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 6 Πολλαπλός διαχωρισμός: Χρησιμοποίησε τόσες διασπάσεις όσες οι διαφορετικές τιμές {Sports, Luxury} CarType έντρο Απόφασης: Κατασκευή έντρου ιαχωρισμός βασισμένος σε διακριτές τιμές {Family} Η CarType Family Luxury Sports υαδικός ιαχωρισμός: Χωρίζει τις τιμές σε δύο υποσύνολα. Πρέπει να βρει το βέλτιστο διαχωρισμό (partitioning). Γενικά, αν κ τιμές, κ- τρόποι Αυτός ο διαχωρισμός; {Small, Large} Size {Family, Luxury} {Medium} CarType {Sports} Όταν υπάρχει διάταξη, πρέπει οι διασπάσεις να μη την παραβιάζουν Τρόποι χειρισμού έντρο Απόφασης: Κατασκευή έντρου ιαχωρισμός βασισμένος σε συνεχείς τιμές Discretization (διακριτοποίηση) ώστε να προκύψει ένα διατεταγμένο κατηγορικό γνώρισμα Ταξινόμηση των τιμών και χωρισμός τους σε περιοχές καθορίζοντας n σημεία διαχωρισμού, απεικόνιση όλων των τιμών μιας περιοχής στην ίδια κατηγορική τιμή Στατικό μια φορά στην αρχή υναμικό εύρεση των περιοχών πχ έτσι ώστε οι περιοχές να έχουν το ίδιο διάστημα ή τις ίδιες συχνότητες εμφανίσεις ή με χρήση συσταδοποίησης υαδική Απόφαση: (A < v) or (A v) εξετάζει όλους τους δυνατούς διαχωρισμούς και επιλέγει τον καλύτερο υπολογιστικά βαρύ Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 7 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 8 έντρο Απόφασης: Κατασκευή έντρου έντρο Απόφασης: Κατασκευή έντρου ιαχωρισμός βασισμένος σε συνεχείς τιμές Greedy στρατηγική. ιάσπαση εγγραφών με βάση έναν έλεγχο γνωρίσματος που βελτιστοποιεί ένα συγκεκριμένο κριτήριο > 80K? < 0K? > 80K Θέματα Καθορισμός του τρόπου διαχωρισμού των εγγραφών Καθορισμός του ελέγχου γνωρίσματος Καθορισμός του βέλτιστου διαχωρισμού Δυαδικός διαχωρισμός [0K,5K) [5K,50K) [50K,80K) Πολλαπλός διαχωρισμός Πότε θα σταματήσει ο διαχωρισμός (συνθήκη τερματισμού) Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 9 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 30
Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 3 έντρο Απόφασης: Κατασκευή έντρου έντρο Απόφασης: Κατασκευή έντρου Βέλτιστος ιαχωρισμός; Πριν το διαχωρισμό: 0 εγγραφές της κλάσης 0, 0 εγγραφές της κλάσης Βέλτιστος ιαχωρισμός; Greedy προσέγγιση: προτιμούνται οι κόμβοι με ομοιογενείς κατανομές κλάσεων (homogeneous class distribution) Χρειαζόμαστε μία μέτρηση της μη καθαρότητας ενός κόμβου (node impurity) p(i t) ποσοστό εγγραφών της κλάσης i στον κόμβο t Αν δύο κλάσεις p0 και p, p = p0 Ποια συνθήκη ελέγχου είναι καλύτερη; Μη-ομοιογενής, Μεγάλος βαθμός μη καθαρότητας Ομοιογενής, Μικρός βαθμός μη καθαρότητας Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 3 έντρο Απόφασης: Κατασκευή έντρου έντρο Απόφασης: Κατασκευή Κριτήριο για διάσπαση (τι κερδίζουμε): Πριν τη διάσπαση: C0 C N00 N0 M0 Έστω ότι έχουμε ένα μέτρο για τη μέτρηση αυτής της καθαρότητας ενός κόμβου n: I(n) Κοιτάμε την καθαρότητα του γονέα (πριν τη διάσπαση) και των παιδιών του (μετά τη διάσπαση) de N A? de N de N3 B? de N4 Δ = I( parent) k i= N( u ) N i I( u ) i C0 N0 C0 N0 C0 N30 C0 N40 C N C N C N3 C N4 M M M3 M4 N είναι ο αριθμός των εγγραφών στο γονέα και Ν(u i ) του j-οστού παιδιού M Gain (κέρδος) = M0 M vs M0 M34 M34 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 33 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 34 έντρο Απόφασης: Κατασκευή έντρου Μετρήσεις για την επιλογή της καλύτερης διάσπασης μέτρα μη καθαρότητας: Ευρετήριο Gini για τον κόμβο t : Παραδείγματα: GINI( t) = έντρο Απόφασης: GINI c j= [ p( j t)] p( j t) σχετική συχνότητα της κλάσης j στον κόμβο t. Ευρετήριο Gini - Gini Index. Εντροπία - Entropy C 0 C 6 Gini=0.000 C C 5 Gini=0.78 C C 4 Gini=0.444 C 3 C 3 Gini=0.500 3. Λάθος ταξινομήσεις - Misclassification error Μέγιστη τιμή ( - /c) όταν όλες οι εγγραφές είναι ομοιόμορφα κατανεμημένες στις κλάσεις (που σημαίνει τη λιγότερο ενδιαφέρουσα πληροφορία) Ελάχιστη τιμή (0.0) όταν όλες οι εγγραφές ανήκουν σε μία κλάση (που σημαίνει την πιο ενδιαφέρουσα πληροφορία) Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 35 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 36
Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 37 0 έντρο Απόφασης: GINI έντρο Απόφασης: GINI Χρησιμοποιείται στα CART, SLIQ, SPRINT. Όταν ένας κόμβος p διασπάται σε k σύνολα (παιδιά), η ποιότητα του διαχωρισμού υπολογίζεται ως: Ψάχνουμε για: k n Ποιο καθαρές i GINI split = GINI( i) Ποιο μεγάλες (σε i= n αριθμό) μικρές διασπάσεις όπου, n i = αριθμός εγγραφών του παιδιού i, n= αριθμός εγγραφών του κόμβου p. υαδικά Γνωρίσματα de N N N C 4 C 3 3 Gini=0.486 A? de N Gini(N) = (4/7) (3/7) = 0.49 Gini(N) = (/5) (3/5) = 0.48 Parent C 6 C 6 Gini = 0.500 Gini(Children) = 7/ * 0.49 + 5/ * 0.48 = 0.486 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 38 υαδικά Γνωρίσματα de N Gini(N) = (5/7) (/7) = 0.408 Gini(N) = (/5) (4/5) = 0.3 B? έντρο Απόφασης: GINI de N Parent C 6 C 6 Gini(Children) = 7/ * 0.408 + 5/ * 0.3 = 0.37 Gini = 0.500 N N C 5 C 4 Gini=0.37 Με βάση το Α N N C 4 C 3 3 Gini=0.486 Άρα διαλέγουμε το Β Πολλαπλή Διάσπαση Κατηγορικά Γνωρίσματα έντρο Απόφασης: GINI Για κάθε διαφορετική τιμή, μέτρησε τις τιμές στα δεδομένα που ανήκουν για κάθε κλάση Χρησιμοποίησε τον πίνακα με τους μετρητές για να πάρεις την απόφαση CarType Family Sports Luxury C 8 C 3 0 7 Gini 0.63 Δυαδική διάσπαση (βρες τον καλύτερο διαχωρισμό των τιμών) CarType {Sports, {Family} Luxury} C 9 C 7 3 Gini 0.468 CarType {Sports} {Family, Luxury} C 8 C 0 0 Gini 0.67 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 39 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 40 έντρο Απόφασης: GINI έντρο Απόφασης: GINI Συνεχή Γνωρίσματα Χρήση δυαδικών αποφάσεων πάνω σε μία τιμή Πολλές επιλογές για την τιμή διαχωρισμού Αριθμός πιθανών διαχωρισμών = Αριθμός διαφορετικών τιμών έστω Ν Κάθε τιμή διαχωρισμού συσχετίζεται με έναν πίνακα μετρητών Μετρητές των κλάσεων για κάθε μια από τις δύο διασπάσεις, A < v and A v Απλή μέθοδος για την επιλογή της καλύτερης τιμής v Για κάθε v, scan τα δεδομένα κατασκεύασε τον πίνακα και υπολόγισε το Gini ευρετήριο χρόνος Ο(Ν) Ο (Ν ) Υπολογιστικά μη αποδοτικό! Επανάληψη υπολογισμού. Tid Marital Single 5K Married 00K 3 Single 70K 4 Married 0K 5 Divorced 95K 6 Married 60K 7 Divorced 0K 8 Single 85K 9 Married 75K 0 Single 90K Για ποιο αποδοτικό υπολογισμό, για κάθε γνώρισμα Ταξινόμησε το γνώρισμα - Ο(Ν logn) Σειριακή διάσχιση των τιμών, ενημερώνοντας κάθε φορά των πίνακα με τους μετρητές και υπολογίζοντας το ευρετήριο gini Επιλογή του διαχωρισμού με το μικρότερο ευρετήριο gini Sorted Values Split Positions 60 70 75 85 90 95 00 0 5 0 55 65 7 80 87 9 97 0 7 30 <= > <= > <= > <= > <= > <= > <= > <= > <= > <= > <= > 0 3 0 3 0 3 0 3 3 0 3 0 3 0 3 0 3 0 0 7 6 5 3 4 3 4 3 4 3 4 4 3 5 6 7 0 Gini 0.40 0.400 0.375 0.343 0.47 0.400 0.300 0.343 0.375 0.400 0.40 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 4 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 4
0 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 43 Tid Marital Single 5K Married 00K 3 Single 70K 4 Married 0K 5 Divorced 95K 6 Married 60K 7 Divorced 0K 8 Single 85K 9 Married 75K 0 Single 90K Για <55, δεν υπάρχει εγγραφή οπότε 0 Για <65, κοιτάμε το μικρότερο το 60, 0->, 7->6 YES δεν αλλάζει Για <7, κοιτάμε το μικρότερο το 70, ΝΟ -> 6->5, YES δεν αλλάζει κοκ Καλύτερα; Αγνοούμε τα σημεία στα οποία δεν υπάρχει αλλαγή κλάσης (αυτά δε μπορεί να είναι σημεία διαχωρισμού) Άρα, στο παράδειγμα, αγνοούνται τα σημεία 55, 65, 7, 87, 9,, 7, 30 Από πιθανά σημεία διαχωρισμού μας μένουν μόνο έντρο Απόφασης: Εντροπία Εντροπία για τον κόμβο t : Entropy( t) = j= p( j t) σχετική συχνότητα της κλάσης j στον κόμβο t Μετράει την ομοιογένεια ενός κόμβου c p( j t) log p( j t) Sorted Values 60 70 75 85 90 95 00 0 5 0 55 65 7 80 87 9 97 0 7 30 Split Positions <= > <= > <= > <= > <= > <= > <= > <= > <= > <= > <= > 0 3 0 3 0 3 0 3 3 0 3 0 3 0 3 0 3 0 0 7 6 5 3 4 3 4 3 4 3 4 4 3 5 6 7 0 Μέγιστη τιμή log(c) όταν όλες οι εγγραφές είναι ομοιόμορφα κατανεμημένες στις κλάσεις (που σημαίνει τη λιγότερο ενδιαφέρουσα πληροφορία) Ελάχιστη τιμή (0.0) όταν όλες οι εγγραφές ανήκουν σε μία κλάση (που σημαίνει την πιο ενδιαφέρουσα πληροφορία) Gini 0.40 0.400 0.375 0.343 0.47 0.400 0.300 0.343 0.375 0.400 0.40 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 44 C 0 C 6 Παραδείγματα έντρο Απόφασης: Εντροπία Entropy t) p( j t)log p( j t) ( = j P(C) = 0/6 = 0 P(C) = 6/6 = Entropy = 0 log 0 log = 0 0 = 0 έντρο Απόφασης: Εντροπία Υπενθύμιση, όταν ένας κόμβος p διασπάται σε k σύνολα (παιδιά), η ποιότητα του διαχωρισμού υπολογίζεται ως: GAIN split k = Entropy( p) i= όπου, n i = αριθμός εγγραφών του παιδιού i, n= αριθμός εγγραφών του κόμβου p. n i Entropy( i) n C C 5 C C 4 P(C) = /6 P(C) = 5/6 Entropy = (/6) log (/6) (5/6) log (/6) = 0.65 P(C) = /6 P(C) = 4/6 Entropy = (/6) log (/6) (4/6) log (4/6) = 0.9 Χρησιμοποιείται στα ID3 and C4.5. Όταν χρησιμοποιούμε για τη μέτρηση της μη καθαρότητας την εντροπία τότε η διαφορά καλείται κέρδος πληροφορίας (information gain) Τείνει να ευνοεί διαχωρισμούς που καταλήγουν σε μεγάλο αριθμό από διασπάσεις που η κάθε μία είναι μικρή αλλά καθαρή Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 45 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 46 έντρο Απόφασης έντρο Απόφασης: Λόγος Κέρδους Μία λύση είναι να έχουμε μόνο δυαδικές διασπάσεις Δ = I( parent) k i= N( ui) N I( ui) Τείνει να ευνοεί διαχωρισμούς που καταλήγουν σε μεγάλο αριθμό από διασπάσεις που η κάθε μία είναι μικρή αλλά καθαρή Εναλλακτικά, μπορούμε να λάβουμε υπό όψιν μας τον αριθμό των κόμβων GAIN Split GainRATIO = split SplitINFO Όπου: SplitINFO = k i= ni ni log n n Μπορεί να καταλήξουμε σε πολύ μικρούς κόμβους (με πολύ λίγες εγγραφές) για αξιόπιστες προβλέψεις Στο παράδειγμα, το student-id είναι κλειδί, όχι χρήσιμο για προβλέψεις SplitINFO: εντροπία της διάσπασης Μεγάλος αριθμός μικρών διασπάσεων (υψηλή εντροπία) τιμωρείται Χρησιμοποιείται στο C4.5 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 47 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 48
Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 49 έντρο Απόφασης: Λόγος Κέρδους έντρο Απόφασης: Λάθος Ταξινόμησης GainRATIO split GAIN Split = SplitINFO SplitINFO = k i= ni ni log n n Λάθος ταξινόμησης (classification error) για τον κόμβο t : Error( t) = max P( i t) class i Παράδειγμα Έστω N εγγραφές αν τις χωρίσουμε Σε 3 κόμβους SplitINFO = - log(/3) = log3 Σε κόμβους SplitINFO = - log(/) = log = Άρα οι ευνοούνται Μετράει το λάθος ενός κόμβου Μέγιστη τιμή -/c όταν όλες οι εγγραφές είναι ομοιόμορφα κατανεμημένες στις κλάσεις (που σημαίνει τη λιγότερο ενδιαφέρουσα πληροφορία) Ελάχιστη τιμή (0.0) όταν όλες οι εγγραφές ανήκουν σε μία κλάση (που σημαίνει την πιο ενδιαφέρουσα πληροφορία) Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 50 έντρο Απόφασης: Λάθος Ταξινόμησης έντρο Απόφασης: Σύγκριση Για ένα πρόβλημα δύο κλάσεων C 0 C 6 C C 5 C C 4 Παραδείγματα P(C) = 0/6 = 0 P(C) = 6/6 = Error = max (0, ) = = 0 P(C) = /6 P(C) = 5/6 Error = max (/6, 5/6) = 5/6 = /6 P(C) = /6 P(C) = 4/6 Error = max (/6, 4/6) = 4/6 = /3 Error( t) = max P( i t) i p ποσοστό εγγραφών που ανήκει σε μία από τις δύο κλάσεις Όλες μεγαλύτερη τιμή για 0.5 (ομοιόμορφη κατανομή) Όλες μικρότερη τιμή όταν όλες οι εγγραφές σε μία μόνο κλάση (0 και στο ) Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 5 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 5 έντρο Απόφασης: Σύγκριση έντρο Απόφασης: Κατασκευή έντρου Όπως είδαμε και στα παραδείγματα οι τρεις μετρήσεις είναι συνεπής μεταξύ τους, πχ Ν μικρότερη τιμή από το Ν και με τις τρεις μετρήσεις Ωστόσο το γνώρισμα που θα επιλεγεί για τη συνθήκη ελέγχου εξαρτάται από το μια μέτρηση χρησιμοποιείται Greedy στρατηγική. ιάσπαση εγγραφών με βάση έναν έλεγχο γνωρίσματος που βελτιστοποιεί ένα συγκεκριμένο κριτήριο Θέματα Καθορισμός του τρόπου διαχωρισμού των εγγραφών Καθορισμός του ελέγχου γνωρίσματος Καθορισμός του βέλτιστου διαχωρισμού Πότε θα σταματήσει ο διαχωρισμός (συνθήκη τερματισμού) Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 53 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 54
Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 55 έντρο Απόφασης: Κριτήρια Τερματισμού έντρo Απόφασης Πλεονεκτήματα Σταματάμε την επέκταση ενός κόμβου όταν όλες οι εγγραφές του ανήκουν στην ίδια κλάση Σταματάμε την επέκταση ενός κόμβου όταν όλα τα γνωρίσματα έχουν τις ίδιες τιμές Γρήγορος τερματισμός Μη παραμετρική προσέγγιση: ε στηρίζεται σε υπόθεση εκ των προτέρων γνώση σχετικά με τον τύπο της κατανομής πιθανότητας που ικανοποιεί η κλάση ή τα άλλα γνωρίσματα Η κατασκευή του βέλτιστου δέντρου απόφασης είναι ένα NPcomplete πρόβλημα. Ευριστικοί: Αποδοτική κατασκευή ακόμα και στην περίπτωση πολύ μεγάλου συνόλου δεδομένων Αφού το δέντρο κατασκευαστεί, η ταξινόμηση νέων εγγραφών πολύ γρήγορη O(h) όπου h το μέγιστο ύψος του δέντρου Εύκολα στην κατανόηση (ιδιαίτερα τα μικρά δέντρα) Η ακρίβεια τους συγκρίσιμη με άλλες τεχνικές για μικρά σύνολα δεδομένων Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 56 έντρo Απόφασης έντρo Απόφασης Πλεονεκτήματα Στρατηγική αναζήτησης Καλή συμπεριφορά στο θόρυβο Η ύπαρξη πλεοναζόντων γνωρισμάτων (γνωρίσματα των οποίων η τιμή εξαρτάται από κάποιο άλλο) δεν είναι καταστροφική για την κατασκευή. Χρησιμοποιείται ένα από τα δύο. Αν πάρα πολλά, μπορεί να οδηγήσουν σε δέντρα πιο μεγάλα από ότι χρειάζεται Ο αλγόριθμος που είδαμε χρησιμοποιεί μια greedy, top-down, αναδρομική διάσπαση για να φτάσει σε μια αποδεκτή λύση Άλλες στρατηγικές? Bottom-up Bi-directional Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 57 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 58 έντρo Απόφασης έντρo Απόφασης Εκφραστικότητα υνατότητα αναπαράστασης για συναρτήσεις διακριτών τιμών, αλλά δε δουλεύουν σε κάποια είδη δυαδικών προβλημάτων πχ, parity 0() αν υπάρχει μονός (ζυγός) αριθμός από δυαδικά γνωρίσματα d κόμβοι για d γνωρίσματα Όχι καλή συμπεριφορά για συνεχείς μεταβλητές Ιδιαίτερα όταν η συνθήκη ελέγχου αφορά ένα γνώρισμα τη φορά Data Fragmentation ιάσπαση εδομένων Ο αριθμός των εγγραφών μειώνεται όσο κατεβαίνουμε στο δέντρο Ο αριθμός των εγγραφών στα φύλλα μπορεί να είναι πολύ μικρός για να πάρουμε οποιαδήποτε στατιστικά σημαντική απόφαση Μπορούμε να αποτρέψουμε την περαιτέρω διάσπαση όταν ο αριθμός των εγγραφών πέσει κάτω από ένα όριο Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 59 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 60
Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 6 έντρo Απόφασης έντρo Απόφασης Q P S 0 Q 0 Tree Replication (Αντίγραφα) S 0 0 R Το ίδιο υπο-δέντρο να εμφανίζεται πολλές φορές σε ένα δέντρο απόφασης Αυτό κάνει το δέντρο πιο περίπλοκο και πιθανών δυσκολότερο στην κατανόηση Decision Boundary Μέχρι στιγμής είδαμε ελέγχους που αφορούν μόνο ένα γνώρισμα τη φορά, μπορούμε να δούμε τη διαδικασία ως τη διαδικασία διαμερισμού του χώρου των γνωρισμάτων σε ξένες περιοχές μέχρι κάθε περιοχή να περιέχει εγγραφές που να ανήκουν στην ίδια κλάση Η οριακή γραμμή (Border line) μεταξύ δυο γειτονικών περιοχών που ανήκουν σε διαφορετικές κλάσεις ονομάζεται και decision boundary (όριο απόφασης) Σε περιπτώσεις διάσπασης ενός γνωρίσματος σε κάθε εσωτερικό κόμβο ο ίδιος έλεγχος σε διαφορετικά σημεία Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 6 έντρo Απόφασης έντρo Απόφασης Όταν η συνθήκη ελέγχου περιλαμβάνει μόνο ένα γνώρισμα τη φορά τότε το Decision boundary είναι παράλληλη στους άξονες (τα decision boundaries είναι ορθογώνια παραλληλόγραμμα) Oblique (πλάγιο) έντρο Απόφασης x + y < Class = + Class = Οι συνθήκες ελέγχου μπορούν να περιλαμβάνουν περισσότερα από ένα γνωρίσματα Μεγαλύτερη εκφραστικότητα Η εύρεση βέλτιστων συνθηκών ελέγχου είναι υπολογιστικά ακριβή Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 63 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 64 έντρo Απόφασης έντρο Απόφασης: C4.5 Constructive induction Κατασκευή σύνθετων γνωρισμάτων ως αριθμητικών ή λογικών συνδυασμών άλλων γνωρισμάτων Simple depth-first construction. Uses Information Gain Sorts Continuous Attributes at each node. Needs entire data to fit in memory. Unsuitable for Large Datasets. Needs out-of-core sorting. You can download the software from: http://www.cse.unsw.edu.au/~quinlan/c4.5r8.tar.gz Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 65 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 66
Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 67 Θέματα Ταξινόμησης Underfitting and Θέματα στην Ταξινόμηση Εκτίμηση Λάθους Τιμές που λείπουν Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 68 Λάθη Εκπαίδευσης (training, resubstitution, apparent): λάθη ταξινόμησης στα δεδομένα του συνόλου εκπαίδευσης Γενίκευσης (generalization): τα αναμενόμενα λάθη ταξινόμησης του μοντέλου σε δεδομένα που δεν έχει δει Μπορεί ένα μοντέλο που ταιριάζει πολύ καλά με τα δεδομένα εκπαίδευσης να έχει μεγαλύτερο λάθος γενίκευσης από ένα μοντέλο που ταιριάζει λιγότερο καλά στα δεδομένα εκπαίδευσης Δύο κλάσεις: 500 circular and 500 triangular data points. Circular points: 0.5 sqrt(x +x ) Triangular points: sqrt(x +x ) > 0.5 or sqrt(x +x ) < Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 69 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 70 Μπορούμε να διασπάμε το δέντρο μέχρι να φτάσουμε στο σημείο κάθε φύλλο να ταιριάζει απολύτως στα δεδομένα Μικρό (μηδενικό) λάθος εκπαίδευσης Μεγάλο λάθος ελέγχου Το δέντρο απόφασης για το προηγούμενα δεδομένα Και το ανάποδο, μπορεί επίσης να ισχύει 30% εκπαίδευση 70% έλεγχο Gini Στη pruning συνέχεια, Underfitting: όταν το μοντέλο είναι πολύ απλό και τα λάθη εκπαίδευσης και τα λάθη ελέγχου είναι μεγάλα Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 7 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 7
Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 73 εξαιτίας Θορύβου εξαιτίας μη Επαρκών ειγμάτων Decision boundary is distorted by noise point Η έλλειψη σημείων στο κάτω μισό του διαγράμματος κάνει δύσκολη την πρόβλεψη των κλάσεων σε αυτήν την περιοχή Μη επαρκής αριθμός εγγραφών εκπαίδευσης έχει ως αποτέλεσμα το δέντρο απόφασης να κάνει πρόβλεψη για τα σημεία αυτής της περιοχής χρησιμοποιώντας εγγραφές εκπαίδευσης μη σχετικές με το έργο της ταξινόμησης Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 74 Πρόβλημα λόγω πολλαπλών επιλογών Κάποια διάσπαση βελτιώνει το δέντρο κατά τύχη Το πρόβλημα χειροτερεύει όταν αυξάνει ο αριθμός των επιλογών και μειώνεται ο αριθμός των δειγμάτων Το οverfitting έχει ως αποτέλεσμα δέντρα απόφασης που είναι πιο περίπλοκα από ότι χρειάζεται Τα λάθη εκπαίδευσης δεν αποτελούν πια μια καλή εκτίμηση για τη συμπεριφορά του δέντρου σε εγγραφές που δεν έχει δει ξανά Νέοι μέθοδοι για την εκτίμηση του λάθους Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 75 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 76 Εκτίμηση του Λάθους Γενίκευσης Εκτίμηση του Λάθους Γενίκευσης Re-substitution errors: Λάθος στην εκπαίδευση (Σ e(t) ) Generalization errors: Λάθος στον έλεγχο (Σ e (t)) Μέθοδοι εκτίμησης του λάθους γενίκευσης:. Optimistic approach Αισιόδοξη προσέγγιση: e (t) = e(t) Με βάση το λάθος εκπαίδευσης Αριστερό 4/4 = 0.67 εξί: 6/4 = 0.5 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 77 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 78
Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 79 Εκτίμηση του Λάθους Γενίκευσης Εκτίμηση του Λάθους Γενίκευσης. Pessimistic approach - Απαισιόδοξη προσέγγιση: k [ e( ti) + V ( ti)] i= e'( T ) = k n( ti) i Για κάθε φύλλο: e (t) = (e(t)+0.5) Συνολικό λάθος: e (T) = e(t) + N 0.5 (N: αριθμός φύλλων) Για ένα δέντρο με 30 φύλλα και 0 λάθη στο σύνολο εκπαίδευσης (από σύνολο 000 εγγραφών): Training error = 0/000 = % Generalization error = (0 + 30 0.5)/000 =.5% Το 0.5 σημαίνει ότι διαχωρισμός ενός κόμβου δικαιολογείται αν βελτιώνει τουλάχιστον μία εγγραφή Με βάση το λάθος εκπαίδευσης Αριστερό (4 + 7*0.5)/4 = 0.35 εξί: (6 + 4*0.5)/4 = 0.3333 Αν αντί για 0.5, κάτι μεγαλύτερο; Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 80 Εκτίμηση του Λάθους Γενίκευσης Πολυπλοκότητα Μοντέλου 3. Reduced error pruning (REP): χρήση ενός συνόλου επαλήθευσης για την εκτίμηση του λάθους γενίκευσης Χώρισε τα δεδομένα εκπαίδευσης: /3 εκπαίδευση /3 (σύνολο επαλήθευσης validation set) για υπολογισμό λάθους Χρήση για εύρεση του κατάλληλου μοντέλου Occam s Razor οθέντων δυο μοντέλων με παρόμοια λάθη γενίκευσης, πρέπει να προτιμάται το απλούστερο από το πιο περίπλοκο Ένα πολύπλοκο μοντέλο είναι πιο πιθανό να έχει ταιριαστεί (Fitted) τυχαία λόγω λαθών στα δεδομένα Για αυτό η πολυπλοκότητα του μοντέλου θα πρέπει να αποτελεί έναν από τους παράγοντες της αξιολόγησης του Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 8 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 8 Πολυπλοκότητα Μοντέλου Αντιμετώπιση X y X X 0 X 3 0 X 4 X n Minimum Description Length (MDL) A 0 0 A? C? Cost(Model,Data) = Cost(Data Model) + Cost(Model) Cost is the number of bits needed for encoding. Search for the least costly model. Cost(Data Model) encodes the misclassification errors. Cost(Model) uses node encoding (number of children) plus splitting condition encoding. B? B B C C B X y X? X? X 3? X 4? X n? A και Β ένα σύνολο εγγραφών Χ ο Α ξέρει την κλάση κάθε εγγραφής μετάδοση στον Β Pre-Pruning (Early Stopping Rule) Σταμάτα τον αλγόριθμο πριν σχηματιστεί ένα πλήρες δέντρο Συνηθισμένες συνθήκες τερματισμού για έναν κόμβο: Σταμάτα όταν όλες οι εγγραφές ανήκουν στην ίδια κλάση Σταμάτα όταν όλες οι τιμές των γνωρισμάτων είναι οι ίδιες Ποιο περιοριστικές συνθήκες: Σταμάτα όταν ο αριθμός των εγγραφών είναι μικρότερος από κάποιο προκαθορισμένο κατώφλι Σταμάτα όταν η επέκταση ενός κόμβου δεν βελτιώνει την καθαρότητα (π.χ., Gini ή information gain) ή το λάθος γενίκευσης περισσότερο από κάποιο κατώφλι. (-) δύσκολος ο καθορισμός του κατωφλιού, (-) αν και το κέρδος μικρό, κατοπινοί διαχωρισμοί μπορεί να καταλήξουν σε καλύτερα δέντρα Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 83 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 84
Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 85 0 0 0 Post-pruning Ανάπτυξε το δέντρο πλήρως Trim ψαλίδισε τους κόμβους bottom-up Αν το λάθος γενίκευσης μειώνεται με το ψαλίδισμα, αντικατέστησε το υποδέντρο με ένα φύλλο - οι ετικέτες κλάσεις των φύλων καθορίζονται από την πλειοψηφία των κλάσεων των εγγραφών του υποδέντρου (subtree replacement) Αντικατέστησε το υποδέντρο με ένα από τα κλαδιά του (Branch), αυτό που χρησιμοποιείται συχνότερα (subtree raising) Πιθανή χρήση του MDL Παράδειγμα Post-Pruning Class = 0 Class = 0 Error = 0/30 A? A A A3 Class = 8 Class = 4 Class = 4 Class = A4 Class = Class = Training Error (Before splitting) = 0/30 Pessimistic error = (0 + 0.5)/30 = 0.5/30 Training Error (After splitting) = 9/30 Pessimistic error (After splitting) = (9 + 4 0.5)/30 = /30 PRUNE! 5 Class = Class = 3 4 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 86 Παράδειγμα post-pruning Optimistic error? Don t prune for both cases Pessimistic error? Don t prune case, prune case Reduced error pruning? Depends on validation set Case : Case : C0: C: 3 C0: C: 4 Τιμές που λείπουν Οι τιμές που λείπουν επηρεάζουν την κατασκευή του δέντρου με τρεις τρόπους: Πως υπολογίζονται τα μέτρα καθαρότητας Πως κατανέμονται στα φύλλα οι εγγραφές με τιμές που λείπουν Πως ταξινομείται μια εγγραφή εκπαίδευσης στην οποία λείπει μια τιμή C0: 4 C: 3 C0: C: Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 87 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 88 Tid Marital Class Single 5K Married 00K 3 Single 70K 4 Married 0K 5 Divorced 95K 6 Married 60K 7 Divorced 0K 8 Single 85K 9 Married 75K 0? Single 90K Τιμές που λείπουν Υπολογισμό μέτρων καθαρότητας Before Splitting: Entropy(Parent) = -0.3 log(0.3)-(0.7)log(0.7) = 0.883 Class Class = = = 0 3 = 4 =? 0 Split on : Entropy(=) = 0 Entropy(=) = -(/6)log(/6) (4/6)log(4/6) = 0.983 Tid Marital Class Single 5K Married 00K 3 Single 70K 4 Married 0K 5 Divorced 95K 6 Married 60K 7 Divorced 0K 8 Single 85K 9 Married 75K Tid Marital Class 0? Single 90K Σε ποιο φύλλο; Τιμές που λείπουν Probability that = is 3/9 (3 από τις 9 εγγραφές έχουν refund=) Probability that = is 6/9 Assign record to the left child with weight = 3/9 and to the right child with weight = 6/9 Missing value Entropy(Children) = 0.3 (0) + 0.6 (0.983) = 0.55 Gain = 0.9 (0.883 0.55) = 0.3303 Class= 0 Class= 3 = = 4 Class= 0 + 3/9 Class= 3 Class= + 6/9 Class= 4 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 89 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 90
0 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 9 Τιμές που λείπουν Νέα εγγραφή Tid Marital Class Class= Married 3 Single Divorced 0 Total 4? 85K? Class= 6/9.67 Total 3.67 6.67 Single, Divorced TaxInc MarSt < 80K > 80K YES Married Probability that Marital = Married is 3.67/6.67 Probability that Marital ={Single,Divorced} is 3/6.67 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 9 Επιλογή Μοντέλου (model selection): το μοντέλο που έχει την απαιτούμενη πολυπλοκότητα χρησιμοποιώντας την εκτίμηση του λάθους γενίκευσης Αφού κατασκευαστεί μπορεί να χρησιμοποιηθεί στα δεδομένα ελέγχου για να προβλέψει σε ποιες κλάσεις ανήκουν Για να γίνει αυτό πρέπει να ξέρουμε τις κλάσεις των δεδομένων ελέγχου Μέτρα (metrics) για την εκτίμηση της απόδοσης του μοντέλου Πως να εκτιμήσουμε την απόδοση ενός μοντέλου Μέθοδοι για την εκτίμηση της απόδοσης Πως μπορούνε να πάρουμε αξιόπιστες εκτιμήσεις Μέθοδοι για την σύγκριση μοντέλων Πως να συγκρίνουμε τη σχετική απόδοση δύο ανταγωνιστικών μοντέλων Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 93 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 94 Μέτρα (metrics) για την εκτίμηση της απόδοσης του μοντέλου Πως να εκτιμήσουμε την απόδοση ενός μοντέλου Μέθοδοι για την εκτίμηση της απόδοσης Πως μπορούνε να πάρουμε αξιόπιστες εκτιμήσεις Μέθοδοι για την σύγκριση μοντέλων Πως να συγκρίνουμε τη σχετική απόδοση δύο ανταγωνιστικών μοντέλων Έμφαση στην ικανότητα πρόβλεψης του μοντέλου παρά στην αποδοτικότητα (πόσο γρήγορα κατασκευάζει το μοντέλο ή ταξινομεί μια εγγραφή, κλιμάκωση κλπ.) Class= Class= Confusion Matrix (Πίνακας Σύγχυσης) f ij : αριθμός των εγγραφών της κλάσης i που προβλέπονται ως κλάση j PREDICTED Class= f f 0 Class= f 0 f 00 TP (true positive) f FN (false negative) f 0 FP (false positive) f 0 TN (true negative) f 00 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 95 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 96
Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 97 Πιστότητα Πιστότητα (accuracy) Το πιο συνηθισμένο μέτρο PREDICTED Class= Class= Class= TP FN Class= FP TN Μέτρα (metrics) για την εκτίμηση της απόδοσης του μοντέλου Πως να εκτιμήσουμε την απόδοση ενός μοντέλου Μέθοδοι για την εκτίμηση της απόδοσης Πως μπορούνε να πάρουμε αξιόπιστες εκτιμήσεις f + f 00 TP + TN Accuracy = = f + f 00 + f 0 + f 0 TP + TN + FP + FN Λόγος Λάθους Error rate = f f + f 0 00 + f + f 0 0 + f 0 Μέθοδοι για την σύγκριση μοντέλων Πως να συγκρίνουμε τη σχετική απόδοση δύο ανταγωνιστικών μοντέλων Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 98 Μέθοδοι Αποτίμησης Μοντέλου Hold-out ιαμέριση του αρχικού συνόλου σε δύο ξένα σύνολα: Σύνολο εκπαίδευσης Σύνολο Ελέγχου Κατασκευή μοντέλου με βάση το σύνολο εκπαίδευσης Αποτίμηση μοντέλου με βάση το σύνολο ελέγχου (-) Λιγότερες εγγραφές για εκπαίδευση πιθανόν όχι τόσο καλό μοντέλο, όσο αν χρησιμοποιούνταν όλες (-) Το μοντέλο εξαρτάται από τη σύνθεση των συνόλων εκπαίδευσης και ελέγχου όσο μικρότερο το σύνολο εκπαίδευσης, τόσο μεγαλύτερη η variance του μοντέλου όσο μεγαλύτερο το σύνολο εκπαίδευσης, τόσο λιγότερο αξιόπιστη η πιστότητα του μοντέλου που υπολογίζεται με το σύνολο ελέγχου wide confidence interval (-) Τα σύνολα ελέγχου και εκπαίδευσης δεν είναι ανεξάρτητα μεταξύ τους (πχ μια κλάση που έχει πολλά δείγματα στο ένα, θα έχει λίγα στο άλλο και το ανάποδο) Τυχαία Λήψη ειγμάτων Random Subsampling Επανάληψη της μεθόδου για τη βελτίωση της μεθόδου Cross validation ιαμοίραση των δεδομένων σε k διαστήματα Κατασκευή του μοντέλου αφήνοντας κάθε φορά ένα διάστημα ως σύνολο ελέγχου και χρησιμοποιώντας τα υπόλοιπα ως σύνολα εκπαίδευσης Αν k = N, leave-one-out Μέθοδοι Αποτίμησης Μοντέλου Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 99 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 00 Μέθοδοι Αποτίμησης Μοντέλου Μέθοδοι Αποτίμησης Μοντέλου Bootstrap Sample with replacement Μια εγγραφή που επιλέχθηκε ως δεδομένο εκπαίδευσης, ξαναμπαίνει στο αρχικό σύνολο Αν Ν δεδομένα, ένα δείγμα Ν στοιχείων 63.% των αρχικών Πιθανότητα ένα δεδομένο να επιλεγεί (-/Ν) Ν Για μεγάλο Ν, τίνει ασυμπτωτικά στο -ē = 0.63 Οι υπόλοιπες εγγραφές εγγραφές ελέγχου Πως μπορούμε να πάρουμε αξιόπιστες εκτιμήσεις της απόδοσης Η απόδοση ενός μοντέλου μπορεί να εξαρτάται από πολλούς παράγοντες εκτός του αλγορίθμου μάθησης: Κατανομή των κλάσεων Το κόστος της λανθασμένης ταξινόμησης Το μέγεθος του συνόλου εκπαίδευσης και του συνόλου ελέγχου Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 0 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 0
Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 03 Μέθοδοι Αποτίμησης Μοντέλου Καμπύλη Μάθησης (Learning Curve) Ηκαμπύλη μάθησης δείχνει πως μεταβάλλεται η πιστότητα με την αύξηση του μεγέθους του δείγματος Effect of small sample size: Bias in the estimate Variance of estimate Μέτρα (metrics) για την εκτίμηση της απόδοσης του μοντέλου Πως να εκτιμήσουμε την απόδοση ενός μοντέλου Μέθοδοι για την εκτίμηση της απόδοσης Πως μπορούνε να πάρουμε αξιόπιστες εκτιμήσεις Μέθοδοι για την σύγκριση μοντέλων Πως να συγκρίνουμε τη σχετική απόδοση δύο ανταγωνιστικών μοντέλων Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 04 Πιστότητα Έμφαση στην ικανότητα πρόβλεψης του μοντέλου παρά στην αποδοτικότητα (πόσο γρήγορα κατασκευάζει το μοντέλο ή ταξινομεί μια εγγραφή, κλιμάκωση κλπ.) Class= Class= Confusion Matrix (Πίνακας Σύγχυσης) f ij : αριθμός των εγγραφών της κλάσης i που προβλέπονται ως κλάση j PREDICTED Class= f f 0 Class= f 0 f 00 a: TP (true positive) f b: FN (false negative) f 0 c: FP (false positive) f 0 d: TN (true negative) f 00 Πιστότητα (accuracy) Το πιο συνηθισμένο μέτρο Class= Class= f + f 00 TP + TN Accuracy = = f + f 00 + f 0 + f 0 TP + TN + FP + FN Λόγος Λάθους Error rate = f PREDICTED Class= TP FP f + f 0 00 + f + f 0 0 Class= + f FN TN 0 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 05 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 06 Μειονεκτήματα της πιστότητας Θεωρείστε ένα πρόβλημα με κλάσεις Αριθμός παραδειγμάτων της κλάσης 0 = 9990 Αριθμός παραδειγμάτων της κλάσης = 0 Αν ένα μοντέλο προβλέπει οτιδήποτε ως κλάση 0 τότε πιστότητα = 9990/0000 = 99.9 % Πίνακας Κόστους PREDICTED C(i j) Class= Class= Class= C( ) C( ) Class= C( ) C( ) C(i j): κόστος λανθασμένης ταξινόμησης ενός παραδείγματος της κλάσης i ως κλάση j Η πιστότητα είναι παραπλανητική γιατί το μοντέλο δεν προβλέπει κανένα παράδειγμα της κλάσης C(M) = TP x C( ) + FN x C( ) + FP C( ) + TN C( ) Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 07 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 08
Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 09 Υπολογισμός του Κόστους της Ταξινόμησης Cost Matrix Model PREDICTED M + - + 50 40-60 50 Accuracy = 80% Cost = 390 PREDICTED C(i j) + - + - Model M - 00 0 PREDICTED + - C(i j): κόστος λανθασμένης ταξινόμησης ενός παραδείγματος της κλάσης i ως κλάση j + 50 5 Accuracy = 90% Cost = 455-45 00 Ταξινόμηση που λαμβάνει υπό όψιν της το κόστος Κατασκευή έντρου Ταξινόμησης Επιλογή γνωρίσματος στο οποίο θα γίνει η διάσπαση Στην απόφαση αν θα ψαλιδιστεί κάποιο υπο-δέντρο Στον καθορισμό της κλάσης του φύλλου Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 0 Καθορισμός κλάσης Leaf-label = max p(i), το ποσοστό των εγγραφών της κλάσης i που έχουν ανατεθεί στον κόμβο Για δύο κλάσεις, p(+) > 0.5 Στην κλάση που ελαχιστοποιεί το: leaf label = p ( j) C( j, i) j Για δύο κλάσεις: p(+) x C(+, +) + p(+) x C(+, -) p(-) x C(-, -) + p(-) x C(-, +) Αν C(-, -) = C(+, +) = 0 p(+) C(+, -) > p(-) x C(-, +) => Αν C(-, +) < C(+, -), τότε λιγότερο του 0.5 p( + ) > C(, + ) C (, + ) + C ( +, ) Count Cost Κόστος vs Πιστότητας PREDICTED Class= Class= Class= Class= Class= a c Class= p q Class= PREDICTED b d Class= q p Η πιστότητα είναι ανάλογη του κόστους αν:. C( )=C( ) = q. C( )=C( ) = p N = a + b + c + d Accuracy = (a + d)/n Cost = p (a + d) + q (b + c) = p (a + d) + q (N a d) = q N (q p)(a + d) = N [q (q-p) Accuracy] Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ Άλλες μετρήσεις με βάση τον πίνακα σύγχυσης Άλλες μετρήσεις με βάση τον πίνακα σύγχυσης PREDICTED Class= Class= Class= TP FN Class= FP TN PREDICTED Class= Class= Class= TP FN Class= FP TN True positive rate or sensitivity: Το ποσοστό των θετικών παραδειγμάτων που ταξινομούνται σωστά TP TPR = TP + FN False positive rate: Το ποσοστό των αρνητικών παραδειγμάτων που ταξινομούνται λάθος (δηλαδή, ως θετικά) FP FPR = TN + FP True negative rate or specificity: Το ποσοστό των αρνητικών παραδειγμάτων που ταξινομούνται σωστά TN TNR = TN + FP False negative rate: Το ποσοστό των θετικών παραδειγμάτων που ταξινομούνται λάθος (δηλαδή, ως αρνητικά) FN FNR = TP + FN Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 3 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 4
Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 5 Recall (ανάκληση) Precision (ακρίβεια) Recall (ανάκληση) Precision (ακρίβεια) Precision TP p = TP + FP Class= Class= PREDICTED Class= TP FP Class= Πόσα από τα παραδείγματα που ο ταξινομητής έχει ταξινομήσει ως θετικά είναι πραγματικά θετικά Όσο πιο μεγάλη η ακρίβεια, τόσο μικρότερος o αριθμός των FP FN TN Precision Recall TP p = TP + FP TP r = TP + FN Πόσα από τα παραδείγματα που ο ταξινομητής έχει ταξινομήσει ως θετικά είναι πραγματικά θετικά Πόσα από τα θετικά παραδείγματα κατάφερε ο ταξινομητής να βρει Recall TP r = TP + FN Πόσα από τα θετικά παραδείγματα κατάφερε ο ταξινομητής να βρει Όσο πιο μεγάλη η ανάκληση, τόσο λιγότερα θετικά παραδείγματα έχουν ταξινομεί λάθος (=TPR) Συχνά το ένα καλό και το άλλο όχι Πχ, ένας ταξινομητής που όλα τα ταξινομεί ως θετικά, την καλύτερη ανάκληση με τη χειρότερη ακρίβεια Πώς να τα συνδυάσουμε; Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 6 F measure F rp TP = = r + p TP + FP + FN F = / r + / p Αρμονικά, Γεωμετρικά και Αριθμητικά Μέσα Παράδειγμα α=, b=5 Αρμονικό μέσο (Harmonic mean) Τείνει να είναι πιο κοντά στο μικρότερο από τα δύο Υψηλή τιμή σημαίνει ότι και τα δύο είναι είναι ικαναποιητικά μεγάλα Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 7 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 8 TP Precision (p) = TP + FP TP Recall (r) = TP + FN rp TP F- measure (F) = = r + p TP + FN + FP Precision - C( ) & C( ) Recall - C( ) & C( ) F-measure όλα εκτός του C( ) wtp + w4tn Weighted Accuracy = w TP + w FP + w FN + w TN Recall Precision F Accuracy w w 0 w3 0 3 0 0 4 w4 : ROC ROC (Receiver Operating Characteristic Curve) Αναπτύχθηκε στη δεκαετία 950 για την ανάλυση θορύβου στα σήματα Χαρακτηρίζει το trade-off μεταξύ positive hits και false alarms Η καμπύλη ROC δείχνει τα TPR (στον άξονα των y) προς τα FPR (στον άξονα των x) Η απόδοση κάθε ταξινομητή αναπαρίσταται ως ένα σημείο στην καμπύλη ROC TP TPR = TP + FN FP FPR = TN + FP Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 9 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 0
Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ : ROC : ROC (TP,FP): (0,0): declare everything to be negative class (,): declare everything to be positive class (,0): ideal Diagonal line: Random guessing Μια εγγραφή θεωρείται θετική με καθορισμένη πιθανότητα p ανεξάρτητα από τις τιμές των γνωρισμάτων της Καλοί ταξινομητές κοντά στην αριστερή πάνω γωνία του διαγράμματος Κάτω από τη διαγώνιο Πρόβλεψη είναι το αντίθετο της πραγματικής κλάσης TP TPR = TP + FN FP FPR = TN + FP TP TPR = TP + FN FP FPR = TN + FP Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ : ROC Σύγκριση δύο μοντέλων model consistently outperform the other M is better for small FPR M is better for large FPR Area Under the ROC curve Ideal: Area = Random guess: Area = 0.5 Μέτρα (metrics) για την εκτίμηση της απόδοσης του μοντέλου Πως να εκτιμήσουμε την απόδοση ενός μοντέλου Μέθοδοι για την εκτίμηση της απόδοσης Πως μπορούνε να πάρουμε αξιόπιστες εκτιμήσεις Μέθοδοι για την σύγκριση μοντέλων Πως να συγκρίνουμε τη σχετική απόδοση δύο ανταγωνιστικών μοντέλων Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 3 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 4 Έλεγχος Σημαντικότητας (Test of Significance) Έστω δύο μοντέλα: Μοντέλο M: ακρίβεια = 85%, έλεγχος σε 30 εγγραφές Μοντέλο M: ακρίβεια = 75%, έλεγχος σε 5000 εγγραφές Είναι το Μ καλύτερο από το Μ? Πόση εμπιστοσύνη (confidence) μπορούμε να έχουμε για την πιστότητα του Μ και πόση για την πιστότητα του Μ; Μπορεί η διαφορά στην απόδοση να αποδοθεί σε τυχαία διακύμανση του συνόλου ελέγχου; ιάστημα Εμπιστοσύνης για την Ακρίβεια (Confidence Interval) Prediction can be regarded as a Bernoulli trial A Bernoulli trial has possible outcomes Possible outcomes for prediction: correct or wrong Collection of Bernoulli trials has a Binomial distribution: x Bin(N, p) x: number of correct predictions e.g: Toss a fair coin 50 times, how many heads would turn up? Expected number of heads = N p = 50 0.5 = 5 οθέντος του x (# σωστών προβλέψεων) ήισοδύναμα, acc=x/n, και του N (# εγγραφών ελέγχου), Μπορούμε να προβλέψουμε το p (την πραγματική πιστότητα του μοντέλο); Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 5 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 6
Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 7 For large test sets (N > 30), acc has a normal distribution with mean p and variance p(-p)/n P acc p < < α / ) = α p( p) / N ( Zα / Z Area = - α Consider a model that produces an accuracy of 80% when evaluated on 00 test instances: Ποιο είναι το διάστημα εμπιστοσύνης για την πραγματική του πιστότητα με επίπεδο εμπιστοσύνης 95% N=00, acc = 0.8 Let -α = 0.95 (95% confidence) From probability table, Z α/ =.96 Κάνοντας τις πράξεις 7.% - 86.7% -α 0.99 0.98 0.95 0.90 Z.58.33.96.65 Confidence Interval for p: Z α/ Z - α / N p(lower) 50 0.670 00 0.7 500 0.763 000 0.774 5000 0.789 Πλησιάζει το 80% όσο το Ν μεγαλώνει N acc + Zα p = / ± Zα / + 4 N acc 4 N acc ( N + Zα ) / p(upper) 0.888 0.866 0.833 0.84 0.8 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 8 Μέτρα (metrics) για την εκτίμηση της απόδοσης του μοντέλου Πως να εκτιμήσουμε την απόδοση ενός μοντέλου Μέθοδοι για την εκτίμηση της απόδοσης Πως μπορούνε να πάρουμε αξιόπιστες εκτιμήσεις Μέθοδοι για την σύγκριση μοντέλων Πως να συγκρίνουμε τη σχετική απόδοση δύο ανταγωνιστικών μοντέλων Given two models, say M and M, which is better? M is tested on D (size=n), found error rate = e M is tested on D (size=n), found error rate = e Assume D and D are independent Θέλουμε να εξετάσουμε αν η διαφορά d = e -e είναι στατιστικά σημαντική If n and n are sufficiently large, then Approximate e ( e ) i i ˆ σ = i n i e ~ N e ~ N ( μ, σ) ( μ, σ ) Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 9 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 30 To test if performance difference is statistically significant: d = e e d ~ N(d t,σ t ) όπου d t είναι η πραγματική διαφορά Since D and D are independent, their variance adds up: σ = σ + σ ˆ σ + ˆ σ t e( e) e( e) = + n n Παράδειγμα Given: M: n = 30, e = 0.5 M: n = 5000, e = 0.5 d = e e = 0. The estimated variance of the observed difference in error rates ˆ σ d At 95% confidence level, Zα/=.96 d t 0.5( 0.5) 0.5( 0.5) = + = 0.0043 30 5000 = 0.00 ±.96 0.0043 = 0.00 ± 0.8 At (-α) confidence level, d t = d ± Z α / ˆ σ t => Interval contains 0 => difference may not be statistically significant Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 3 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 3
Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 33 0 Από έντρα Απόφασης σε Κανόνες Κανόνες Ταξινόμησης (Classification Rules) (=) ==> Άλλοι Ταξινομητές {Single, Divorced} Marital < 80K > 80K {Married} (=, Marital ={Single,Divorced}, <80K) ==> (=, Marital ={Single,Divorced}, >80K) ==> (=, Marital ={Married}) ==> YES Rules are mutually exclusive and exhaustive Rule set contains as much information as the tree Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 34 Από έντρα Απόφασης σε Κανόνες Από έντρα Απόφασης σε Κανόνες Οι κανόνες μπορεί να απλοποιηθούν Tid Marital {Single, Divorced} Marital < 80K > 80K Initial Rule: YES {Married} Single 5K Married 00K 3 Single 70K 4 Married 0K 5 Divorced 95K 6 Married 60K 7 Divorced 0K 8 Single 85K 9 Married 75K 0 Single 90K (=) (=Married) Rules are no longer mutually exclusive A record may trigger more than one rule Solution? Ordered rule set Unordered rule set use voting schemes Rules are no longer exhaustive A record may not trigger any rules Solution? Use a default class Simplified Rule: (=Married) Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 35 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 36 Ταξινομητές βασισμένοι σε Στιγμιότυπα Ταξινομητές βασισμένοι σε Στιγμιότυπα Μέχρι στιγμής Ταξινόμηση βασισμένη σε δύο βήματα Βήμα : Induction Step Κατασκευή Μοντέλου Ταξινομητή Βήμα : Deduction Step Εφαρμογή του μοντέλου για έλεγχο παραδειγμάτων Eager Learners vs Lazy Learners πχ Instance Based Classifiers (ταξινομητές βασισμένη σε στιγμιότυπα) Μην κατασκευάσεις μοντέλο αν δε χρειαστεί Set of Stored Cases Atr... AtrN Class A B B C A C B Store the training records Use training records to predict the class label of unseen cases Unseen Case Atr... AtrN Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 37 Εξόρυξη Δεδομένων: Ακ. Έτος 006-007 ΤΑΞΙΝΟΜΗΣΗ 38