ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Αποθήκες και Εξόρυξη Δεδομένων 1 Ο Εργαστήριο Εισαγωγή στο WEKA (Preprocessing Select Attributes) Στουγιάννου Ελευθερία estoug@unipi.gr
-2- ΠΕΡΙΕΧΟΜΕΝΑ Εισαγωγή στην Εξόρυξη Γνώσης Machine Learning Repository. Εκμάθηση και Εξερεύνηση εργαλείου μηχανικής μάθησης: WEKA. Στάδια Προ-επεξεργασίας και Eπιλογής Xαρακτηριστικών (Preprocessing, Select Attributes).
Μηχανική Μάθηση (1/2) Ορισμός: Η δημιουργία μοντέλων ή προτύπων από ένα υπολογιστικό σύστημα. Η μηχανική μάθηση είναι μια περιοχή της τεχνητής νοημοσύνης, η οποία αφορά αλγορίθμους και μεθόδους που επιτρέπουν στους Η/Υ να «μαθαίνουν». -3- Σκοπός = η εξόρυξη δεδομένων. Η μηχανική μάθηση επικαλύπτεται σημαντικά με τη στατιστική, αφού και τα δύο πεδία μελετούν την ανάλυση δεδομένων. Οι αλγόριθμοι μηχανικής μάθησης κατηγοριοποιούνται ως εξής: Επιτηρούμενη μάθηση ή μάθηση με επίβλεψη (supervised learning), όπου ο αλγόριθμος κατασκευάζει μια συνάρτηση που απεικονίζει δεδομένες εισόδους σε γνωστές, επιθυμητές εξόδους (σύνολο εκπαίδευσης), με απώτερο στόχο τη γενίκευση της συνάρτησης αυτής και για εισόδους με άγνωστη έξοδο (σύνολο ελέγχου). Π.χ. κατηγοριοποίηση Μη επιτηρούμενη μάθηση ή μάθηση χωρίς επίβλεψη (unsupervised learning), όπου ο αλγόριθμος κατασκευάζει ένα μοντέλο για κάποιο σύνολο εισόδων χωρίς να γνωρίζει επιθυμητές εξόδους για το σύνολο εκπαίδευσης. Π.χ. συσταδοποίηση
-4- Μηχανική Μάθηση (2/2) Input Data ML Classifier e.g. Gene Expression Profiles, Machine Learning Prediction: Yes / No
Ανακάλυψη και Εξόρυξη Γνώσης -5- Η Ανακάλυψη Γνώσης Από Δεδομένα (Knowledge Discovery in Data KDD) είναι η μη τετριμμένη διαδικασία για την εξαγωγή έγκυρων, πρωτότυπων, πιθανώς χρήσιμων και οπωσδήποτε κατανοητών προτύπων (patterns) μέσα στα δεδομένα. Η Εξόρυξη Γνώσης (Data Mining) είναι η χρήση αλγορίθμων και τεχνικών για την εξαγωγή προτύπων κατά τη διάρκεια της διαδικασίας KDD. Αποτελεί ένα βήμα της KDD διαδικασίας.
-6- Data Mining Development Databases Relational Data Model SQL Association Rule Algorithms Data Warehousing Scalability Techniques Algorithms Algorithm Design Techniques Algorithm Analysis Data Structures Data Mining Machine Learning Neural Networks Decision Tree Algorithms Information Retrieval Similarity Measures Hierarchical Clustering IR Systems Imprecise Queries Textual Data Web Search Engines Statistics Bayes Theorem Regression Analysis EM Algorithm K-Means Clustering Time Series Analysis
-7- Ανακάλυψη γνώσης από δεδομένα Εξόρυξη δεδομένων: η βασική διαδικασία στην ανακάλυψη γνώσης. Αποθήκη δεδομένων Επιλεγμένα δεδομένα Επιλογή Επεξεργασμένα δεδομένα Εξόρυξη δεδομένων Επεξεργασία & Μετασχηματισμός Αξιολόγηση προτύπων Πρότυπα Γνώση Ενοποίηση δεδομένων Βάσεις δεδομένων Αρχεία Προ-Επεξεργασία Δεδομένων
-8- Βασικά Βήματα Διαδικασίας Ανακάλυψης Γνώσης Επιλογή (Selection): Απόκτηση δεδομένων από διάφορες ετερογενείς πηγές. Προ-επεξεργασία (Preprocessing): Εσφαλμένα, προβληματικά ή ελλείποντα δεδομένα τακτοποιούνται/διορθώνονται/αφαιρούνται (μπορεί να απαιτήσει το 60% της προσπάθειας!). Μετασχηματισμός (Transformation): Μετατροπή ετερογενών δεδομένων σε κοινή τυποποιημένη μορφή για επεξεργασία. Εξόρυξη δεδομένων (Data mining): Εφαρμογή αλγορίθμων για παραγωγή μοντέλου. Διερμηνεία/Αξιολόγηση (Interpretation/Evaluation): Παρουσίαση των αποτελεσμάτων της εξόρυξης δεδομένων στους χρήστες για αξιολόγηση (χρήση μεθόδων οπτικοποίησης και GUI).
Προ-επεξεργασία Δεδομένων Ο μετασχηματισμός των δεδομένων σε μορφή κατάλληλη και αποδοτική για την επιλεγμένη(?) μέθοδο μάθησης. -9- Σύνολο τεχνασμάτων που εφαρμόζονται, με κύριο στόχο, την αύξηση του βαθμού αξιοπιστίας. Κάποιες φορές λειτουργούν, κάποιες όχι, και, μέχρι σήμερα, είναι δύσκολο να γνωρίζει κανείς εκ των προτέρων την αποτελεσματικότητά τους. Καθώς ο πλέον αξιόπιστος οδηγός είναι η μέθοδος δοκιμής & σφάλματος ( trial & error ), η γνώση και κατανόηση των τεχνασμάτων αυτών είναι εξαιρετικά σημαντική.
-10- Τεχνικές Προ-επεξεργασίας Δεδομένων Επιλογή γνωρισμάτων (Select Attributes) Διακριτοποίηση γνωρισμάτων (Descritization: μετασχηματισμός σε μια διακριτή τιμή) Μετασχηματισμός δεδομένων (Data Transformation) Καθαρισμός δεδομένων (Data Cleaning)
Προ-επεξεργασία Δεδομένων: Επιλογή Γνωρισμάτων (1/3) Στις περισσότερες εφαρμογές, ο αριθμός των γνωρισμάτων είναι υπερβολικά μεγάλος για τον αποτελεσματικό χειρισμό τους από τα σχήματα εκμάθησης. -11- Τα περισσότερα γνωρίσματα συχνά η συντριπτική πλειοψηφία τους είναι ευκρινώς μη συσχετιζόμενα ή περιττά. Κατά συνέπεια, πρέπει να επιλεγεί υποσύνολο των δεδομένων προς χρήση στη διαδικασία εκμάθησης. Οι μέθοδοι εκμάθησης εκ φύσεως επιτελούν τη διαδικασία επιλογής των κατάλληλων γνωρισμάτων και απόρριψης των υπολοίπων. Ωστόσο, η αποδοτικότητά τους μπορεί συχνά να βελτιωθεί μέσω της προεπιλογής.
-12- Προ-επεξεργασία Δεδομένων: Επιλογή Γνωρισμάτων (2/3) Οι περισσότεροι αλγόριθμοι εκμάθησης έχουν σχεδιαστεί, ώστε να επιλέγουν τα πλέον κατάλληλα χαρακτηριστικά γνωρίσματα για τη διαμόρφωση των αποφάσεών τους. Η ύπαρξη περισσότερων γνωρισμάτων επομένως, οδηγεί κατά τη θεωρία σε περισσότερο αποδοτική εκπαίδευση. Ωστόσο: "Ποια η διαφορά μεταξύ θεωρίας και πράξης; Δεν υπάρχει διαφορά στη θεωρία. Αλλά στην πράξη υπάρχει. Στην πράξη, η προσθήκη μη σχετικών γνωρισμάτων συχνά συγχύζει τα συστήματα μηχανικής μάθησης.
Προ-επεξεργασία Δεδομένων: Επιλογή Γνωρισμάτων (3/3) Δύο μέθοδοι επιλογής υποσυνόλου γνωρισμάτων: -13- Μέθοδος διήθησης (filter): ανεξάρτητη αποτίμηση, βασισμένη στα γενικά γνωρίσματα των δεδομένων. Μέθοδος ενσωμάτωσης (wrapper): προσκόλληση της διαδικασίας επιλογής στη διαδικασία εκπαίδευσης και αποτίμηση του υποσυνόλου με βάση την τελική απόδοση του αλγορίθμου εκμάθησης. Δεν υπάρχει οικουμενικά αποδεκτό μέτρο της σχετικότητας ενός γνωρίσματος, γεγονός που καθιστά την επιλογή υποσυνόλου δύσκολη διαδικασία.
-14- Προ-επεξεργασία Δεδομένων: Μέθοδος Διήθησης (filter) Εύρεση υποσυνόλου γνωρισμάτων, επαρκούς, για το διαχωρισμό όλων των υποδειγμάτων. Επιλογή μικρότερου δυνατού συνόλου γνωρισμάτων που ικανοποιεί την απαίτηση αυτή (μέσω εξαντλητικής (exhaustive) αναζήτησης). Χρήση διαφορετικού αλγορίθμου εκμάθησης (για παράδειγμα C4.5, 1R) για επιλογή γνωρισμάτων. Για παράδειγμα, μπορεί να εφαρμοστεί ένας αλγόριθμος δένδρου απόφασης στο σύνολο δεδομένων και στη συνέχεια να επιλεγούν τα γνωρίσματα εκείνα που ενυπάρχουν στον δένδρο και μόνο αυτά. Μάθηση βασισμένη στα υποδείγματα για απόδοση βαρύτητας στα γνωρίσματα (Instance based Learning).
Προ-επεξεργασία Δεδομένων: Διακριτοποίηση Χαρακτηριστικών -15- Απολύτως αναγκαία, στην περίπτωση που κάποια χαρακτηριστικά γνωρίσματα είναι αριθμητικά, και η επιλεγμένη μέθοδος εκμάθησης μπορεί να χειριστεί μόνο κατηγορικά (categorical) γνωρίσματα. Ακόμα και οι μέθοδοι που μπορούν να χειριστούν αριθμητικά χαρακτηριστικά γνωρίσματα, πολλές φορές, παράγουν καλύτερα αποτελέσματα ή λειτουργούν ταχύτερα αν τα γνωρίσματα έχουν διακριτοποιηθεί (descritize). Το αντίστροφο πρόβλημα, στο οποίο κατηγορικά χαρακτηριστικά γνωρίσματα μετατρέπονται σε αριθμητικά, προκύπτει επίσης, αν και λιγότερο συχνά.
-16- Προ-επεξεργασία Δεδομένων: Μετασχηματισμός Δεδομένων Η μορφή των δεδομένων, αλλά και η φύση του αλγορίθμου εκμάθησης, συχνά απαιτούν διάφορους μετασχηματισμούς των δεδομένων. Αναγκαίοι για την ανάδειξη ιδιαιτεροτήτων ή και διαφορετικών γωνιών θέασης του συνόλου των δεδομένων. Πλήθος τεχνικών Μαθηματικοί μετασχηματισμοί Βασισμένοι στη γνώση πεδίου Λογικοί μετασχηματισμοί Αλλαγή δομής/μορφής δεδομένων
Προ-επεξεργασία Δεδομένων: Καθαρισμός Τα δεδομένα στο πραγματικό κόσμο δεν είναι «καθαρά». -17- o Ελλειπή - incomplete: μπορεί να λείπουν κάποιες τιμές γνωρισμάτων (να μην καταγράφηκαν, να καταγράφηκαν λανθασμένα λόγω μη συνεννόησης ή λανθασμένης λειτουργίας), να λείπουν κάποια ενδιαφέροντα γνωρίσματα (που να μην θεωρήθηκαν σημαντικά ή να μην ήταν διαθέσιμα), ή να περιέχουν μόνο συναθροιστικά (aggregate) δεδομένα. Συμπλήρωση των γνωρισμάτων και τιμών που λείπουν. o Με θόρυβο - noisy: περιέχουν λάθη ή outliers (περιθωριακές τιμές - τιμές που διαφέρουν πολύ από την πλειοψηφία ένα αντικείμενο δεδομένων το οποίο δεν ακολουθεί την γενική συμπεριφορά των δεδομένων). Εύρεση των περιθωριακών τιμών και απομάκρυνση θορύβου. o Ασυνεπή - inconsistent: περιέχουν ασυνέπειες, διπλότιμα. Διόρθωση ασυνεπών τιμών.
-18- Το Εργαλείο WEKA (Waikato Environment for Knowledge Analysis) Weka: Ένα από τα δημοφιλέστερα εργαλεία Μηχανικής Μάθησης. Αναπτύσσεται στο Πανεπιστήμιο του Waikato στη Νέα Ζηλανδία (από το 1994). Υλοποιεί μεγάλο αριθμό αλγορίθμων για εξόρυξη γνώσης και μηχανική εκμάθηση. Έχει εύχρηστο γραφικό περιβάλλον. Διανέμεται δωρεάν στο διαδίκτυο και αποτελεί λογισμικό ανοιχτού κώδικα. Είναι γραμμένο στη γλώσσα προγραμματισμού Java και περιέχει υλοποιημένες μεθόδους για: Προ-επεξεργασία Δεδομένων Ταξινόμηση Συσταδοποίηση Εύρεση Κανόνων Συσχέτισης Ανεξάρτητη Πλατφόρμα Τροφοδοτείται συνήθως με αρχεία κατάληξης Αrff, CSV, C4.5, binary.
WEKA -19- Όλα τα εργαλεία του WEKA: φίλτρα, κατηγοριοποιητές, ταξινομητές, συσχετιστές και επιλογείς γνωρισμάτων μπορούν να παρουσιασθούν γραφικά με δισδιάστατα γραφήματα. Με βάση τις γραφικές αναπαραστάσεις των επιλεγμένων δεδομένων δοκιμάζονται και προβλέπεται η απόδοση των εναλλακτικών μοντέλων που θα επιλεγούν να χρησιμοποιηθούν τελικά για την διαμόρφωση της «θαμμένης» γνώσης.
-20- Εγκατάσταση του WEKA Κατέβασμα του προγράμματος από τη διεύθυνση: http://www.cs.waikato.ac.nz/ml/weka/
Περιβάλλον Διεπαφής (GUI) (1/2) -21-
-22- Περιβάλλον Διεπαφής (GUI) (2/2) Το WEKA GUI Chooser window χρησιμοποιείται για να αρχίσει κάποιος τα WEKA s graphical environments. Στο δεξιό μέρος του παραθύρου υπάρχουν 4 κουμπιά: Explorer interface: Παρέχει γραφικό περιβάλλον για τις ρουτίνες του weka και τα συστατικά του μέρη, περισσότερο για το exploring of data. Experimenter: Επιτρέπει στη δημιουργία πειραμάτων και στατιστικών αναλύσεων των σχημάτων που παρέχονται. KnowledgeFlow: Δίνει ίδιες δυνατότητες με το προηγούμενο, αλλά με ένα περιβάλλον που επιτρέπει drag-and-drop. Simple CLI: Παρέχει γραμμή εντολών για τις ρουτίνες του weka και είναι περισσότερο για λειτουργικά συστήματα που δεν έχουν γραμμή εντολών.
WEKA Explorer - Καρτέλες Στο επάνω μέρος του παραθύρου υπάρχουν διάφορες καρτέλες: Preprocess: Επιλογή και τροποποίηση των δεδομένων. -23- Classify: Εκπαίδευση και έλεγχος των learning schemes που κάνουν classification ή κάνουν regression. Cluster: Εφαρμογή clustering στα δεδομένα. Associate: Δημιουργεί κανόνες συσχέτισης για τα δεδομένα. Select attributes: Επιλογή των πιο σχετικών χαρακτηριστικών γνωρισμάτων των δεδομένων. Visualize: Προβολή διαδραστικών 2D διαγραμμάτων των δεδομένων. Κατά την εκκίνηση του «Explorer» μόνο η πρώτη καρτέλα «Preprocess» είναι ενεργή και αυτό, γιατί πρέπει να ανοιχτεί το αρχείο δεδομένων, πριν γίνει οτιδήποτε.
ΤΟ ΠΑΡΑΘΥΡΟ ΠΡΟ-ΕΠΕΞΕΡΓΑΣΙΑΣ ΔΕΔΟΜΕΝΩΝ (PREPROCESS) Είναι το σημείο εκκίνησης εξόρυξης γνώσης. Από εδώ, μπορεί να «φορτώσει» κανείς, δεδομένα, να εξερευνήσει χαρακτηριστικά των διαφόρων εγγραφών και να εφαρμόσει οποιοδήποτε συνδυασμό «φίλτρων» που διαθέτει το Weka στα δεδομένα εισόδου. Φόρτωση δεδομένων στο Weka Explorer Open file. Εμφάνιση παραθύρου που επιτρέπει την εύρεση αρχείου δεδομένων. Open URL. Ερώτηση για την Uniform Resource Locator διεύθυνση όπου βρίσκονται τα δεδομένα αποθηκευμένα. Open DB. Διαβάζει δεδομένα από τη βάση. Generate... Επιτρέπει τη δημιουργία δεδομένων μέσα από μια ποικιλία DataGenerators. -24- WEKA Explorer Βασική Οθόνη
WEKA Explorer: Καρτέλες - Status box To status box βρίσκεται στο κάτω μέρος του παραθύρου και δείχνει κάποια μηνύματα για το τι γίνεται κάθε στιγμή. -25- Παράδειγμα: Όταν ο Explorer είναι απασχολημένος στην φόρτωση ενός αρχείου δεδομένων, τότε το status box κάνοντας δεξί κλικ δίνει ένα μενού με 2 επιλογές: Πληροφορίες για τη μνήμη. Ποσοστό διαθέσιμης μνήμης για το WEKA. Τρέχει ο garbage collector (διαχείριση μνήμης). Τρέχει από την Java, ο garbage collector και ψάχνει μνήμη που δεν χρησιμοποιείται και την απελευθερώνει. Έτσι, υπάρχει διαθέσιμη μνήμη για νέες εργασίες. Ο garbage collector τρέχει στο background.
-26- WEKA Explorer: Καρτέλες - Log button Πατώντας εδώ ανοίγει ένα παράθυρο που περιέχει πληροφορίες που σε κάθε σειρά δηλώνει την ημερομηνία και το γεγονός που έχει συμβεί κάθε φορά. Καθώς το WEKA κάνει διάφορες ενέργειες το log κρατάει πληροφορίες για τις ενέργειες αυτές.
Μορφή Δεδομένων Χρησιμοποιεί flat text files για την περιγραφή των δεδομένων. -27- Τα δεδομένα μπορούν να εισάγονται από ένα αρχείο σε διάφορες μορφές: ARFF, CSV, C4.5, binary Τα αρχεία που περιέχουν το σύνολο δεδομένων πρέπει να έχουν συγκεκριμένο format και να αποθηκεύονται με την επέκταση.arff. Αποτελούνται από δύο διακριτά μέρη, το Header τμήμα και το Data τμήμα. Στο Header τμήμα ορίζονται τα χαρακτηριστικά του arff αρχείου, ενώ στο Data τμήμα παρατίθενται συγκεκριμένα παραδείγματα. Στον φάκελο C:\Program Files\Weka-3-6\data περιέχονται κάποια παραδείγματα τέτοιων αρχείων. Δεδομένα μπορούν επίσης να δοθούν από από μια ηλεκτρονική διεύθυνση URL ή από μία SQL βάση δεδομένων (χρησιμοποιώντας JDBC).
-28- ARFF File Format (1/2) Απαιτεί declarations από @RELATION, @ATTRIBUTE και @DATA: Η δήλωση @RELATION συσχετίζει ένα όνομα με το dataset: @RELATION <relation-name> @RELATION iris Η δήλωση @ATTRIBUTE καθορίζει το όνομα και τον τύπο ενός χαρακτηριστικού: @attribute <attribute-name> <datatype> Το Datatype μπορεί να είναι numeric, nominal, string ή date @ATTRIBUTE sepallength NUMERIC @ATTRIBUTE petalwidth NUMERIC @ATTRIBUTE class {Iris-setosa,Iris-versicolor,Iris-virginica} Η δήλωση @DATA είναι μια γραμμή που δηλώνει την αρχή του data segment: @DATA 5.1, 3.5, 1.4, 0.2, Iris-setosa 4.9,?, 1.4,?, Iris-versicolor
ARFF File Format (2/2) -29- Header Information Data Information Περισσότερες πληροφορίες, στην εξής ηλεκτρονική διεύθυνση: http://www.cs.waikato.ac.nz/~ml/weka/arff.html
-30- Από το excel σε αποδεκτή μορφή Υπάρχει δυνατότητα φόρτωσης δεδομένων σε csv format. CSV (comma-separated values) είναι ένα format, τύπος αρχείου που αποθηκεύει δεδομένα σε στήλες (tabular data).
Από αποδεκτή μορφή στην μορφή εισόδου -31-
-32- Παράδειγμα Δεδομένων WEKA data file (arff format) : Instance Independent features (attributes) Class @relation weather.symbolic @attribute outlook {sunny, overcast, rainy} @attribute temperature {hot, mild, cool} @attribute humidity {high, normal} @attribute windy {TRUE, FALSE} @attribute play {yes, no} @data sunny,hot,high,false,no sunny,hot,high,true,no overcast,hot,high,false,yes rainy,mild,high,false,yes rainy,cool,normal,false,yes rainy,cool,normal,true,no overcast,cool,normal,true,yes sunny,mild,high,false,no sunny,cool,normal,false,yes rainy,mild,normal,false,yes sunny,mild,normal,true,yes overcast,mild,high,true,yes overcast,hot,normal,false,yes rainy,mild,high,true,no Day Outlook Temperature Humidity Windy Play Golf? 1 sunny hot high FALSE no 2 sunny hot high TRUE no 3 overcast hot high FALSE yes 4 rainy mild high FALSE yes 5 rainy cool normal FALSE yes 6 rainy cool normal TRUE no 7 overcast cool normal TRUE yes 8 sunny mild high FALSE no 9 sunny cool normal FALSE yes 10 rainy mild normal FALSE yes 11 sunny mild normal TRUE yes 12 overcast mild high TRUE yes 13 overcast hot normal FALSE yes 14 rainy mild high TRUE no
Προ-επεξεργασία Δεδομένων και Οπτικοποίηση (1/7) Φόρτωση Δεδομένων στο WEKA ARRF Format ή CVS Format (κλικ στο Open file ) Ανοίγουμε το αρχείο με τα δεδομένα της τράπεζας (bank-data.csv). -33-
-34- Προ-επεξεργασία Δεδομένων και Οπτικοποίηση (2/7) Παρουσίαση Δεδομένων που έχουν φορτωθεί στο WEKA (κλικ στο Edit ) Numeric - Nominal
Προ-επεξεργασία Δεδομένων και Οπτικοποίηση (3/7) Μετατροπή Format Δεδομένων που έχουν φορτωθεί στο WEKA (κλικ στο Save ) -35-
-36- Προ-επεξεργασία Δεδομένων και Οπτικοποίηση (4/7) Δεδομένα Εξέτασης Τύποι Γνωρισμάτων (attributes) και ιδιότητες. Τάξη (Class) γνωρισμάτων (το τελευταίο attribute).
Προ-επεξεργασία Δεδομένων και Οπτικοποίηση - Στατιστικά (5/7) -37-
-38- Προ-επεξεργασία Δεδομένων και Οπτικοποίηση - Αριθμητικά δεδομένα (6/7)
Προ-επεξεργασία Δεδομένων και Οπτικοποίηση Σύνθεση Χαρακτηριστικών (7/7) o Κλικ στο: «Vizualize All». -39-
-40- WEKA Explorer: Preprocessing (1/5) Τα Pre-processing εργαλεία στο WEKA ονομάζονται filters. Το WEKA περιέχει filters για: discretization, normalization, resampling, attribute selection, transforming, combining attributes, κτλ.
WEKA Explorer: Preprocessing (2/5) The Current Relation: Εδώ φαίνονται τα δεδομένα που μόλις έχουν εισαχθεί. -41- Έχει 3 πεδία: Relation: Το όνομα του relation, όπως δίνεται στο αρχείο. Τα Filters τροποποιούν το όνομα ενός relation. Instances: Ο αριθμός των instances (data points/records) των δεδομένων. Attributes: Ο αριθμός των χαρακτηριστικών (features) των δεδομένων.
-42- WEKA Explorer: Preprocessing (3/5) Working With Attributes: No.: Δηλώνει τον αριθμό του χαρακτηριστικού με τη σειρά που βρίσκεται μέσα στο αρχείο δεδομένων. Selection tick boxes: Μπορεί να γίνει επιλογή ορισμένων χαρακτηριστικών που έχουν σχέση με την ανάλυση. Name: Το όνομα του κάθε χαρακτηριστικού, όπως είναι δηλωμένο στο αρχείο δεδομένων.
WEKA Explorer: Preprocessing (4/5) Selected Αttribute: Name: Το όνομα του χαρακτηριστικού που έχει επιλεχθεί. -43- Type: Ο τύπος του επιλεγμένου χαρακτηριστικού, συνήθως Nominal ή Numeric. Missing: Το ποσοστό των instances (εγγραφές) στα δεδομένα, στα οποία λείπουν δεδομένα. Distinct: Ο αριθμός των διαφορετικών τιμών που περιέχουν τα δεδομένα για το επιλεγμένο χαρακτηριστικό. Unique: Το ποσοστό των instances (εγγραφές) στα δεδομένα που έχουν τιμή που για άλλο χαρακτηριστικό δεν έχουν τα άλλα instances.
-44- WEKA Explorer: Preprocessing (5/5) Filters Επιλέγεται από τη λίστα το filter. Attribute Filters - Προσθήκη, Αφαίρεση, Μετατροπή στα γνωρίσματα Instance Filters - Προσθήκη, Αφαίρεση, Μετατροπή σε Instances Μόλις γίνεται η επιλογή, παρουσιάζεται το όνομά του, εκεί που επιλέχθηκε. Πατώντας εκεί ή με δεξί κλικ, ανοίγει παράθυρο με τις ρυθμίσεις (show properties) του τρέχοντος filter.
-45- Preprocess: Filter (1/2) Καρτέλα Preprocess: -Filter -Επιλογή (supervised / unsupervised, attribute / instance) -Εφαρμογή (Apply)
-46- Preprocess: Filter (2/2) Add Προσθέτει ένα νέο χαρακτηριστικό του οποίου οι τιμές χαρακτηρίζονται όλες ως missing. Remove Αφαιρεί χαρακτηριστικά του οποίου οι τιμές χαρακτηρίζονται όλες ως missing. RemoveType Αφαιρεί χαρακτηριστικά δοθέντος ενός συγκεκριμένου τύπου (nominal, numeric, string, or date). Normalize Βάζει σε κλίμακα διαστήματος [0,1] όλα τα αριθμητικά χαρακτηριστικά. Standarize Tυποποιεί όλα τα αριθμητικά δεδομένα, έτσι ώστε να έχουν τον μέσο και το τετράγωνο της τυπικής απόκλισης ίσο με το μηδέν. Descritize Μετατρέπει numeric σε nominal χαρακτηριστικά. Swap Values Αντιμεταθέτει μεταξύ τους, δύο τιμές ενός χαρακτηριστικού. ReplaceMissingValues Αντικαθιστά όλες τις τιμές των δεδομένων που λείπουν (numeric και nominal) με το μέσο όρο των αντίστοιχων χαρακτηριστικών των training data. AddNoise Αλλάζει το ποσοστό των τιμών ενός δοθέντος nominal χαρακτηριστικού. StringToNominal Μετατρέπει ένα String χαρακτηριστικό σε nominal. NominalToBinary Μετατρέπει ένα nominal χαρακτηριστικό σε δυαδικό, ένα για κάθε τιμή. NumericToBinary Μετατρέπει όλα τα αριθμητικά δεδομένα σε δυαδικά. Όλες τις μη μηδενικές τιμές τις κάνει 1...
Παράδειγμα Filter: Απαλοιφή Γνωρισμάτων (1/2) -47- Ανοίγουμε το αρχείο με τα δεδομένα της τράπεζας (bank-data.csv). Δε χρειαζόμαστε το id του πελάτη Θα επιλέξουμε το Remove Attribute Filter Και θα του δώσουμε την παράμετρο 1 (α/α του id).
-48- Παράδειγμα Filter: Αποθήκευση σε arff (2/2) Με το όνομα bank-datar1.arff Χωρίς το γνώρισμα id
Discretization: Ανάλυση Παραδείγματος -49- Μετατροπή συνεχών αριθμητικών τιμών σε διακριτές (σε κατηγορίες). Υπάρχουν 3 τέτοια γνωρίσματα στο σύνολο δεδομένων (age, income, children). Το children έχει ήδη 4 διακριτές τιμές: 0,1,2,3. Μπορώ να χρησιμοποιήσω αυτές ως κατηγορίες. Αρκεί να αλλάξω λίγο το arff αρχείο (bank-data2.arff).
-50- Discretization: Μετατροπή
-51- Preprocess: Filter - Discritization π.χ. Discretize Filter - > unsupervised - > Discretize (γ) (α) Γιατί κάνω «Discretize»; (β) -Μερικές μέθοδοι, όπως οι ID3, Apriory χρησιμοποιούν nominal χαρακτηριστικά. -Χρήσιμο, για δεδομένα που συχνά χρειάζεται να ταξινομηθούν (κατασκευή decision trees).
Discretization: Μετατροπή σε Κατηγορικό (α) -52-
-53- Discretization: Μετατροπή σε Κατηγορικό (β) Κάνουμε τα ίδια για το income (πάλι σε 3 bins). Αποθηκεύουμε τα αποτελέσματα σε νέο αρχείο arff (bank-data3.arff). Διορθώνουμε τα ονόματα των κατηγοριών (για να διαβάζονται καλύτερα). Αποθηκεύουμε τα αποτελέσματα σε νέο αρχείο arff (bank-data4.arff).
-54- Preprocess: Filter Αφαίρεση Τύπου π.χ. RemoveType Filter - > unsupervised - > RemoveType attribute Type -> Delete numeric values invertselection->true. Apply Κρατάμε μόνο, αριθμητικές (continuous) ιδιότητες. ΕΡΩΤΗΣΗ: «Αν invertselection-> False τι θα γίνει;»
-55- WEKA Explorer: Select Attributes (1/2) Εύρεση ενός ελάχιστου συνόλου χαρακτηριστικών με το οποίο διατηρείται η κατανομή της κλάσης (class distribution). Αφαιρεί περιττά ή μη συναφή χαρακτηριστικά (attributes). Επιλέγει σχετικά, συναφή χαρακτηριστικά (attributes). Αναζήτηση και Αξιολόγηση: Η επιλογή χαρακτηριστικού (select attributes) εμπεριέχει την αναζήτηση μέσω όλων των πιθανών συνδυασμών των χαρακτηριστικών των δεδομένων, έτσι ώστε να βρούμε αυτό τον συνδυασμό / υποσύνολο των χαρακτηριστικών που μπορεί να χρησιμοποιηθεί για μία πρόβλεψη. To AttributeEvaluator καθορίζει ποιά μέθοδος θα χρησιμοποιηθεί για να προσδιορίσει την αξία του κάθε υποσυνόλου χαρακτηριστικών. To SearchMethod καθορίζει το είδος της αναζήτησης που πρόκειται να χρησιμοποιηθεί. Attribute Selection Mode: Use full training set. Cross-validation. Τα πεδία Fold και Seed, ορίζουν τον αριθμό των επαναλήψεων (folds) που θα γίνουν, και ένα τυχαίο αριθμό (seed) που θα χρησιμοποιείται όταν τα δεδομένα μετατοπίζονται.
WEKA Explorer: Select Attributes (2/2) Παράδειγμα: (i) Α τρόπος (ii) Β Τρόπος -56- Άσκηση: Εφαρμόστε InfoGainAttributeEval και Ranker, μέσω του: Filtering -> supervised -> AttributeSelection
-57- WEKA Explorer: Visualize (1/3) Εδώ, μπορείτε να δείτε δυσδιάστατα την κατανομή των χαρακτηριστικών. Διπλό Κλικ
WEKA Explorer: Visualize (2/3) -58- Scatter plot matrix Όταν επιλέξετε το «Visualize panel», παρουσιάζεται το scatter plot matrix για όλα τα χαρακτηριστικά (attributes), έχοντας το καθένα το δικό του χρώμα, σε σχέση πάντα, με την επιλεγμένη κλάση. Δίνεται η δυνατότητα να αλλαχθεί το μέγεθος κάθε δυσδιάστατου - 2D - plot, όπως και το μέγεθος των σημείων. Επίσης, δίνεται η δυνατότητα, τυχαία να μετακινηθούν τα δεδομένα (jitter ανακαλύπτοντας έτσι κρυμμένα σημεία). Είναι επίσης πιθανό, να αλλαχτεί το χαρακτηριστικό (attribute) που χρησιμοποιήθηκε για να δώσει το συγκεκριμένο χρώμα στα plots, και να επιλεγεί μόνο ένα υποσύνολο χαρακτηριστικών (attributes) για συνυπολογισμό στο scatter plot matrix, και να μειωθεί το δείγμα των δεδομένων. Επιλέγοντας ξεχωριστά ένα-ένα το δυσδιάστατο - 2D scatter plot Κάνοντας κλικ σε ένα κελί (cell) μέσα στο scatter plot matrix, επιστρέφεται ένα ξεχωριστό παράθυρο οπτικοποίησης (visualization) του scatter plot που επιλέχθηκε (ΔΕΙΤΕ προηγ. διαφάνεια).
-59- WEKA Explorer: Visualize (3/3) Selecting Instances Υπάρχουν περιπτώσεις, που είναι χρήσιμο να επιλεγεί ένα υποσύνολο δεδομένων χρησιμοποιώντας το εργαλείο οπτικοποίησης (visualization). 4 Τρόποι Επιλογής Σημείων Δεδομένων πάνω στο plot: Select Instance. Κάνοντας κλικ πάνω σε ένα data point, ανοίγει ένα παράθυρο που καταγράφει σε μια λίστα όλα τα χαρακτηριστικά αυτού του σημείου (attributes). Rectangle. Μπορείτε να δημιουργήσετε ένα τετράγωνο, by dragging, μέσα στο οποίο θα επιλέγετε να βάλετε τα σημείαδεδομένα που θέλετε (από αυτά που υπάρχουν στο plot). Polygon. Μπορείτε να δημιουργήσετε ένα πολύγωνο, επιλέγοντας τα σημεία που θέλετε να βρίσκονται μέσα σε αυτό. Χρησιμοποιείστε, Αριστερό-Κλικ πάνω σε ένα σημείο για να το προσθέσετε μέσα στο πολύγωνο και Δεξί-Κλικ για να φτιαχτεί, ολοκληρωθεί το πολύγωνο. Polyline. Μπορείτε να δημιουργήσετε μία ή περισσότερες γραμμές που θα τοποθετούν τα σημεία μεταξύ των δύο πλευρών που θα διαχωρίζει η μία ή οι περισσότερες γραμμές. Χρησιμοποιείστε, Αριστερό-Κλικ για να προσθέσετε ένα σημείο και Δεξί-Κλικ για να φτιαχτεί, ολοκληρωθεί το Polyline.