Ανακάλυψη Γνώσης από εδοµένα και Εξόρυξη Γνώσης στο εργαλείο WEKA Ειρήνη Ντούτση Οµάδα ιαχείρισης εδοµένων, Τµήµα Πληροφορικής, Πανεπιστήµιο Πειραιώς (http://isl.cs.unipi.gr/db) 02/04/2008 Ανακάλυψη και Εξόρυξη Γνώσης Η Ανακάλυψη Γνώσης Από εδοµένα (Knowledge Discovery in Data KDD)είναι η µη τετριµµένη διαδικασία για την εξαγωγή έγκυρων, πρωτότυπων, πιθανώς χρήσιµων και οπωσδήποτε κατανοητών προτύπων (patterns) µέσα στα δεδοµένα Η Εξόρυξη Γνώσης (Data Mining) είναι η χρήση αλγορίθµων και τεχνικών για την εξαγωγή προτύπων κατά τη διάρκεια της διαδικασίας KDD Αποτελεί ένα βήµατηςkdd διαδικασίας 1
Τα βήµατα της KDD διαδικασίας Κύριες εργασίες εξόρυξης γνώσης Εύρεση συσχετίσεων µεταξύ των δεδοµένων Κανόνες συσχέτισης Κατηγοριοποίηση σε προκαθορισµένες κλάσεις έντρα απόφασης, νευρωνικά δίκτυα, Bayesian κατηγοριοποίηση Συσταδοποίηση/ Οµαδοποίηση Ιεραρχικοί, διαµεριστικοί, µε βάση την πυκνότητα Refund Yes NO No Single, Divorced MarSt Married TaxInc < 80K > 80K NO NO YES 2
Κανόνες Συσχέτισης (Association Rules) Έστω Ι ένα σύνολο από αντικείµενα (items) Ένας κανόνας συσχέτισης έχει τη µορφή X Y όπου X,Y I και X Y = ø Το X ονοµάζεται head (κεφαλή) ή LHS (left-hand side) ή antecedent (προηγούµενο) του κανόνα Το Y ονοµάζεται body (σώµα) ή RHS (right-hand side) ή consequent (επακόλουθο) του κανόνα Ένας κανόνας σχετίζεται µεδιάφοραµέτρα ποιότητας όπως: H υποστήριξη (support) του κανόνα ορίζεται ως το ποσοστό των δοσοληψιών που περιέχουν τα αντικείµενα (X Y) ήαλλιώςηπιθανότηταp(x Y) Η εµπιστοσύνη (confidence) του κανόνα ορίζεται ως το ποσοστό των δοσοληψιών του X που περιέχουν και το Υ ή αλλιώς, ηεξαρτηµένη πιθανότητα P(X Y Χ) = P(X Y)/P(X) A, B, C A, C, E A, D, F,B A, D, C Customer 1 Customer 2 Customer 3 Customer 4 (A,B ) C support(abc) = 1/4 confidence (ABC) =1/2 Κατηγοριοποίηση (Classification) Ανάπτυξη ενός µοντέλου πρόβλεψης της κλάσης των στιγµιότυπων ενός προβλήµατος Το µοντέλο χτίζεται µε βάση ένα σύνολο δεδοµένων εκπαίδευσης (training set) Ηαπόδοσητουµοντέλου αξιολογείται µε βάση ένα σύνολο δεδοµένων ελέγχου (test set) Εποπτευόµενη µάθηση: χρειάζεται να γνωρίζουµε τηνκλάσητωνστιγµιότυπων εκπαίδευσης 3
Συσταδοποίηση (Clustering) ιαχωρισµός των δεδοµένων σε οµάδες/ συστάδες έτσι ώστε για κάθε εγγραφή που περιλαµβάνει µία συστάδα, ηοµοιότητα της µε οποιασδήποτε εγγραφή από την ίδια συστάδαναείναιµεγαλύτερη από την οµοιότητα της µε οποιασδήποτε εγγραφή από άλλες συστάδες Μη εποπτευόµενη µάθηση ε γνωρίζουµε τις κλάση στην οποία ανήκουν τα δεδοµένα εκπαίδευσης Μας δίνεται ένα σύνολο µετρήσεων, παρατηρήσεων κλπ. µε στόχο να ανακαλύψουµε κλάσειςή οµάδες µέσα στα δεδοµένα Cluster 1 Cluster 2 Data Cluster 3 Cluster 4 To εργαλείο WEKA Machine Learning algorithms in Java Αναπτύσσεται στο Πανεπιστήµιο του Waikato στη Νέα Ζηλανδία Ξεκίνησε να αναπτύσσεται το 1994 Τα βασικά χαρακτηριστικά της επιτυχίας του WEKA είναι: it provides many different algorithms for data mining and machine learning is is open source and freely available it is platform-independent it is easily useable by people who are not data mining specialists it provides flexible facilities for scripting experiments it has kept up-to-date, with new algorithms being added as they appear in the research literature. http://www.cs.waikato.ac.nz/ml/weka/ Data Mining: Practical Machine Learning Tools and Techniques (Second Edition) Ian H. Witten, Eibe Frank 4
WEKA overview Input data format Data preprocessing and visualization Data mining tasks Classification Clustering Association Rules Extraction Input data format - 1 Το WEKA δέχεται δεδοµένα σε µία ειδική µορφή, το λεγόµενο arff format http://www.cs.waikato.ac.nz/ml/weka/arff.html Header information Data information 5
Input data format - 2 Υπάρχει δυνατότητα φόρτωσης δεδοµένων σε csv format CSV (comma-separated values) file format is a file type that stores tabular data. WEKA applications The main applications within WEKA. Explorer. An environment for exploring data with WEKA (the rest of this documentation deals with this application in more detail). KnowledgeFlow. This environment supports essentially the same functions as the Explorer but with a drag-and-drop interface. One advantage is that it supports incremental learning. Experimenter. An environment for performing experiments and conducting statistical tests between learning schemes. SimpleCLI. Provides a simple command-line interface that allows direct execution of WEKA commands for operating systems that do not provide their own command line interface. 6
WEKA explorer Βασική οθόνη WEKA explorer tasks Preprocess Choose and modify the data being acted on. Classify Train and test learning schemes that classify or perform regresion. Cluster Learn clusters for the data. Associate Learn association rules for the data. Select attributes Select the most relevant attributes in the data. Visualize View an interactive 2D plot of the data. 7
Exlorer: Preprocess - βασική οθόνη Open file... Brings up a dialog box allowing you to browse for the data file on the local file system. Open URL... Asks for a Uniform Resource Locator address for where the data is stored. Open DB... Reads data from a database. Generate... Enables you to generate artificial data from a variety of DataGenerators. Data preprocessing and visualization - 2 Load data into WEKA ARFF format or CVS format (click on Open file ) 8
Data preprocessing and visualization - 3 Converting data formats through WEKA (click on Save ) Data preprocessing and visualization - 4 Editing data in WEKA (click on Edit ) 9
Data preprocessing and visualization - 5 Examining data Attribute type and properties Class (last attribute) distribution Data preprocessing and visualization - 6 10
Data preprocessing and visualization - 7 Filters over attributes and/or instances Nominal to string String to Nominal Data Cleaner addcluster Remove Attributes Κατηγοριοποίηση (Classification) -Επιλογή ταξινοµητή (classifier) 11
Κατηγοριοποίηση (Classification) Καθορισµός παραµέτρων ταξινοµητή Συσταδοποίηση (clustering) -Επιλογή αλγορίθµου 12
Συσταδοποίηση (clustering) Καθορισµός παραµέτρων αλγορίθµου Κανόνες συσχέτισης (Association rules) Επιλογή αλγορίθµου 13
Κανόνες συσχέτισης (Association rules) Καθορισµός παραµέτρων αλγορίθµου WEKA classification: try Choose weather.nominal.arff Classify with J48 Play with J48 parameters Visualize tree Interpret the results Try other learning algorithms as well Repeat with weather.arff (numeric attributes) 14
WEKA classification: build classifier - 1 weather.nominal.arff WEKA classification: build classifier -2 Right click on the highlighted line in Result list and choose Visualize tree 15
WEKA classification: predicting class WEKA classification: predicting class 16
WEKA classification: save class predictions WEKA clustering: try Choose weather.nominal.arff Cluster with SimpleKMeans Play with SimpleKMeans parameters Visualize cluster assignments Interpret the results Try other clustering algorithms as well Repeat with weather.arff (numeric attributes) 17
WEKA clustering: K-means Visualize cluster assignments 18
Save cluster assignments WEKA association rules mining: try Choose weather.nominal.arff Apply apriori Play with apriori parameters Save results Try other algorithms Try other dataset 19
Association rule mining: Apriori Save rules 20
WEKA - αλγόριθµοι Όπως είδαµε, το WEKA υποστηρίζει ένα µεγάλο πλήθος αλγορίθµων για τις 3 κατηγορίες εξόρυξης γνώσης συσχέτιση, κατηγοριοποίηση και συσταδοποίηση µε πολλέςπαραµέτρους Μπορεί να υλοποιηθούν νέοι αλγόριθµοι και να ενσωµατωθούν εύκολα στο σύστηµα Μπορεί να γίνει µαζική επεξεργασία αρχείων µέσω της γραµµής εντολών. Για πειράµατα ενδείκνυται αυτό Εκτέλεση από τη γραµµή εντολών 21
Κλήση µέσα από κώδικα ηµιουργία νέων αλγορίθµων µάθησης Μπορεί κάνείς να δηµιουργήσει νέους αλγορίθµους κάνοντας π.χ. extend υπάρχουσες κλάσεις 22
Ευχαριστώ! 23