ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Αποθήκες και Εξόρυξη Δεδομένων 2 Ο Εργαστήριο WEKA (CLASSIFICATION) Στουγιάννου Ελευθερία estoug@unipi.gr
-2- Κατηγοριοποίηση Αποτελεί μια από τις βασικές εργασίες στην εξόρυξη δεδομένων. Βασίζεται στην εξέταση των χαρακτηριστικών ενός αντικειμένου, το όποιο βάση τα χαρακτηριστικά αυτά αντιστοιχίζεται σε ένα προκαθορισμένο σύνολο κλάσεων. Η εργασία της κατηγοριοποίησης χαρακτηρίζεται από έναν καλά καθορισμένο ορισμό των κατηγοριών (κλάσεων) και το σύνολο που χρησιμοποιείται για την εκπαίδευση του μοντέλου, το οποίο αποτελείται από προκατηγοριοποιημένα παραδείγματα. Η βασική εργασία είναι να δημιουργηθεί ένα μοντέλο, το οποίο θα μπορούσε να εφαρμοστεί για να κατηγοριοποιήσει δεδομένα που δεν έχουν ακόμα κατηγοριοποιηθεί (ανάθεση ενός αντικειμένου σε μια ή περισσότερες προκαθορισμένες κατηγορίες -κλάσεις-). Χρησιμοποιούνται κάποιες τεχνικές: Δέντρα Αποφάσεων (Decision Trees) Νευρωνικά Δίκτυα (Neural Networks) K-πλησιέστερων γειτόνων (k-nearest Neighbors, k-nn) Μηχανές Υποστήριξης Διανυσμάτων (Support Vector Machines, SVM) Bayesian μέθοδοι Στηρίζονται στην ιδέα της «εκπαίδευσης» με τη βοήθεια ενός υποσυνόλου δεδομένων (σύνολο εκπαίδευσης).
Παραδείγματα Κατηγοριοποίησης Εντοπισμός spam emails, με βάση π.χ. την επικεφαλίδα τους ή το περιεχόμενό τους. -3- Πρόβλεψη καρκινικών κυττάρων χαρακτηρίζοντας τα ως καλοήθη ή κακοήθη. Κατηγοριοποίηση συναλλαγών με πιστωτικές κάρτες ως νόμιμες ή προϊόν απάτης. Χαρακτηρισμός ειδήσεων ως οικονομικές, αθλητικές, πολιτιστικές, πρόβλεψης καιρού, κλπ.
10-4- Κατηγοριοποίηση: Ορισμός Είσοδος: συλλογή από εγγραφές. Κάθε εγγραφή περιέχει ένα σύνολο από γνωρίσματα (attributes). Ένα από τα γνωρίσματα είναι η κλάση (class). Συνήθως, το σύνολο δεδομένων εισόδου χωρίζεται σε: ένα σύνολο εκπαίδευσης (training set) και ένα σύνολο ελέγχου (test set). Το σύνολο εκπαίδευσης χρησιμοποιείται για να κατασκευαστεί το μοντέλο και το σύνολο ελέγχου για να το επικυρώσει. Έξοδος: ένα μοντέλο (model) για το γνώρισμα κλάση ως μια συνάρτηση των τιμών των άλλων γνωρισμάτων. Στόχος: νέες εγγραφές θα πρέπει να ανατίθενται σε μία από τις κλάσεις με τη μεγαλύτερη δυνατή ακρίβεια. Tid Επιστροφή Οικογενειακή Κατάσταση Φορολογητέο Εισόδημα 1 Yes Single 125K No 2 No Married 100K No 3 No Single 70K No 4 Yes Married 120K No Απάτη 5 No Divorced 95K Yes 6 No Married 60K No 7 Yes Divorced 220K No 8 No Single 85K Yes 9 No Married 75K No 10 No Single 90K Yes
10 10 Βήματα Κατηγοριοποίησης -5-1. Κατασκευή Μοντέλου Χρησιμοποιώντας το σύνολο εκπαίδευσης (εγγραφές που το γνώρισμα της κλάσης είναι προκαθορισμένο). Το μοντέλο μπορεί να είναι ένα δέντρο ταξινόμησης, κανόνες, μαθηματικοί τύποι - Bayesian κατηγοριοποίηση, κλπ). 2. Εφαρμογή Μοντέλου για την ταξινόμηση μελλοντικών ή άγνωστων αντικειμένων. Εκτίμηση της ακρίβειας του μοντέλου με χρήση συνόλου ελέγχου. Accuracy rate: το ποσοστό των εγγραφών του συνόλου ελέγχου που ταξινομούνται σωστά από το μοντέλο. Tid Attrib1 Attrib2 Attrib3 Class 1 Yes Large 125K No 2 No Medium 100K No 3 No Small 70K No 4 Yes Medium 120K No 5 No Large 95K Yes 6 No Medium 60K No 7 Yes Large 220K No 8 No Small 85K Yes 9 No Medium 75K No 10 No Small 90K Yes Σύνολο Εκπαίδευσης Tid Attrib1 Attrib2 Attrib3 Class 11 No Small 55K? 12 Yes Medium 80K? 13 Yes Large 110K? 14 No Small 95K? 15 No Large 67K? Σύνολο Ελέγχου Επαγωγή Induction Αφαίρεση Deduction Αλγόριθμος Μάθησης Κατασκευή Μοντέλου Εφαρμογή Μοντέλου Χαρακτηριστικά Μοντέλου Ταιριάζει δεδομένα εκπαίδευσης. Προβλέπει την κλάση των δεδομένων ελέγχου. Καλή δυνατότητα γενίκευσης. Μοντέλο
-6- Διαδικασία Κατηγοριοποίησης: Κατασκευή Μοντέλου Training Data Classification Algorithms NAM E RANK YEARS TENURED M ike Assistant Prof 3 no M ary A ssistant P rof 7 yes B ill P rofessor 2 yes Jim A ssociate P rof 7 yes Dave Assistant Prof 6 no Anne Associate Prof 3 no Classifier (Model) IF rank = professor OR years > 6 THEN tenured = yes
Διαδικασία Κατηγοριοποίησης: Χρήση Μοντέλου για Πρόβλεψη -7- Classifier Testing Data Unseen Data (Jeff, Professor, 4) NAM E RANK YEARS TENURED Tom Assistant Prof 2 no M erlisa A ssociate P rof 7 no G eorge P rofessor 5 yes Joseph A ssistant P rof 7 yes Tenured?
-8- Εκμάθηση Χτίζεται το μοντέλο περιγράφοντας ένα προκαθορισμένο σύνολο από κατηγορίες δεδομένων. Τα δεδομένα εκπαίδευσης αναλύονται από έναν αλγόριθμο κατηγοριοποίησης για να κατασκευάσουν στη συνέχεια το μοντέλο. Τα στοιχεία αυτά επιλέγονται τυχαία από ένα πληθυσμό δεδομένων και ανήκουν σε μια από τις προκαθορισμένες κατηγορίες. Η κατηγορία των δειγμάτων εκπαίδευσης (κλάση των στιγμιότυπων εκπαίδευσης) είναι γνωστή και το βήμα αυτό λέγεται «εποπτευόμενη μάθηση». Η απόδοση του μοντέλου αξιολογείται με βάση ένα σύνολο δεδομένων ελέγχου (test set).
Βήματα του Data Analysis στον Explorer του WEKA -9- Επιλογή αλγόριθμου Ρυθμίσεις αλγορίθμου Ρυθμίσεις sampling Ρυθμίσεις output Επιλογή class variable Ανάλυση του output
-10- Μέθοδοι Κατηγοριοποίησης στο WEKA - Decision trees - Hidden Markov Models (HMMs) - Support vector machines - Artificial Neural Networks - Bayesian methods -
Δέντρα απόφασης -11- o Δοθέντος ενός συνόλου από instances (with a set of features), δημιουργείται ένα δέντρο με εσωτερικούς κόμβους τα ονόματα των χαρακτηριστικών γνωρισμάτων (features) και με φύλλα τα ονόματα των κλάσεων (classes). Κάθε κλαδί/σύνδεση ονοματίζεται με ένα κατηγόρημα που μπορεί να εφαρμοστεί στο χαρακτηριστικό που αποτελεί το όνομα του κόμβουπατέρα. Πρόκειται ουσιαστικά, για το διαχωρισμό (split) ενός κόμβου σε παιδιά, και η ετικέτα στην ακμή αποτελεί τη συνθήκη/έλεγχο. o Χρήση της τεχνικής «διαίρει και βασίλευε» για διαίρεση του χώρου αναζήτησης σε υποσύνολα (ορθογώνιες περιοχές).
-12- Αλγόριθμοι Δέντρων Απόφασης ID3: διασπά τους κόμβους, επιλέγοντας το γνώρισμα ελέγχου με βάση το πληροφοριακό κέρδος (απαιτεί discretization). C4.5: επέκταση του ID3. Λειτουργεί και σε συνεχή γνωρίσματα (κάνοντας αυτόματα διακριτοποίηση). Κάνει κλάδεμα του δέντρου. J48: Εφαρμογή του C4.5. Aποτελεί έναν αλγόριθμο, ο οποίος δημιουργεί ένα pruned tree, βάσει του οποίου γίνεται classify η κάθε εγγραφή του training set. (Σε αντίθεση με τον ID3, ο J48 δεν απαιτεί discretization των αριθμητικών χαρακτηριστικών). ΠΡΟΣΟΧΗ: Για τα ίδια δεδομένα μπορεί να υπάρχουν παραπάνω από ένα δέντρα απόφασης (μοντέλα).
WEKA Explorer: Classification (1/3) -13- Selecting a Classifier Πατώντας στο επάνω μέρος της καρτέλας αυτής δίνεται το GenericObjectEditor dialog box και επιλέγουμε τον classifier που επιθυμούμε. Οι classifiers στο WEKA είναι μοντέλα για την πρόβλεψη nominal ή numeric εγγραφών. Τα ενσωματωμένα learning schemes περιέχουν: Decision trees και λίστες, instance-based classifiers, support vector machines, multi-layer perceptions, logistic regression, Bayes nets,
-14- WEKA Explorer: Classification (2/3) Επιλογές: Use training set: Ο classifier αποτιμάται στο πόσο καλά μπορεί να προβλέψει την class των instances που εκπαιδεύτηκε. Supplied test set: Ο classifier αποτιμάται στο πόσο καλά προβλέπει την class από το set των instances που φορτώθηκαν από το αρχείο. Cross-validation: Ο classifier αποτιμάται μέσα από τον υπολογισμό του μέσου όρου ακρίβειας για το σύνολο των επαναλήψεων (folds) που του δίνεται και εισάγεται στο ανάλογο πεδίο στην καρτέλα Classify. Percentage split: Ο classifier αποτιμάται στο πόσο καλά προβλέπει ένα certain percentage των δεδομένων που προσφέρονται για testing. Τα δεδομένα αυτά εξαρτώνται από την τιμή που εισάγεται στο πεδίο (ελέγχεται ένα ποσοστό των δεδομένων).
WEKA Explorer: Classification (3/3) Αποτελέσματα: -15- Run information: Πληροφορίες σχετικά με τις επιλογές του learning scheme, relation name, instances, attributes και το test mode που σχετίζονται με τη διαδικασία. Classifier model (full training set): Μια textual αναπαράσταση του classification μοντέλου που δημιουργήθηκε σε όλα τα training data. Summary: Λίστα στατιστικών για το πώς έγινε η πρόβλεψη την true class των instances κάτω από το επιλεγμένο test mode. Detailed Accuracy By Class: Μια πιο λεπτομερής αναφορά ανά class για την ακρίβεια πρόβλεψης του classifier. Confusion Matrix: Δείχνει πόσα instances αντιστοιχίζονται σε κάθε class. Τα στοιχεία δείχνουν τον αριθμό των test examples των οποίων η ακριβής class είναι η γραμμή και των οποίων η προβλεπόμενη class είναι η στήλη.
-16- Κατηγοριοποίηση Επιλογή Ταξινομητή
Κατηγοριοποίηση Καθορισμός Παραμέτρων Ταξινομητή -17-
-18- Ο Αλγόριθμος ID3 (1/3) Είναι ο πιο γνωστός αλγόριθμος μάθησης δένδρων ταξινόμησης. Είναι αναδρομικός και στη γενική του μορφή περιγράφεται ως εξής: Δηλαδή ο ID3 κατασκευάζει το δένδρο άπληστα (greedy) από πάνω προς τα κάτω, επιλέγοντας αρχικά το πιο κατάλληλο χαρακτηριστικό για έλεγχο στη ρίζα. Η επιλογή βασίζεται σε κάποιο στατιστικό μέτρο που υπολογίζεται από τα δεδομένα. Στη συνέχεια, για κάθε δυνατή τιμή του χαρακτηριστικού δημιουργούνται οι αντίστοιχοι απόγονοι της ρίζας και τα δεδομένα μοιράζονται στους νέους κόμβους ανάλογα με την τιμή που έχουν για το χαρακτηριστικό που ελέγχεται στη ρίζα.
Ο Αλγόριθμος ID3 (2/3) -19- Η όλη διαδικασία επαναλαμβάνεται για κάθε νέο κόμβο. Η επιλογή όμως του κατάλληλου χαρακτηριστικού σε κάθε νέο κόμβο αποφασίζεται, χρησιμοποιώντας μόνο τα δεδομένα που ανήκουν σε αυτόν τον κόμβο. Η διαδικασία τερματίζει όταν οι κόμβοι γίνουν τερματικοί (ή φύλλα). Ένας κόμβος γίνεται τερματικός όταν: Όλα τα δεδομένα που ανήκουν σε αυτόν ανήκουν στην ίδια κατηγορία. Η κατηγορία αυτή γίνεται και η τιμή του κόμβου. Ο κόμβος ονομάζεται αμιγής κόμβος (pure node). Σε κάποιο βάθος τελειώσουν τα χαρακτηριστικά προς έλεγχο. Τιμή του κόμβου είναι η κατηγορία στην οποία ανήκει η πλειοψηφία των δεδομένων του κόμβου αυτού. Το βασικότερο στάδιο του αλγορίθμου είναι η επιλογή της ανεξάρτητης μεταβλητής πάνω στην οποία θα συνεχιστεί η ανάπτυξη του δένδρου.
-20- Ο Αλγόριθμος ID3 (3/3) Χρησιμοποιεί σαν κριτήριο για τον προσδιορισμό του «καλύτερου χαρακτηριστικού διάσπασης» το κέρδος πληροφορίας (information gain). Το κέρδος πληροφορίας μετριέται ποσοτικά με την εντροπία (entropy). Η εντροπία εν γένει εκφράζει το μέγεθος της αβεβαιότητας ή έκπληξης ή τυχαιότητας σε ένα σύνολο δεδομένων. Π.χ. αν όλα τα δεδομένα ανήκουν σε μια κλάση, τότε δεν υπάρχει αβεβαιότητα: η εντροπία είναι μηδέν. Το ζητούμενο σ ένα Δ.Α., είναι ο διαχωρισμός του συνόλου εκπαίδευσης, με έναν επαναληπτικό τρόπο, σε υποσύνολα μηδενικής εντροπίας.
Δέντρο Απόφασης: Εντροπία Εντροπία: #bits για την κωδικοποίηση της ετικέτας κλάσης. -21- Εντροπία για τον κόμβο t : Entropy ( t) c j 1 p( j t)log p( j t) 2 p(j t) σχετική συχνότητα της κλάσης j στον κόμβο t c αριθμός κλάσεων Όταν ένας κόμβος p διασπάται σε k σύνολα (παιδιά), η ποιότητα του διαχωρισμού υπολογίζεται ως: GAIN split Entropy ( p) k i 1 n i n Entropy( i) όπου, n i = αριθμός εγγραφών του παιδιού i, n = αριθμός εγγραφών του κόμβου p. Χρησιμοποιείται στα ID3 and C4.5 Όταν χρησιμοποιούμε την εντροπία για τη μέτρηση της μη καθαρότητας τότε η διαφορά καλείται κέρδος πληροφορίας (information gain).
-22- Δέντρα Απόφασης Εντροπία: Παράδειγμα (1/4) Δέντρο απόφασης, το οποίο χτίστηκε χρησιμοποιώντας σαν δεδομένα εκπαίδευσης τα δεδομένα του παρακάτω πίνακα με εξαρτημένη μεταβλητή το «play». Βάσει των δεδομένων εκπαίδευσης του Πίνακα, η μεταβλητή στόχος (play) έχει δύο τιμές, οι οποίες δεν είναι ισοπίθανες. Έχουμε 14 παραδείγματα εκπαίδευσης, από τα οποία τα 9 αντιστοιχούν στην τιμή play=yes και τα 5 στην τιμή play=no. Άρα, η εκ των προτέρων πιθανότητα για την τιμή play=yes είναι P(yes)=0.64, ενώ η πιθανότητα play=no είναι P(no)=0.36. Η Εντροπία είναι: Entropy = - P(no)*log2P(no) - P(yes)*log2P(yes) = -0.64*log20.64-0.36*log20.36=0.64*0.64+0.36*1.47=0.94
Δέντρα Απόφασης Εντροπία: Παράδειγμα (2/4) -23- Για να αποφασίσουμε ποια θα είναι η μεταβλητή στη ρίζα του δένδρου, πρέπει να δούμε πόσο είναι το αναμενόμενο κέρδος, ύστερα από κάθε πιθανή πρώτη ερώτηση. Πρώτη ερώτησή: αφορά το πεδίο «outlook» => 3 πιθανές απαντήσεις: P(sunny) = 5/14 = 0.36, P(overcast) = 4/14 = 0.28, P(rainy) = 5/14 = 0.36 Στην περίπτωση που η απάντηση στην ερώτηση «outlook» είναι «sunny» έχουμε 3/5 = 0.6 πιθανότητα η τελική απάντηση να είναι «no», και 2/5 = 0.4 πιθανότητα η τελική απάντηση να είναι «yes». ΆΡΑ: Entropy outlook=sunny = -0.6*log20.6-0.4*log20.4=0.6*0.74+0.4*1.32=0.97 Στην περίπτωση που η απάντηση στην ερώτηση «outlook» είναι «overcast» έχουμε 0/4 = 0 πιθανότητα η τελική απάντηση να είναι «no», και 4/4 = 1 πιθανότητα η τελική απάντηση να είναι «yes». ΆΡΑ: Entropy outlook=overcast =0 Στην περίπτωση που η απάντηση στην ερώτηση «outlook» είναι «rainy» έχουμε 2/5 = 0.4 πιθανότητα η τελική απάντηση να είναι «no», και 3/5 = 0.6 πιθανότητα η τελική απάντηση να είναι «yes». ΆΡΑ: Entropy outlook=rainy =0.97 bits
-24- Δέντρα Απόφασης Εντροπία: Παράδειγμα (3/4) Άρα, η εντροπία μετά την πρώτη ερώτηση («outlook»): Entropy outlook = P(sunny)* Entropy outlook = sunny + P(overcast) * Entropy outlook =overcast + +P(rainy)*Entropy outlook =rainy = 0.36*0.97+0.28*0+0.36*0.97 = 0.70 Το κέρδος από την ερώτηση «outlook» είναι λοιπόν: Gain outlook = Entropy Entropy outlook = 0.94-0.70 = 0.24 Πρώτη ερώτησή: αφορά το πεδίο «humidity» => 2 πιθανές απαντήσεις: P(high) = 7/14 = 0.5, P(normal) = 7/14 = 0.5 Στην περίπτωση που η απάντηση στην ερώτηση «humidity» είναι «high» έχουμε 4/7 = 0.57 πιθανότητα η τελική απάντηση να είναι «no», και 3/7 = 0.43 πιθανότητα η τελική απάντηση να είναι «yes». ΆΡΑ: Entropy humidity=high = -0.57*log20.57-0.43*log20.43 = 0.57*0.81+0.43*1.22= 0.99. Στην περίπτωση που η απάντηση στην ερώτηση «humidity» είναι «normal» έχουμε 1/7 = 0.14 πιθανότητα η τελική απάντηση να είναι «no», και 6/7 = 0.86 πιθανότητα η τελική απάντηση να είναι «yes». ΆΡΑ: Entropy humidity=normal = -0.86*log20.86-0.14*log20.14=0.86*0.22+0.14*2.84=0.59
-25- Δέντρα Απόφασης Εντροπία: Παράδειγμα (4/4) Άρα, η εντροπία μετά την πρώτη ερώτηση («humidity»): Entropy humidity = P(high)* Entropy humidity = high + P(normal) * Entropy humidity =normal = 0.5*0.99+0.5*0.59 = 0.79 Το κέρδος από την ερώτηση «humidity» είναι λοιπόν: Gain humidity = Entropy Entropy humidity = 0.94-0.79 = 0.15 Από ΟΛΑ τα παραπάνω, φαίνεται ότι, η ερώτηση που θα πραγματοποιηθεί στη ρίζα του δένδρου, αφορά τη μεταβλητή «outlook» (Gain outlook > Gain humidity ). Το Κέρδος (GAIN) έχει προδιάθεση να επιλέγει χαρακτηριστικά με μεγάλο σύνολο τιμών, σε σχέση με άλλα που λαμβάνουν λιγότερες τιμές.
-26- WEKA Classification: J48 - Παράδειγμα 1 Θα χρησιμοποιήσουμε τον J48 classifier. Τα δεδομένα μας θα είναι από πελάτες μιας τράπεζας (bank.arff).
WEKA Classification: J48 - Παράδειγμα 1-27- Επιλέγουμε την καρτέλα Classify. Μετά επιλέγουμε τον J48 classifier (Ο J48 classifier δεν απαιτεί κάποιο discretization των numeric attributes). Κρατάμε τις default ρυθμίσεις για τον αλγόριθμο.
-28- WEKA Classification: J48 - Παράδειγμα 1 Στα "Test options" επιλέγουμε 10-fold cross-validation. - Τα δεδομένα χωρίζονται σε 10 υποσύνολα. - Γίνεται εκπαίδευση χρησιμοποίώντας τα 9 και έλεγχος χρησιμοποιώντας το 1 που περισσεύει. - Επανέλαβε το ίδιο για κάθε πιθανό συνδυσαμό και βγάλε το μέσο όρο. Ξεκινάμε το classification.
WEKA Classification: J48 - Παράδειγμα 1-29- Στην οθόνη βλέπουμε αρχικά την ASCII version του tree και κάποια evaluation statistics. Μπορούμε να δούμε την πληροφορία αυτή, επιλέγοντας "View in separate window".
-30- WEKA Classification: J48 - Παράδειγμα 1 Ερμηνεία Αποτελεσμάτων Η ακρίβεια του classification στο μοντέλο μας είναι περίπου 69%. Αυτό σημαίνει, πως ίσως, χρειάζεται κάποια προεπεξεργασία ή επιλογή συγκεκριμένων παραμέτρων στο classification. Επίσης μπορούμε να δούμε μια γραφική απόδοση του classification tree. Αυτό γίνεται με δεξί κλικ στο αποτέλεσμα αριστερά και επιλέγοντας Visualize tree.
WEKA Classification: J48 - Παράδειγμα 1 Οπτικοποίηση Αποτελεσμάτων/Δέντρου -31-
-32- WEKA Classification: J48 - Παράδειγμα 1 Θα χρησιμοποιήσουμε το μοντέλο αυτό για να κάνουμε κατηγοριοποίηση νέων instances. Θα χρησιμοποιήσουμε τώρα ένα άλλο αρχείο δεδομένων (bank-new.arff), το οποίο έχει κάποιες κενές τιμές (δηλωμένες με? ) που αφορούν το pep attribute. Στο "Test options" επιλέγουμε "Supplied test set. Εκεί φορτώνουμε το νέο αρχείο δεδομένων.
WEKA Classification: J48 - Παράδειγμα 1-33-
-34- WEKA Classification: J48 - Παράδειγμα 1 Ξεκινάμε ξανά το classification. Εδώ γίνεται εφαρμογή του μοντέλου που αρχικά δημιουργήσαμε στα νέα unclassified instances του αρχείου "bank-new.arff", ώστε να γίνει πρόβλεψη για τις ακαθόριστες τιμές του "pep" attribute. Για να δούμε πως έγινε αυτό στα δεδομένα, επιλέγουμε στο αποτέλεσμα με δεξί κλικ το "Visualize classifier errors". Επιλέγουμε το save του νέου αρχείου δεδομένων.
WEKA Classification: J48 - Παράδειγμα 1-35-
-36- WEKA Classification: J48 - Παράδειγμα 1 Το αρχείο αυτό περιέχει τα νέα instances και με μια επιπλέον στήλη για τις τιμές που προέβλεψε ο αλγόριθμος για το attribute "pep".
WEKA Classification: J48 - Παράδειγμα 2 Επιλέξτε και φορτώστε τα δεδομένα από το αρχείο weather.nominal.arff. -37- Ταξινομείστε τα δεδομένα χρησιμοποιώντας τον J48 Ταξινομητή. Πειραματιστείτε με τις παραμέτρους του J48. Οπτικοποιήστε και Παρουσιάστε το Δέντρο. Εξηγείστε τα αποτελέσματα. Εφαρμόστε και άλλους αλγορίθμους κατηγοριοποίησης. Επαναλάβατε τα ίδια, χρησιμοποιώντας το αρχείο weather.arff (numeric attributes).
-38- WEKA Classification: build classifier 1 weather.nominal.arff
WEKA Classification: build classifier 2 weather.arff -39-
-40- WEKA Classification: Πρόβλεψη Class (1/2)
WEKA Classification: Πρόβλεψη Class (2/2) -41-
-42- WEKA Classification: Αποθήκευση Προβλεπόμενης Κλάσης
Παράδειγμα: Δέντρο απόφασης -43- J48 pruned tree ------------------ outlook = sunny humidity = high: no (3.0) humidity = normal: yes (2.0) outlook = overcast: yes (4.0) outlook = rainy windy = TRUE: no (2.0) windy = FALSE: yes (3.0) Number of Leaves : 5 Size of the tree : 8 Attributes / Features Attribute Values Classes
-44- Μάθηση κατά Bayes Στη μάθηση κατά Bayes (Bayesian learning), κάθε παράδειγμα εκπαίδευσης μπορεί σταδιακά να μειώσει ή να αυξήσει την πιθανότητα να είναι σωστή μια υπόθεση. Μια πρακτική δυσκολία στην εφαρμογή της μάθησης κατά Bayes είναι η απαίτηση για τη γνώση πολλών τιμών πιθανοτήτων. Όταν αυτές οι τιμές δεν είναι δυνατό να υπολογιστούν επακριβώς, υπολογίζονται κατ εκτίμηση από παλαιότερες υποθέσεις, εμπειρική γνώση, κτλ. Η παραπάνω δυσκολία εφαρμογής έχει δώσει μεγάλη πρακτική αξία σε μια απλουστευμένη εκδοχή της μάθησης κατά Bayes, τον απλό ταξινομητή Bayes, στον οποίο γίνεται η παραδοχή ότι τα χαρακτηριστικά είναι ανεξάρτητα μεταξύ τους.
Απλός ταξινομητής Bayes -45- Ο απλός ταξινομητής Bayes (simple/naive Bayes classifier) είναι μια πρακτική μέθοδος μάθησης που στηρίζεται σε στατιστικά στοιχεία (κατανομές πιθανότητας). Η ποσότητα P που περιγράφει έναν απλό ταξινομητή Bayes για ένα σύνολο παραδειγμάτων, εκφράζει την πιθανότητα να είναι c η τιμή της εξαρτημένης μεταβλητής C με βάση τις τιμές x=(x1, x2,..., xn) των χαρακτηριστικών X=(X1, X2,..., Xn) και δίνεται από τη σχέση: όπου τα χαρακτηριστικά Χi θεωρούνται ανεξάρτητα μεταξύ τους. * Μπορεί να χρησιμοποιηθεί και για την εξάλειψη των άγνωστων τιμών.
-46- Play-tennis παράδειγμα: Υπολογισμός P(xi C) P(p) = 9/14 P(n) = 5/14 Outlook TemperatureHumidityWindy Class sunny hot high false N sunny hot high true N overcast hot high false P rain mild high false P rain cool normal false P rain cool normal true N overcast cool normal true P sunny mild high false N sunny cool normal false P rain mild normal false P sunny mild normal true P overcast mild high true P overcast hot normal false P rain mild high true N outlook P(sunny p) = 2/9 P(sunny n) = 3/5 P(overcast p) = 4/9 P(overcast n) = 0 P(rain p) = 3/9 P(rain n) = 2/5 temperature P(hot p) = 2/9 P(hot n) = 2/5 P(mild p) = 4/9 P(mild n) = 2/5 P(cool p) = 3/9 P(cool n) = 1/5 humidity P(high p) = 3/9 P(high n) = 4/5 P(normal p) = 6/9 P(normal n) = 1/5 windy P(true p) = 3/9 P(true n) = 3/5 P(false p) = 6/9 P(false n) = 2/5
Play-tennis παράδειγμα: Κατηγοριοποίηση του X -47- Ένα άγνωστο δείγμα X = <rain, hot, high, false> P(X p) P(p) = P(rain p) P(hot p) P(high p) P(false p) P(p) = 3/9 2/9 3/9 6/9 9/14 = 0.010582 P(X n) P(n) = P(rain n) P(hot n) P(high n) P(false n) P(n) = 2/5 2/5 4/5 2/5 5/14 = 0.018286 Το δείγμα X κατηγοριοποιείται στην κλάση n (don t play).
-48- WEKA Classification: Παράδειγμα Bayesian Algorithm (1/6) Επιλέγουμε την καρτέλα Preprocess και επιλέγουμε να ανοίξουμε και να φορτώσουμε το αρχείο iris.arff, που βρίσκεται στο: C:\Program Files\ Weka-3.6\data.
WEKA Classification: Παράδειγμα Bayesian Algorithm (2/6) -49-
-50- WEKA Classification: Παράδειγμα Bayesian Algorithm (3/6)
WEKA Classification: Παράδειγμα Bayesian Algorithm (4/6) -51-
-52- WEKA Classification: Παράδειγμα Bayesian Algorithm (5/6)
WEKA Classification: Παράδειγμα Bayesian Algorithm (6/6) -53- Η απόδοση κάθε ταξινομητή αναπαρίσταται ως ένα σημείο στην καμπύλη ROC (Receiver Operating Characteristic Curve). Χαρακτηρίζει το trade-off μεταξύ positive hits ([TruePositiveRate] στον άξονα των y) και false alarms ([FalsePositiveRate] στον άξονα των x).