Βάσεις Δεδομένων ΙΙ Διάλεξη 6 η Έννοιες Εξόρυξης Δεδομένων Δ. Χριστοδουλάκης - Α. Φωκά Τμήμα Μηχανικών Η/Υ & Πληροφορικής - Εαρινό Εξάμηνο 2007 Εισαγωγή Εξόρυξη Δεδομένων Ανακάλυψη νέων πληροφοριών σε σχέση με πρότυπα ή κανόνες από μεγάλους όγκους δεδομένων. Πρέπει να γίνεται αποτελεσματικά σε μεγάλα αρχεία και ΒΔ ΜέροςτηςδιαδικασίαςΑνακάλυψηςΓνώσης (Knowledge Discovery in Databases KDD) 1
Η Διαδικασία Ανακάλυψης Γνώσης The Knowledge Discovery Process (KDD) - ΗΔιαδικασίαΑνακάλυψης Γνώσης σε Βάσεις Δεδομένων Επιλογή Δεδομένων (Data Selection) Καθαρισμός Δεδομένων Data Cleaning Προσδιορισμός του συνόλου δεδομένων και των σχετικών γνωρισμάτων που μας ενδιαφέρουν στα οποία θα γίνει η εξόρυξη Απομάκρυνση θορύβου και των προς εξαίρεση τιμών (outliers), μετασχηματισμός των τιμών των πεδίων σε κοινές μονάδες μέτρησης, δημιουργία νέων πεδίων, αποθήκευση των δεδομένων σε σχεσιακό σχήμα Εξόρυξη Δεδομένων Αξιολόγηση (Evaluation) Παρουσίαση των προτύπων με ένα τρόπο κατανοητό στον τελικό χρήστη (π.χ., μέσω τεχνικών οπτικοποίησης) Εξόρυξη Δεδομένων Αποτέλεσμα εξόρυξης δεδομένων Κανόνες συσχέτισης Όταν ένας πελάτης αγοράζει εξοπλισμό βίντεο τότε αγοράζει επίσης και άλλο ηλεκτρονικό εξοπλισμό Ακολουθιακά πρότυπα Αν ένας πελάτης κάνει αγορές περισσότερο από δύο φορές σε περίοδο χαμηλής κίνησης είναι πιθανό να κάνει αγορές τουλάχιστον μία φορά τη περίοδο των Χριστουγέννων. Δένδρα κατηγοριοποίησης Κατηγοριοποίηση των πελατών βάση επισκεψιμότητας, τρόπο πληρωμής, είδη προϊόντων. 2
Στόχοι Εξόρυξης Δεδομένων Πρόβλεψη Να δείξει τη συμπεριφορά κάποιων γνωρισμάτων των δεδομένων στο μέλλον Ταυτοποίηση Οι μορφές των δεδομένων μπορούν να χρησιμοποιηθούν για να προσδιορισθεί η ύπαρξη ενός προϊόντος, ενός γεγονότος ή μιας δραστηριότητας. Αναγνώριση γνησιότητας Κατηγοριοποίηση Διαμερισμός των δεδομένων ώστε να προσδιορισθούν διαφορετικές κλάσεις ή κατηγορίες. Βελτιστοποίηση Βελτιστοποίηση της χρήσης μέσων όπως ο χρόνος, οχώρος, το χρήμα ή τα υλικά και η μεγιστοποίηση των μεταβλητών εξόδου όπως οι πωλήσεις ή τα κέρδη. Τύποι Γνώσης Συμπερασματική Συμπεραίνει νέες πληροφορίες βασισμένη στην εφαρμογή προκαθορισμένων λογικών κανόνων συμπερασμού σε δεδομένα. Επαγωγική Ανακαλύπτει νέους κανόνες και πρότυπα από υπάρχοντα δεδομένα. 3
Αναπαράσταση Γνώσης Κανόνες Συσχέτισης Σχετίζουν την ύπαρξη ενός συνόλου προϊόντων με διάστημα τιμών ενός άλλου συνόλου μεταβλητών. Ιεραρχίες Κατηγοριοποίησης Ξεκινώντας από ένα υπάρχον σύνολο γεγονότων ή δοσοληψιών να δημιουργηθεί μια ιεραρχία κλάσεων. Ακολουθιακά Πρότυπα Αναζήτηση μιας ακολουθίας ενεργειών ή γεγονότων Ισοδύναμο με τον εντοπισμό συσχετισμών με κάποιες χρονικές συσχετίσεις. Πρότυπα σε χρονοσειρές Εντοπισμός ομοιοτήτων στις θέσεις χρονοσειρών. Συσταδοποίηση Διαμερισμός ενός συνόλο γεγονότων ή αντικειμένων σε σύνολα παρόμοιων στοιχείων Κανόνες Συσχέτισης Η ΒΔ θεωρείται σαν μια συλλογή από δοσοληψίες, που κάθε μια περιλαμβάνει ένα σύνολο στοιχείων. Μοντέλο Καλαθιού Αγορών Κωδικός Ώρα Προϊόντα 101 6:35 γάλα, ψωμί, χυμός 792 7:38 γάλα, χυμός 1130 8:05 γάλα, αυγά 1735 8:40 ψωμί, βουτήματα, καφές 4
Κανόνες Συσχέτισης Χ=>Υ Χ={x 1,x 2,,x n }, Y={y 1,y 2,,y m } Παράδειγμα {γάλα} {χυμός} Αν ένα στοιχείο γάλα αγοράζεται σε μια συναλλαγή, τότε είναι πιθανό ότι αγοράζεται και το στοιχείο χυμός Γενικά, κανόνας συσχέτισης (association rule) LHS RHS Όπου LHS και RHS είναι στοιχειοσύνολα Συνδυαστικοί Κανόνες LHS RHS Υποστήριξη (support): support(lhs RHS) Το ποσοστό των συναλλαγών που περιέχουν όλα τα στοιχεία του (LHS RHS) Εμπιστοσύνη (confidence): support(lhs RHS) / support(lhs) Μια ένδειξη της ισχύος του κανόνα P(RHS LHS) 5
Παράδειγμα Transid custid date item qty 111 201 5/1/99 pen 2 111 201 5/1/99 ink 1 111 201 5/1/99 milk 3 111 201 5/1/99 juice 6 112 105 6/3/99 pen 1 112 105 6/3/99 ink 1 112 105 6/3/99 milk 1 113 106 5/10/99 pen 1 113 106 5/10/99 milk 1 114 201 6/1/99 pen 2 pen milk (K1) support(k1) = 75% confidence(k1) = 75% milk pen (K2) support(k2) = 75% confidence(k2) = 100% 114 201 6/1/99 ink 2 114 201 6/1/99 juice 4 Κανόνες Συσχέτισης Δημιουργία όλων των κανόνων που ξεπερνούν κάποια επιθυμητά ελάχιστα για τη στήριξη και εμπιστοσύνη. Υποπροβλήματα: Δημιουργία όλων των στοιχείων που έχουν στήριξη πάνω από ένα όριο. Μεγάλα (ή συχνά) σύνολα Για κάθε μεγάλο σύνολο Χ, δημιουργούνται όλοι οι κανόνες με ελάχιστη εμπιστοσύνη δημιουργείται ο κανόνας Ζ=>Υ έστω Ζ=Χ-Υ, όπου Υ υποσύνολο του Χ και στήριξη(χ) / στήριξη(ζ) > min εμπιστοσύνη 6
Αλγόριθμος Apriori Είσοδος: ΒΔ m δοσοληψιών, D, και μια ελάχιστη στήριξη mins, που παριστάνεται σαν κλάσμα του m Έξοδος: συχνάσύνολαστοιχείωνi 1, I 2,, I k Βήματα Στήριξη(i j ) = count(i j )/m, για κάθε i 1, i 2,, i n C 1, σύνολο στοιχείων i 1, i 2,, i n L 1, συχνόσύνολοστοιχείωνμεστήριξη(i j ) >= mins K=1 Τερματισμός=false Επανάληψη C k+1, επέκταση του C k με υποσύνολα μεγέθους k+1 μόνο με τα στοιχεία του L k Στήριξη για κάθε στοιχείο του C k+1 L k+1, συχνό σύνολο στοιχείων με Στήριξη >= mins Αν L k+1 κενό τότε τερματισμός = true αλλιώς k=k+1 Κανόνες Συσχέτισης μεταξύ Ιεραρχιών ΑΦΕΨΗΜΑΤΑ ΜΕ ΑΝΘΡΑΚΙΚΟ ΧΩΡΙΣ ΑΝΘΡΑΚΙΚΟ COLAS ANAMEIKTA ΠΟΤΑ ΧΥΜΟΙ ΕΜΦΙΑΛΩΜΕΜΕΝΟ ΝΕΡΟ ΓΛΥΚΑ ΠΑΓΩΤΑ ΦΟΥΡΝΟΥ ΠΛΗΡΗ ΛΙΓΑ ΛΙΠΑΡΑ 7
Πολυδιάστατες Συσχετίσεις Οι διαστάσεις παριστάνουν γνωρίσματα εγγράφων ενός αρχείου Μπορούν να είναι κατηγορικές ή ποσοτικές Π.χ. Ώρα(6.30...8.00)=>Προϊόντα(Γάλα) Αρνητικές Συσχετίσεις Π.χ. 60% πελατών που αγοράζουν πατατάκια δεν αγοράζουν εμφιαλωμένο νερό Πιο δύσκολο να βρεθούν αρνητικές συσχετίσεις Ενδιαφέροντες αρνητικές συσχετίσεις Χρήση ιεραρχιών 8
Κατηγοριοποίηση Διαδικασία εκμάθησης ενός μοντέλου που περιγράφει κλάσεις δεδομένων. Οι κλάσεις είναι προκαθορισμένες. Κανόνες Κατηγοριοποίησης και Παλινδρόμησης InsuranceInfo(age: integer, cartype: string, highrisk: boolean) Υπάρχει ένα γνώρισμα (highrisk: ΥψηλούΚινδύνου) του οποίου τηντιμήθαθέλαμεναπροβλέψουμε: Εξαρτημένο Γνώρισμα Τα άλλα γνωρίσματα ονομάζονται προβλέποντα γνωρίσματα (predictors) Η γενική μορφή των κανόνων που θέλουμε να προβλέψουμε είναι: P 1 (X 1 ) P 2 (X 2 ) P k (X k ) Y = c Προβλέποντα γνωρίσματα Εξαρτημένο γνώρισμα 9
Κανόνες Κατηγοριοποίησης και Παλινδρόμησης P 1 (X 1 ) P 2 (X 2 ) P k (X k ) Y = c P i (X i ) είναι κατηγορήματα (predicates) σχετικάμεταγνωρίσματαx i Δύο τύποι γνωρισμάτων: αριθμητικά P i (X i ) : l i X i h i κατηγοριακά (categorical) P i (X i ) : X i {v 1,, v j } αριθμητικό εξαρτημένo γνώρισμα κατηγοριακό εξαρτημένο γνώρισμα κανόνας παλινδρόμησης κανόνας κατηγοριοποίησης (16 age 25) (cartype {Sports, Truck}) highrisk = true Κανόνες Κατηγοριοποίησης και Παλινδρόμησης P 1 (X 1 ) P 2 (X 2 ) P k (X k ) Y = c Υποστήριξη: Η υποστήριξη για μια συνθήκη C είναι το ποσοστό των πλειάδων που ικανοποιούν την C. Η υποστήριξη του κανόνα C1 C2 είναι η υποστήριξη της συνθήκης C1 C2 Εμπιστοσύνη: Έστω όλες οι πλειάδες που ικανοποιούν τη συνθήκη C1. Η εμπιστοσύνη του κανόνα C1 C2 είναι το ποσοστό των πλειάδων αυτών που ικανοποιούν και τη συνθήκη C2 10
Κανόνες Κατηγοριοποίησης και Παλινδρόμησης Γενικεύοντας P 1 (X 1 ) P 2 (X 2 ) P k (X k ) Y = f(x 1, X 2,, X k ) Η διαφορά από τους συνδυαστικούς κανόνες είναι ότι θεωρούν συνεχή και κατηγοριακά γνωρίσματα και όχι μόνο ένα πεδίο με πολλαπλές καθορισμένες τιμές Πολλές εφαρμογές, π.χ. σε επιστημονικά πειράματα, προώθηση προϊόντων με το ταχυδρομείο, προβλέψεις χρηματοοικονομικών μεγεθών, ιατρικές προγνώσεις Θα δούμε στη συνέχεια έναν ειδικό τύπο τους Δενδρικοί Κανόνες Δέντρα αποφάσεων ή δέντρα κατηγοριοποίησης Δέντρα Παλινδρόμησης Συνήθως το ίδιο το δέντρο είναι το αποτέλεσμα της εξόρυξης δεδομένων Εύκολο να κατανοηθεί Αποδοτικοί αλγόριθμοι για την κατασκευή του 11
Δενδρικοί Κανόνες Παράδειγμα δέντρου <= 25 Age > 25 Car Type No Other Sports, Truck No Yes Δενδρικοί Κανόνες Γραφική απεικόνιση μια συλλογής κανόνων κατηγοριοποίησης. Εσωτερικοί κόμβοι: ετικέτα (labeled) με ένα προβλέπον γνώρισμα (που ονομάζεται και διαχωρίζον γνώρισμα - splitting attribute) Εξερχόμενες ακμές: έχουν ως ετικέτα το κατηγόρημα που περιλαμβάνει το διαχωρίζον γνώρισμα του κόμβου (κριτήριο διαχωρισμού του κόμβου - splitting criterion) ξένα μεταξύ τους Φύλλα: έχουν ως ετικέτα το κατηγόρημα - μια τιμή του εξαρτώμενου γνωρίσματος Θα εξετάσουμε δυαδικά δέντρα αποφάσεων αλλά μπορεί να έχουμε και δέντρα υψηλότερου βαθμού 12
Δενδρικοί Κανόνες Δοσμένης μια εγγραφής δεδομένων το δέντρο οδηγεί από τη ρίζα σε ένα φύλλο. Age Μπορούμε να κατασκευάσουμε κανόνες > 25 <= 25 κατηγοριοποίησης ακολουθώντας κάθε μονοπάτι απότηρίζασεφύλλο: Car Type No LHS σύζευξη των κατηγορημάτων, RHS η τιμή Other Sports, Truck του φύλλου Ένας κανόνας για κάθε φύλλο No Yes (16 age 25) (cartype {Sports, Truck}) highrisk = true Συσταδοποίηση (Clustering) Διαμέριση ενός συνόλου εγγραφών σε ομάδες συγκροτήματα (clusters) έτσι ώστε όλες οι εγγραφές που ανήκουν σε μια ομάδα να είναι όμοιες μεταξύ τους και οι εγγραφές που ανήκουν σε διαφορετικές ομάδες να είναι ανόμοιες Η ομοιότητα μεταξύ των εγγραφών υπολογίζεται βάσει μιας συνάρτησης απόστασης distance function. Εξαρτάται από τον τύπο των δεδομένων και την εφαρμογή 13
Συγκρότηση CustomerInfo(age: integer, salary:real) Salary 20 40 60 Age Μπορούμε να εντοπίσουμε τρία συγκροτήματα (clusters) το σχήμα τους σφαιρικό Συγκρότηση Η έξοδος ενός αλγορίθμου συγκρότησης είναι μία συνοπτική αναπαράσταση κάθε συγκροτήματος Η μορφή του αποτελέσματος εξαρτάται από τον τύπο και το σχήμα των συγκροτημάτων Για παράδειγμα, για σφαιρικά συγκροτήματα, έξοδος: κέντρο C (μέσο) and ακτίνα R: δοσμένου μιας συλλογής εγγραφών r 1, r 2,.., r n C = r i n R = (r i -C) n 14
Συγκρότηση Δύο κατηγορίες αλγορίθμων συγκρότησης: Αλγόριθμος Διαχωρισμού: διαμερίζει τα δεδομένα σε k συγκροτήματα έτσι ώστε να βελτιστοποιείται η τιμή κάποιου κριτηρίου το k συνήθως προσδιορίζεται από τον χρήστη Ιεραρχικός Αλγόριθμος παράγει μια ακολουθία από διαμερίσεις των δεδομένων. Ξεκινώντας από μια διαμέριση όπου κάθε εγγραφή αποτελεί ένα συγκρότημα, σε κάθε βήμα συγχωνεύει και δυο συγκροτήματα Συγκρότηση ΟαλγόριθμοςBIRCH: Υποθέσεις Μεγάλος αριθμός εγγραφών, μόνο ένα πέρασμα Περιορισμένη μνήμη Δύο παράμετροι k: όριο διαθεσιμότητας κύριας μνήμης: μέγιστος αριθμός συνοπτικών αναπαραστάσεων συγκροτημάτων που μπορούν αν καταχωρηθούν στην κύρια μνήμη e: αρχικό όριο της ακτίνας κάθε συγκροτήματος καθορίζει και τον αριθμό των συγκροτημάτων. Ένα συγκρότημα είναι συμπαγές αν η ακτίνα του είναι μικρότερη από e. Πάντα διατήρησε στην κύρια μνήμη k ή λιγότερα συμπαγή συγκροτήματα (Ci, Ri) (Αν αυτό δεν είναι δυνατόν, τροποποίησε το e) 15
Συγκρότηση ΟαλγόριθμοςBIRCH: Read a record r from the database /* διάβασε τις εγγραφές σειριακά */ Compute the distance of r and each of the existing cluster centers Let i be the cluster (index) such that the distance between r and C i is the smallest /* i: το πιο κοντινό συγκρότημα */ Compute R i assuming r is inserted in the ith cluster /* υπολόγισε τη νέα ακτίνα */ If R i e, /* μικρότερη, το συγκρότημα παραμένει συμπαγές, επισύναψε το r */ insert r in the ith cluster recompute R i and C i else /* μεγαλύτερη δημιούργησε νέο συγκρότημα */ start a new cluster containing only r Συγκρότηση ΟαλγόριθμοςBIRCH: Μέγιστος αριθμός συγκροτημάτων -> τροποποίησε το e Αποδοτικοί τρόποι εντοπισμού του κοντινότερου συγκροτήματος, π.χ., χρήση Β+ δέντρων 16
Ομοιότητα Ακολουθιών Ο χρήστης καθορίζει μία ακολουθία αίτημα (query sequence) και θέλει να ανακτήσει όλες τις ακολουθίες δεδομένων που είναι όμοιες με αυτήν Όχιαπαραίτηταναταιριάζουνακριβώς(Not exact matches) Μια ακολουθία δεδομένων (data sequence) X είναι μια σειρά αριθμών X = <x 1, x 2,.., x k > Συχνά ονομάζεται και χρονολογική σειρά (time series) k μήκος (length) της ακολουθίας Μια υποακολουθία (subsequence) Z = <z 1, z 2,, z j > προκύπτει από μια ακολουθία X με τη διαγραφή αριθμών από των αρχή και το τέλος της ακολουθίας Ομοιότητα Ακολουθιών Μπορούμε να ορίσουμε την απόσταση μεταξύ δυο ακολουθιών ως την Ευκλείδεια κανονική (Euclidean norm) Δοθείσας μιας ακολουθίας-αίτημα και ενός ορίου e, θέλουμε να ανακτήσουμε όλες τις ακολουθίες δεδομένων που είναι μέσα σε απόσταση e Πλήρης ταύτιση ακολουθιών (Complete sequence matching) η ακολουθία-αίτημα και οι ακολουθίες δεδομένων έχουν το ίδιο μήκος Ταύτιση υποακολουθιών (Subsequence matching) η ακολουθία αίτημα έχει μικρότερο μήκος 17