Ορισμοί support count () ενός στοιχειοσυνόλου Η συχνότητα εμφάνισης του στοιχειοσυνόλου Παράδειγμα: ({Milk, Bread, Diaper}) = 2 σ(Χ) = { ti | X ti, ti T} Υποστήριξη (Support (s)) ενός στοιχειοσυνόλου Το ποσοστό των δοσοληψιών που περιέχουν ένα στοιχειοσύνολο Παράδειγμα: s({Milk, Bread, Diaper}) = 2/5 Frequent Itemset – Συχνό Στοιχειοσύνολο Ένα στοιχειοσύνολο του οποίου η υποστήριξη είναι μεγαλύτερη ή ίση από κάποια τιμή κατωφλίου minsup Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΚΑΝΟΝΕΣ ΣΥΣΧΕΤΙΣΗΣ Ι
Ορισμοί Κανόνας Συσχέτισης (Association Rule) Είναι μια έκφραση της μορφής X Y, όπου X και Y είναι στοιχειοσύνολα Χ Ι, Υ Ι, Χ Υ = Παράδειγμα: {Milk, Diaper} {Beer} Υποστήριξη Κανόνα Support (s) Το ποσοστό των δοσοληψιών που περιέχουν και το X και το Y (Χ Υ) σ(Χ Υ)/|Τ| (|Τ| ο αριθμός των δοσοληψιών) Εμπιστοσύνη - Confidence (c) Πόσες από τις δοσοληψίες (ποσοστό) που περιέχουν το Χ περιέχουν και το Υ σ(Χ Υ)/σ(Χ) Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΚΑΝΟΝΕΣ ΣΥΣΧΕΤΙΣΗΣ Ι
Εξόρυξη Κανόνων Συσχέτισης Παρατηρήσεις s(XY) = s(X Y) = σ(X Y)/Ν Ένας κανόνας με μικρή υποστήριξη μπορεί να εμφανίζεται τυχαία Λιγότερη σημασία, γιατί αφορά μικρό αριθμό από συναλλαγές Εξαιρεί κανόνες που δεν έχουν ενδιαφέρον c(X Y) = σ(XY)/σ(X) c(X Y) = P(Υ|Χ) δεσμευμένη πιθανότητα να εμφανίζεται το Υ όταν εμφανίζεται το Χ Εμπιστοσύνη μετρά την αξιοπιστία Όσο μεγαλύτερη εμπιστοσύνη τόσο μεγαλύτερη η πιθανότητα εμφάνισης του Υ σε κανόνες που περιέχουν το Χ Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΚΑΝΟΝΕΣ ΣΥΣΧΕΤΙΣΗΣ Ι
Μια σημαντική παρατήρηση Εξόρυξη Κανόνων Συσχέτισης Μια σημαντική παρατήρηση Η υποστήριξη ενός κανόνα X Y εξαρτάται μόνο από την υποστήριξη του Χ Υ Άρα κανόνες που ξεκινούν από τo ίδιο στοιχειοσύνολο έχουν την ίδια υποστήριξη (αλλά πιθανών διαφορετική εμπιστοσύνη) Πιθανοί κανόνες με τα στοιχεία Milk, Diaper και Beer (στοιχειοσύνολο {Milk, Diaper, Beer}) {Milk,Diaper} {Beer} (s=0.4, c=0.67) {Milk,Beer} {Diaper} (s=0.4, c=1.0) {Diaper,Beer} {Milk} (s=0.4, c=0.67) {Beer} {Milk,Diaper} (s=0.4, c=0.67) {Diaper} {Milk,Beer} (s=0.4, c=0.5) {Milk} {Diaper,Beer} (s=0.4, c=0.5) Αν είχαμε minsup = 0.5, θα αποκλείαμε και τους έξη κανόνες Άρα μπορούμε να εξετάσουμε τους περιορισμούς για την υποστήριξη και την εμπιστοσύνη ξεχωριστά Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΚΑΝΟΝΕΣ ΣΥΣΧΕΤΙΣΗΣ Ι
Εξόρυξη Κανόνων Συσχέτισης Χωρισμός του προβλήματος σε δύο υπο-προβλήματα: Εύρεση όλων των συχνών στοιχειοσυνόλων (Frequent Itemset Generation) Εύρεση όλων των στοιχειοσυνόλων με υποστήριξη minsup Δημιουργία Κανόνων (Rule Generation) Για κάθε στοιχειοσύνολο, δημιούργησε κανόνες με μεγάλη υποστήριξη, όπου κάθε κανόνες είναι μια δυαδική διαμέριση του συχνού στοιχειοσυνόλου Η δημιουργία των συχνών στοιχειοσυνόλων είναι επίσης υπολογιστικά ακριβή Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΚΑΝΟΝΕΣ ΣΥΣΧΕΤΙΣΗΣ Ι
Μια σημαντική παρατήρηση Εξόρυξη Κανόνων Συσχέτισης Μια σημαντική παρατήρηση Η υποστήριξη ενός κανόνα X Y εξαρτάται μόνο από την υποστήριξη του Χ Υ Άρα κανόνες που ξεκινούν από τo ίδιο στοιχειοσύνολο έχουν την ίδια υποστήριξη (αλλά πιθανών διαφορετική εμπιστοσύνη) Πιθανοί κανόνες με τα στοιχεία Milk, Diaper και Beer (στοιχειοσύνολο {Milk, Diaper, Beer}) {Milk,Diaper} {Beer} (s=0.4, c=0.67) {Milk,Beer} {Diaper} (s=0.4, c=1.0) {Diaper,Beer} {Milk} (s=0.4, c=0.67) {Beer} {Milk,Diaper} (s=0.4, c=0.67) {Diaper} {Milk,Beer} (s=0.4, c=0.5) {Milk} {Diaper,Beer} (s=0.4, c=0.5) Αν είχαμε minsup = 0.5, θα αποκλείαμε και τους έξη κανόνες Άρα μπορούμε να εξετάσουμε τους περιορισμούς για την υποστήριξη και την εμπιστοσύνη ξεχωριστά Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΚΑΝΟΝΕΣ ΣΥΣΧΕΤΙΣΗΣ Ι
Εξόρυξη Κανόνων Συσχέτισης Χωρισμός του προβλήματος σε δύο υπο-προβλήματα: Εύρεση όλων των συχνών στοιχειοσυνόλων (Frequent Itemset Generation) Εύρεση όλων των στοιχειοσυνόλων με υποστήριξη minsup Δημιουργία Κανόνων (Rule Generation) Για κάθε στοιχειοσύνολο, δημιούργησε κανόνες με μεγάλη υποστήριξη, όπου κάθε κανόνες είναι μια δυαδική διαμέριση του συχνού στοιχειοσυνόλου Η δημιουργία των συχνών στοιχειοσυνόλων είναι επίσης υπολογιστικά ακριβή Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΚΑΝΟΝΕΣ ΣΥΣΧΕΤΙΣΗΣ Ι
Μια σημαντική παρατήρηση Εξόρυξη Κανόνων Συσχέτισης Μια σημαντική παρατήρηση Η υποστήριξη ενός κανόνα X Y εξαρτάται μόνο από την υποστήριξη του Χ Υ Άρα κανόνες που ξεκινούν από τo ίδιο στοιχειοσύνολο έχουν την ίδια υποστήριξη (αλλά πιθανών διαφορετική εμπιστοσύνη) Πιθανοί κανόνες με τα στοιχεία Milk, Diaper και Beer (στοιχειοσύνολο {Milk, Diaper, Beer}) {Milk,Diaper} {Beer} (s=0.4, c=0.67) {Milk,Beer} {Diaper} (s=0.4, c=1.0) {Diaper,Beer} {Milk} (s=0.4, c=0.67) {Beer} {Milk,Diaper} (s=0.4, c=0.67) {Diaper} {Milk,Beer} (s=0.4, c=0.5) {Milk} {Diaper,Beer} (s=0.4, c=0.5) Αν είχαμε minsup = 0.5, θα αποκλείαμε και τους έξη κανόνες Άρα μπορούμε να εξετάσουμε τους περιορισμούς για την υποστήριξη και την εμπιστοσύνη ξεχωριστά Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΚΑΝΟΝΕΣ ΣΥΣΧΕΤΙΣΗΣ Ι
Εξόρυξη Κανόνων Συσχέτισης Χωρισμός του προβλήματος σε δύο υπο-προβλήματα: Εύρεση όλων των συχνών στοιχειοσυνόλων (Frequent Itemset Generation) Εύρεση όλων των στοιχειοσυνόλων με υποστήριξη minsup Δημιουργία Κανόνων (Rule Generation) Για κάθε στοιχειοσύνολο, δημιούργησε κανόνες με μεγάλη υποστήριξη, όπου κάθε κανόνες είναι μια δυαδική διαμέριση του συχνού στοιχειοσυνόλου Η δημιουργία των συχνών στοιχειοσυνόλων είναι επίσης υπολογιστικά ακριβή Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΚΑΝΟΝΕΣ ΣΥΣΧΕΤΙΣΗΣ Ι
Ιδιότητες ενός Καλού Μέτρου Αποτίμηση Κανόνων Συσχέτισης Ιδιότητες ενός Καλού Μέτρου Piatetsky-Shapiro: 3 γενικές ιδιότητες που πρέπει να ικανοποιεί ένα καλό μέτρο M: M(A, B) = 0 αν τα Α και Β είναι στατιστικά ανεξάρτητα M(A, B) αυξάνει μονότονα με το P(A,B) όταν τα P(A) και P(B) παραμένουν αμετάβλητα M(A,B) μειώνεται μονότονα με το P(A) [ή το P(B)] όταν τα P(A,B) και P(B) [ή P(A)] παραμένουν αμετάβλητα Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΚΑΝΟΝΕΣ ΣΥΣΧΕΤΙΣΗΣ II
Αλλαγή Διάταξης Μεταβλητών (variable permutation) Ιδιότητες Μέτρων Αποτίμησης Αλλαγή Διάταξης Μεταβλητών (variable permutation) Ισχύει M(A, B) = M(B, A)? Συμμετρικά (symmetric) μέτρα: support (υποστήριξη), lift, collective strength, cosine, Jaccard, κλπ Μη συμμετρικά (asymmetric) μέτρα: confidence (εμπιστοσύνη), conviction, Laplace, J-measure, κλπ Γενικά συμμετρικά μέτρα για στοιχειοσύνολα και μη συμμετρικά για κανόνες Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΚΑΝΟΝΕΣ ΣΥΣΧΕΤΙΣΗΣ II
Στη βιβλιογραφία έχουν προταθεί πολλά μέτρα ανάλογα με την εφαρμογή Με ποια κριτήρια θα επιλέξουμε ένα καλό μέτρο; Πως έναν Apriori-style support based pruning επηρεάζει αυτά τα μέτρα; Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΚΑΝΟΝΕΣ ΣΥΣΧΕΤΙΣΗΣ II
Ευρετήριο Gini για τον κόμβο t : p( j | t) σχετική συχνότητα της κλάσης j στον κόμβο t c αριθμός κλάσεων Ελάχιστη τιμή (0.0) όταν όλες οι εγγραφές ανήκουν σε μία κλάση (που σημαίνει την πιο ενδιαφέρουσα πληροφορία) Μέγιστη τιμή (1 - 1/c) όταν όλες οι εγγραφές είναι ομοιόμορφα κατανεμημένες στις κλάσεις (που σημαίνει τη λιγότερο ενδιαφέρουσα πληροφορία) εξαρτάται από τον αριθμό των κλάσεων Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΤΑΞΙΝΟΜΗΣΗ
Χρήση του στην κατασκευή του δέντρου απόφασης Δέντρο Απόφασης: GINI Χρήση του στην κατασκευή του δέντρου απόφασης Χρησιμοποιείται στα CART, SLIQ, SPRINT. Όταν ένας κόμβος p διασπάται σε k κόμβους (παιδιά), (που σημαίνει ότι το σύνολο των εγγραφών του κόμβου χωρίζεται σε k υποσύνολα), η ποιότητα του διαχωρισμού υπολογίζεται ως: Ψάχνουμε για: Πιο καθαρές Πιο μεγάλες (σε αριθμό) μικρές διασπάσεις όπου, ni = αριθμός εγγραφών του παιδιού i, n = αριθμός εγγραφών του κόμβου p. Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΤΑΞΙΝΟΜΗΣΗ
Δέντρο Απόφασης: Εντροπία Εντροπία για τον κόμβο t : p( j | t) σχετική συχνότητα της κλάσης j στον κόμβο t c αριθμός κλάσεων Μετράει την ομοιογένεια ενός κόμβου Μέγιστη τιμή log(c) όταν όλες οι εγγραφές είναι ομοιόμορφα κατανεμημένες στις κλάσεις (που σημαίνει τη λιγότερο ενδιαφέρουσα πληροφορία) Ελάχιστη τιμή (0.0) όταν όλες οι εγγραφές ανήκουν σε μία κλάση (που σημαίνει την πιο ενδιαφέρουσα πληροφορία) Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΤΑΞΙΝΟΜΗΣΗ
Δέντρο Απόφασης: Εντροπία Και σε αυτήν την περίπτωση, όταν ένας κόμβος p διασπάται σε k σύνολα (παιδιά), η ποιότητα του διαχωρισμού υπολογίζεται ως: όπου, ni = αριθμός εγγραφών του παιδιού i, n = αριθμός εγγραφών του κόμβου p. Χρησιμοποιείται στα ID3 and C4.5 Όταν χρησιμοποιούμε την εντροπία για τη μέτρηση της μη καθαρότητας τότε η διαφορά καλείται κέρδος πληροφορίας (information gain) Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΤΑΞΙΝΟΜΗΣΗ
Δέντρο Απόφασης: Λάθος Ταξινόμησης Λάθος ταξινόμησης (classification error) για τον κόμβο t : Μετράει το λάθος ενός κόμβου Παράδειγμα P(C1) = 0/6 = 0 P(C2) = 6/6 = 1 Error = 1 – max (0, 1) = 1 – 1 = 0 P(C1) = 1/6 P(C2) = 5/6 Error = 1 – max (1/6, 5/6) = 1 – 5/6 = 1/6 P(C1) = 2/6 P(C2) = 4/6 Error = 1 – max (2/6, 4/6) = 1 – 4/6 = 1/3 Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΤΑΞΙΝΟΜΗΣΗ
Δέντρο Απόφασης: Λάθος Ταξινόμησης Λάθος ταξινόμησης (classification error) για τον κόμβο t : Μετράει το λάθος ενός κόμβου Μέγιστη τιμή 1-1/c όταν όλες οι εγγραφές είναι ομοιόμορφα κατανεμημένες στις κλάσεις (που σημαίνει τη λιγότερο ενδιαφέρουσα πληροφορία) Ελάχιστη τιμή (0.0) όταν όλες οι εγγραφές ανήκουν σε μία κλάση (που σημαίνει την πιο ενδιαφέρουσα πληροφορία) Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΤΑΞΙΝΟΜΗΣΗ
Δέντρο Απόφασης: Σύγκριση Για ένα πρόβλημα δύο κλάσεων p ποσοστό εγγραφών που ανήκει σε μία από τις δύο κλάσεις (p κλάση +, 1-p κλάση -) Όλες την μεγαλύτερη τιμή για 0.5 (ομοιόμορφη κατανομή) Όλες μικρότερη τιμή όταν όλες οι εγγραφές σε μία μόνο κλάση (0 και στο 1) Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΤΑΞΙΝΟΜΗΣΗ
Πλεονεκτήματα Δέντρων Απόφασης Δέντρo Απόφασης Πλεονεκτήματα Δέντρων Απόφασης Μη παραμετρική προσέγγιση: Δε στηρίζεται σε υπόθεση εκ των προτέρων γνώσης σχετικά με τον τύπο της κατανομής πιθανότητας που ικανοποιεί η κλάση ή τα άλλα γνωρίσματα Η κατασκευή του βέλτιστου δέντρου απόφασης είναι ένα NP-complete πρόβλημα. Ευριστικοί: Αποδοτική κατασκευή ακόμα και στην περίπτωση πολύ μεγάλου συνόλου δεδομένων Αφού το δέντρο κατασκευαστεί, η ταξινόμηση νέων εγγραφών πολύ γρήγορη O(h) όπου h το μέγιστο ύψος του δέντρου Εύκολα στην κατανόηση (ιδιαίτερα τα μικρά δέντρα) Η ακρίβεια τους συγκρίσιμη με άλλες τεχνικές για μικρά σύνολα δεδομένων Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΤΑΞΙΝΟΜΗΣΗ
Δέντρo Απόφασης Πλεονεκτήματα Καλή συμπεριφορά στο θόρυβο Η ύπαρξη πλεοναζόντων γνωρισμάτων (γνωρίσματα των οποίων η τιμή εξαρτάται από κάποιο άλλο) δεν είναι καταστροφική για την κατασκευή. Χρησιμοποιείται ένα από τα δύο. Αν πάρα πολλά, μπορεί να οδηγήσουν σε δέντρα πιο μεγάλα από ότι χρειάζεται Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΤΑΞΙΝΟΜΗΣΗ
Overfitting Πρόβλημα λόγω πολλαπλών επιλογών Επειδή σε κάθε βήμα εξετάζουμε πάρα πολλές διαφορετικές διασπάσεις, κάποια διάσπαση βελτιώνει το δέντρο κατά τύχη Το πρόβλημα χειροτερεύει όταν αυξάνει ο αριθμός των επιλογών και μειώνεται ο αριθμός των δειγμάτων Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΤΑΞΙΝΟΜΗΣΗ
Overfitting Το οverfitting έχει ως αποτέλεσμα δέντρα απόφασης που είναι πιο περίπλοκα από ό,τι χρειάζεται Τα λάθη εκπαίδευσης δεν αποτελούν πια μια καλή εκτίμηση για τη συμπεριφορά του δέντρου σε εγγραφές που δεν έχει δει ξανά Νέοι μέθοδοι για την εκτίμηση του λάθους Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΤΑΞΙΝΟΜΗΣΗ
Πολυπλοκότητα Μοντέλου Occam’s Razor Δοθέντων δυο μοντέλων με παρόμοια λάθη γενίκευσης, πρέπει να προτιμάται το απλούστερο από το πιο περίπλοκο Ένα πολύπλοκο μοντέλο είναι πιο πιθανό να έχει ταιριαστεί (Fitted) τυχαία λόγω λαθών στα δεδομένα Για αυτό η πολυπλοκότητα του μοντέλου θα πρέπει να αποτελεί έναν από τους παράγοντες της αξιολόγησής του Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΤΑΞΙΝΟΜΗΣΗ
Εκτίμηση του Λάθους Γενίκευσης Re-substitution errors: Λάθος στην εκπαίδευση ( e(t) ) Generalization errors: Λάθος στον έλεγχο ( e’(t)) Ως λάθος μετράμε το ποσοστό των εγγραφών που ο ταξινομητής τοποθετεί σε λάθος κλάση Μέθοδοι εκτίμησης του λάθους γενίκευσης: 1. Optimistic approach – Αισιόδοξη προσέγγιση: e’(t) = e(t) Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΤΑΞΙΝΟΜΗΣΗ
Εκτίμηση του Λάθους Γενίκευσης 2. Pessimistic approach - Απαισιόδοξη προσέγγιση: k: αριθμός φύλλων, για κάθε φύλλο ti προσθέτουμε ένα κόστος V(ti) Aν για κάθε φύλλο t: e’(t) = e(t) + 0.5 Συνολικό λάθος: e’(T) = e(T) + k 0.5 (k: αριθμός φύλλων) Για ένα δέντρο με 30 φύλλα και 10 λάθη στο σύνολο εκπαίδευσης (από σύνολο 1000 εγγραφών): Training error = 10/1000 = 1% Generalization error = (10 + 300.5)/1000 = 2.5% Το 0.5 σημαίνει ότι διαχωρισμός ενός κόμβου δικαιολογείται αν βελτιώνει τουλάχιστον μία εγγραφή Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΤΑΞΙΝΟΜΗΣΗ
Εκτίμηση του Λάθους Γενίκευσης 3. Reduced error pruning (REP): χρήση ενός συνόλου επαλήθευσης για την εκτίμηση του λάθους γενίκευσης Χώρισε τα δεδομένα εκπαίδευσης: 2/3 εκπαίδευση 1/3 (σύνολο επαλήθευσης – validation set) για υπολογισμό λάθους Χρήση για εύρεση του κατάλληλου μοντέλου Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΤΑΞΙΝΟΜΗΣΗ
Pre-Pruning (Early Stopping Rule) Αντιμετώπιση Overfitting Pre-Pruning (Early Stopping Rule) Σταμάτα τον αλγόριθμο πριν σχηματιστεί ένα πλήρες δέντρο Συνήθεις συνθήκες τερματισμού για έναν κόμβο: Σταμάτα όταν όλες οι εγγραφές ανήκουν στην ίδια κλάση Σταμάτα όταν όλες οι τιμές των γνωρισμάτων είναι οι ίδιες Πιο περιοριστικές συνθήκες: Σταμάτα όταν ο αριθμός των εγγραφών είναι μικρότερος από κάποιο προκαθορισμένο κατώφλι Σταμάτα όταν η επέκταση ενός κόμβου δεν βελτιώνει την καθαρότητα (π.χ., Gini ή information gain) ή το λάθος γενίκευσης περισσότερο από κάποιο κατώφλι. (-) δύσκολος ο καθορισμός του κατωφλιού, (-) αν και το κέρδος μικρό, κατοπινοί διαχωρισμοί μπορεί να καταλήξουν σε καλύτερα δέντρα Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΤΑΞΙΝΟΜΗΣΗ
Overfitting Post-pruning Ανάπτυξε το δέντρο πλήρως Trim – ψαλίδισε τους κόμβους bottom-up Αν το λάθος γενίκευσης μειώνεται με το ψαλίδισμα, αντικατέστησε το υποδέντρο με ένα φύλλο - οι ετικέτες κλάσεις του φύλλου καθορίζεται από την πλειοψηφία των κλάσεων των εγγραφών του υποδέντρου (subtree replacement) ένα από τα κλαδιά του (Branch), αυτό που χρησιμοποιείται συχνότερα (subtree raising) Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΤΑΞΙΝΟΜΗΣΗ
Τιμές που λείπουν Οι τιμές που λείπουν επηρεάζουν την κατασκευή του δέντρου με τρεις τρόπους: Πως υπολογίζονται τα μέτρα καθαρότητας Πως κατανέμονται στα φύλλα οι εγγραφές με τιμές που λείπουν Πως ταξινομείται μια εγγραφή εκπαίδευσης στην οποία λείπει μια τιμή Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΤΑΞΙΝΟΜΗΣΗ
Ορισμός Ταξινόμηση (classification) Το πρόβλημα της ανάθεσης ενός αντικειμένου σε μια ή περισσότερες προκαθορισμένες κατηγορίες (κλάσεις) Σύνολο εγγραφών Είσοδος: συλλογή από εγγραφές (αντικείμενα) Κάθε εγγραφή περιέχει ένα σύνολο από γνωρίσματα (attributes) Ένα από τα γνωρίσματα είναι η κλάση (class) Έξοδος: ένα μοντέλο (model) για το γνώρισμα κλάση ως μια συνάρτηση των τιμών των άλλων γνωρισμάτων Στόχος: νέες εγγραφές θα πρέπει να ανατίθενται σε μία από τις κλάσεις με τη μεγαλύτερη δυνατή ακρίβεια. γνώρισμα κλάση Μοντέλο Ταξινόμησης Ετικέτα κλάσης Συνήθως το σύνολο δεδομένων εισόδου χωρίζεται σε: ένα σύνολο εκπαίδευσης (training set) και ένα σύνολο ελέγχου (test test) Το σύνολο εκπαίδευσης χρησιμοποιείται για να κατασκευαστεί το μοντέλο και το σύνολο ελέγχου για να το επικυρώσει. Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΤΑΞΙΝΟΜΗΣΗ ΙΙ
Εισαγωγή Χρησιμοποιείται ως: Περιγραφικό μοντέλο (descriptive modeling): ως επεξηγηματικό εργαλείο – πχ ποια χαρακτηριστικά κάνουν ένα ζώο να χαρακτηριστεί ως θηλαστικό Μοντέλο πρόβλεψης (predictive modeling): για τη πρόβλεψη της κλάσης άγνωστων εγγραφών – πχ δοσμένων των χαρακτηριστικών κάποιου ζώου να προβλέψουμε αν είναι θηλαστικό, πτηνό, ερπετό ή αμφίβιο Κατάλληλη κυρίως για: δυαδικές κατηγορίες ή κατηγορίες για τις οποίες δεν υπάρχει διάταξη διακριτές (nominal) vs διατεταγμένες (ordinal) για μη ιεραρχικές κατηγορίες Θεωρούμε ότι τιμή (ετικέτα) της κλάσης (γνώρισμα y) είναι διακριτή τιμή Αν όχι, regression (οπισθοδρόμηση) όπου το γνώρισμα y παίρνει συνεχείς τιμές Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΤΑΞΙΝΟΜΗΣΗ ΙΙ
Προεπεξεργασία 1. Καθαρισμός Δεδομένων (data cleaning) Προεπεξεργασία δεδομένων και χειρισμός τιμών που λείπουν (πχ τις αγνοούμε ή τις αντικαθιστούμε με ειδικές τιμές) 2. Ανάλυση Σχετικότητα (Relevance analysis) (επιλογή χαρακτηριστικών (γνωρισμάτων) -- feature selection) Απομάκρυνση των μη σχετικών ή περιττών γνωρισμάτων 3. Μετασχηματισμοί Δεδομένων (Data transformation) Κανονικοποίηση ή/και Γενίκευση Πιθανών αριθμητικά γνωρίσματα κατηγορικά {low,medium,high} Κανονικοποίηση αριθμητικών δεδομένων στο [0,1) Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΤΑΞΙΝΟΜΗΣΗ ΙΙ
Εκτίμηση Μεθόδων Ταξινόμηση Προβλεπόμενη πιστότητα - Predictive accuracy Ταχύτητα (speed) Χρόνος κατασκευής του μοντέλου Χρόνος χρήσης/εφαρμογής του μοντέλου Robustness Χειρισμός θορύβου και τιμών που λείπουν Scalability Αποδοτικότητα σε βάσεις δεδομένων αποθηκευμένες στο δίσκο Interpretability: Πόσο κατανοητό είναι το μοντέλο και τι νέα πληροφορία προσφέρει Ποιότητα - Goodness of rules (quality) Πχ μέγεθος του δέντρου Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΤΑΞΙΝΟΜΗΣΗ ΙΙ
Πλεονεκτήματα Δέντρων Απόφασης Δέντρo Απόφασης Πλεονεκτήματα Δέντρων Απόφασης Μη παραμετρική προσέγγιση: Δε στηρίζεται σε υπόθεση εκ των προτέρων γνώσης σχετικά με τον τύπο της κατανομής πιθανότητας που ικανοποιεί η κλάση ή τα άλλα γνωρίσματα Η κατασκευή του βέλτιστου δέντρου απόφασης είναι ένα NP-complete πρόβλημα. Ευριστικοί: Αποδοτική κατασκευή ακόμα και στην περίπτωση πολύ μεγάλου συνόλου δεδομένων Αφού το δέντρο κατασκευαστεί, η ταξινόμηση νέων εγγραφών πολύ γρήγορη O(h) όπου h το μέγιστο ύψος του δέντρου Εύκολα στην κατανόηση (ιδιαίτερα τα μικρά δέντρα) Η ακρίβεια τους συγκρίσιμη με άλλες τεχνικές για μικρά σύνολα δεδομένων Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΤΑΞΙΝΟΜΗΣΗ ΙΙ
Δέντρo Απόφασης Πλεονεκτήματα Καλή συμπεριφορά στο θόρυβο Η ύπαρξη πλεοναζόντων γνωρισμάτων (γνωρίσματα των οποίων η τιμή εξαρτάται από κάποιο άλλο) δεν είναι καταστροφική για την κατασκευή. Χρησιμοποιείται ένα από τα δύο. Αν πάρα πολλά, μπορεί να οδηγήσουν σε δέντρα πιο μεγάλα από ότι χρειάζεται Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΤΑΞΙΝΟΜΗΣΗ ΙΙ
Δέντρo Απόφασης Εκφραστικότητα Δυνατότητα αναπαράστασης για συναρτήσεις διακριτών τιμών, αλλά δε δουλεύουν σε κάποια είδη δυαδικών προβλημάτων – πχ, parity 0(1) αν υπάρχει μονός (ζυγός) αριθμός από δυαδικά γνωρίσματα 2d κόμβοι για d γνωρίσματα Όχι καλή συμπεριφορά για συνεχείς μεταβλητές Ιδιαίτερα όταν η συνθήκη ελέγχου αφορά ένα γνώρισμα τη φορά Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΤΑΞΙΝΟΜΗΣΗ ΙΙ
πραγματική Μέτρα Εκτίμησης Confusion Matrix (Πίνακας Σύγχυσης) Αφού κατασκευαστεί ένα μοντέλο, θα θέλαμε να αξιολογήσουμε/εκτιμήσουμε την ποιότητα του/την ακρίβεια της ταξινόμησης που πετυχαίνει Έμφαση στην ικανότητα πρόβλεψης του μοντέλου παρά στην αποδοτικότητα του (πόσο γρήγορα κατασκευάζει το μοντέλο ή ταξινομεί μια εγγραφή, κλιμάκωση κλπ.) Confusion Matrix (Πίνακας Σύγχυσης) fij: αριθμός των εγγραφών της κλάσης i που προβλέπονται ως κλάση j πρόβλεψη PREDICTED CLASS πραγματική ACTUAL CLASS Class=Yes Class=No f11 TP f10 FN f01 FP f00 TN TP (true positive) f11 FN (false negative) f10 FP (false positive) f01 TN (true negative) f00 Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΤΑΞΙΝΟΜΗΣΗ
ErrorRate(C) = 1 – Accuracy(C) Μέτρα Εκτίμησης Πιστότητα - Accuracy Πιστότητα (ακρίβεια;) (accuracy) Το πιο συνηθισμένο μέτρο PREDICTED CLASS ACTUAL CLASS Class=Yes Class=No TP FN FP TN = 0 Λόγος Λάθους ErrorRate(C) = 1 – Accuracy(C) Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΤΑΞΙΝΟΜΗΣΗ
Τυχαία Λήψη Δειγμάτων – Random Subsampling Μέθοδοι Αποτίμησης Μοντέλου Τυχαία Λήψη Δειγμάτων – Random Subsampling Επανάληψη της μεθόδου για τη βελτίωσή της έστω k επαναλήψεις, παίρνουμε το μέσο όρο της ακρίβειας Πάλι αφαιρούμε δεδομένα από το σύνολο εκπαίδευσης Ένα ακόμα πρόβλημα είναι ότι μια εγγραφή μπορεί να χρησιμοποιείται (επιλέγεται) ως εγγραφή εκπαίδευσης πιο συχνά από κάποια άλλη Cross validation Διαμοίραση των δεδομένων σε k διαστήματα Κατασκευή του μοντέλου αφήνοντας κάθε φορά ένα διάστημα ως σύνολο ελέγχου και χρησιμοποιώντας όλα τα υπόλοιπα ως σύνολα εκπαίδευσης (μια εγγραφή χρησιμοποιείται ακριβώς μια φορά για έλεγχο και τον ίδιο αριθμό για εκπαίδευση) 2-fold (δύο ίσα υποσύνολα, το ένα μια φορά για έλεγχο – το άλλο για εκπαίδευση και μετά ανάποδα) Αν k = N, (Ν ο αριθμός των εγγραφών) leave-one-out Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΤΑΞΙΝΟΜΗΣΗ
Μέθοδοι Αποτίμησης Μοντέλου Bootstrap Sample with replacement Μια εγγραφή που επιλέχθηκε ως δεδομένο εκπαίδευσης, ξαναμπαίνει στο αρχικό σύνολο Αν Ν δεδομένα, ένα δείγμα Ν στοιχείων 63.2% των αρχικών Πιθανότητα ένα δεδομένο να επιλεγεί 1 – [1-(1/Ν)]Ν Για μεγάλο Ν, η πιθανότητα επιλογής τείνει ασυμπτωτικά στο 1-e-1 = 0.632, πιθανότητα μη επιλογής 0.368 Οι υπόλοιπες εγγραφές (όσες δεν επιλεγούν στο σύνολο εκπαίδευσης) – εγγραφές ελέγχου .632 boostrap Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΤΑΞΙΝΟΜΗΣΗ
Άλλα Μέτρα Εκτίμησης πέραν της Πιστότητας Πίνακας σύγχυσης PREDICTED CLASS ACTUAL CLASS Class=Yes Class=No TP FN FP TN Πιστότητα (accuracy) -- υπενθύμιση -- Λόγος Λάθους Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΤΑΞΙΝΟΜΗΣΗ
C(M) = TP x C(Yes|Yes) + FN x C(Yes|No) + FP C(No|Yes) + TN C(No|No) Μέτρα Εκτίμησης Πίνακας Κόστους PREDICTED CLASS ACTUAL CLASS C(i|j) Class=Yes Class=No C(Yes|Yes) C(Yes|No) C(No|Yes) C(No|No) C(i|j): κόστος λανθασμένης ταξινόμησης ενός παραδείγματος της κλάσης i ως κλάση j βάρος C(M) = TP x C(Yes|Yes) + FN x C(Yes|No) + FP C(No|Yes) + TN C(No|No) Αρνητική τιμή κόστους σημαίνει επιπρόσθετη «επιβράβευση» σωστής πρόβλεψης Στα προηγούμενα, είχαμε C(YES|YES) = C(NO|NO) = 0 και C(YES|NO) = C(NO|YES) = 1 Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΤΑΞΙΝΟΜΗΣΗ
Υπολογισμός του Κόστους της Ταξινόμησης Μέτρα Εκτίμησης Υπολογισμός του Κόστους της Ταξινόμησης Cost Matrix PREDICTED CLASS ACTUAL CLASS C(i|j) + - -1 100 1 C(i|j): κόστος λανθασμένης ταξινόμησης ενός παραδείγματος της κλάσης i ως κλάση j Model M1 PREDICTED CLASS ACTUAL CLASS + - 150 40 60 250 Model M2 PREDICTED CLASS ACTUAL CLASS + - 250 45 5 200 Accuracy = 80% Cost = 3910 Accuracy = 90% Cost = 4255 Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΤΑΞΙΝΟΜΗΣΗ
Ταξινόμηση που λαμβάνει υπό όψιν της το κόστος Μέτρα Εκτίμησης Ταξινόμηση που λαμβάνει υπό όψιν της το κόστος Κατασκευή Δέντρου Ταξινόμησης Επιλογή γνωρίσματος στο οποίο θα γίνει η διάσπαση Στην απόφαση αν θα ψαλιδιστεί κάποιο υπο-δέντρο Στον καθορισμό της κλάσης του φύλλου Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΤΑΞΙΝΟΜΗΣΗ
Κόστος vs Πιστότητας (Accuracy) Μέτρα Εκτίμησης Κόστος vs Πιστότητας (Accuracy) Count PREDICTED CLASS ACTUAL CLASS Class=Yes Class=No a b c d Η πιστότητα είναι ανάλογη του κόστους αν: 1. C(Yes|No)=C(No|Yes) = q 2. C(Yes|Yes)=C(No|No) = 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] Cost PREDICTED CLASS ACTUAL CLASS Class=Yes Class=No p q Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΤΑΞΙΝΟΜΗΣΗ
Μέτρα Εκτίμησης Άλλες μετρήσεις με βάση τον πίνακα σύγχυσης PREDICTED CLASS ACTUAL CLASS Class=Yes Class=No TP FN FP TN True positive rate or sensitivity: Το ποσοστό των θετικών παραδειγμάτων που ταξινομούνται σωστά True negative rate or specificity: Το ποσοστό των αρνητικών παραδειγμάτων που ταξινομούνται σωστά Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΤΑΞΙΝΟΜΗΣΗ
Μέτρα Εκτίμησης Άλλες μετρήσεις με βάση τον πίνακα σύγχυσης PREDICTED CLASS ACTUAL CLASS Class=Yes Class=No TP FN FP TN False positive rate: Το ποσοστό των αρνητικών παραδειγμάτων που ταξινομούνται λάθος (δηλαδή, ως θετικά) False negative rate: Το ποσοστό των θετικών παραδειγμάτων που ταξινομούνται λάθος (δηλαδή, ως αρνητικά) Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΤΑΞΙΝΟΜΗΣΗ
Μέτρα Εκτίμησης Recall (ανάκληση) – Precision (ακρίβεια) PREDICTED CLASS ACTUAL CLASS Class=Yes Class=No TP FN FP TN Πόσα από τα παραδείγματα που ο ταξινομητής έχει ταξινομήσει ως θετικά είναι πραγματικά θετικά Όσο πιο μεγάλη η ακρίβεια, τόσο μικρότερος o αριθμός των FP Precision Πόσα από τα θετικά παραδείγματα κατάφερε ο ταξινομητής να βρει Όσο πιο μεγάλη η ανάκληση, τόσο λιγότερα θετικά παραδείγματα έχουν ταξινομεί λάθος (=TPR) Recall Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΤΑΞΙΝΟΜΗΣΗ
Μέτρα Εκτίμησης Recall (ανάκληση) – Precision (ακρίβεια) Precision Πόσα από τα παραδείγματα που ο ταξινομητής έχει ταξινομήσει ως θετικά είναι πραγματικά θετικά Precision Πόσα από τα θετικά παραδείγματα κατάφερε ο ταξινομητής να βρει Recall Συχνά το ένα καλό και το άλλο όχι Πχ, ένας ταξινομητής που όλα τα ταξινομεί ως θετικά, την καλύτερη ανάκληση με τη χειρότερη ακρίβεια Πώς να τα συνδυάσουμε; Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΤΑΞΙΝΟΜΗΣΗ
Μέτρα Εκτίμησης Precision - C(Yes|Yes) & C(Yes|No) Recall - C(Yes|Yes) & C(No|Yes) F-measure όλα εκτός του C(No|No) w1 w2 w3 w4 Recall 1 Precision F1 2 Accuracy Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΤΑΞΙΝΟΜΗΣΗ
ROC (Receiver Operating Characteristic Curve) Αναπτύχθηκε στη δεκαετία 1950 για την ανάλυση θορύβου στα σήματα Χαρακτηρίζει το trade-off μεταξύ positive hits και false alarms Η καμπύλη ROC δείχνει τα TPR (στον άξονα των y) προς τα FPR (στον άξονα των x) Η απόδοση κάθε ταξινομητή αναπαρίσταται ως ένα σημείο στην καμπύλη ROC Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΤΑΞΙΝΟΜΗΣΗ
Αποτίμηση Μοντέλου: ROC (TP,FP): (0,0): declare everything to be negative class (1,1): declare everything to be positive class (1,0): ideal Diagonal line: Random guessing Μια εγγραφή θεωρείται θετική με καθορισμένη πιθανότητα p ανεξάρτητα από τις τιμές των γνωρισμάτων της Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΤΑΞΙΝΟΜΗΣΗ
Αποτίμηση Μοντέλου: ROC Καλοί ταξινομητές κοντά στην αριστερή πάνω γωνία του διαγράμματος Κάτω από τη διαγώνιο Πρόβλεψη είναι το αντίθετο της πραγματικής κλάσης Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΤΑΞΙΝΟΜΗΣΗ
Ταξινομητές με Κανόνες Κάλυψη Κανόνα - Coverage: Το ποσοστό των εγγραφών που ικανοποιούν το LHS του κανόνα Πιστότητα Κανόνα - Accuracy: Το ποσοστό των κανόνων που καλύπτουν και το LHS και το RHS του κανόνα (Status=Single) No Coverage = 40%, Accuracy = 50% Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΤΑΞΙΝΟΜΗΣΗ
Χαρακτηριστικά Ταξινομητών με Κανόνες Ταξινομητές με Κανόνες Χαρακτηριστικά Ταξινομητών με Κανόνες Αμοιβαία αποκλειόμενοι κανόνες (Mutually exclusive rules) Ένας ταξινομητής περιέχει αμοιβαία αποκλειόμενους κανόνες αν οι κανόνες είναι ανεξάρτητοι ο ένας από τον άλλο Κάθε εγγραφή καλύπτεται από το πολύ έναν κανόνα Εξαντλητικοί κανόνες (Exhaustive rules) Ένας ταξινομητής έχει εξαντλητική κάλυψη (coverage) αν καλύπτει όλους τους πιθανούς συνδυασμούς τιμών γνωρισμάτων Κάθε εγγραφή καλύπτεται από τουλάχιστον έναν κανόνα Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΤΑΞΙΝΟΜΗΣΗ
Ταξινομητές με Κανόνες Κάλυψη Κανόνα - Coverage: Το ποσοστό των εγγραφών που ικανοποιούν το LHS του κανόνα Πιστότητα Κανόνα - Accuracy: Το ποσοστό των κανόνων που καλύπτουν και το LHS και το RHS του κανόνα (Status=Single) No Coverage = 40%, Accuracy = 50% Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΤΑΞΙΝΟΜΗΣΗ
Χαρακτηριστικά Ταξινομητών με Κανόνες Ταξινομητές με Κανόνες Χαρακτηριστικά Ταξινομητών με Κανόνες Αμοιβαία αποκλειόμενοι κανόνες (Mutually exclusive rules) Ένας ταξινομητής περιέχει αμοιβαία αποκλειόμενους κανόνες αν οι κανόνες είναι ανεξάρτητοι ο ένας από τον άλλο Κάθε εγγραφή καλύπτεται από το πολύ έναν κανόνα Εξαντλητικοί κανόνες (Exhaustive rules) Ένας ταξινομητής έχει εξαντλητική κάλυψη (coverage) αν καλύπτει όλους τους πιθανούς συνδυασμούς τιμών γνωρισμάτων Κάθε εγγραφή καλύπτεται από τουλάχιστον έναν κανόνα Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΤΑΞΙΝΟΜΗΣΗ
Ανάκτηση Πληροφορίας Βασικές Μετρικές Relevant Relevant & Retrieved Retrieved All Documents Βασικές Μετρικές Precision – Ακρίβεια: το ποσοστό των ανακτημένων εγγράφων που είναι σχετικά με την ερώτηση (δηλαδή, το ποσοστό των «σωστών» απαντήσεων») Recall – Ανάκληση: το ποσοστό των σχετικών εγγράφων που ανακτούνται Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 ΠΑΓΚΟΣΜΙΟΣ ΙΣΤΟΣ
Εισαγωγή: OLTP Παραδοσιακή Διαχείριση Δεδομένων με ΣΔΒΔ Σύστημα Επεξεργασίας Δοσοληψιών– On-Line Transaction Processing (OLTP) Ένα πλήρες σύστημα που περιέχει εργαλεία για προγραμματισμό εφαρμογών, εκτέλεση και διαχείριση των δοσοληψιών Μια τέτοια εφαρμογή πρέπει να δουλεύει συνεχώς, να αντεπεξέρχεται αποτυχιών, εξελίσσεται συνεχώς, είναι συνήθως κατανεμημένη και περιλαμβάνει: Βάση Δεδομένων Δίκτυο Προγράμματα εφαρμογής Εξαιρετικά κρίσιμη για τη λειτουργία κάθε οργανισμού Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 Αποθήκες Δεδομένων
Εισαγωγή: OLTP OLTP – Βασικά Χαρακτηριστικά Ελάχιστος χρόνος διαθέσιμος για την εκτέλεση μιας δοσοληψίας. Λιγότερες από 10 προσβάσεις δίσκου. Περιορισμένος αριθμός υπολογισμών. Κάτω όριο λειτουργικών απαιτήσεων: 100 on-line Transactions Per Second (TPS) σε μια ΒΔ της τάξης του 1 GB Άνω όριο λειτουργικών απαιτήσεων: 50000 TPS σε μια ΒΔ μεγαλύτερη του 1 ΤB. Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 Αποθήκες Δεδομένων
Εισαγωγή: OLΑP Συστήματα Στήριξης Αποφάσεων – Decision Support Systems (DSS) Υποβοήθηση λήψης αποφάσεων με πληροφορίες και αναφορές On-Line Analytical Processing (OLAP) Ευέλικτη, υψηλής απόδοσης πρόσβαση και ανάλυση μεγάλου όγκου σύνθετων δεδομένων από διαφορετικές εφαρμογές Ειδικού τύπου ερωτήσεις Οπτικοποίηση/στατιστική ανάλυση/πολυδιάστατη ανάλυση Εξόρυξη Γνώσης (Knowledge Discovery/Data Mining) Εξεύρεση προτύπων σε τεράστιες βάσεις δεδομένων OLAP + Data Mining => On-line Analytical Mining Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 Αποθήκες Δεδομένων
Παραδείγματα ερωτήσεων OLAP Εισαγωγή: OLΑP Παραδείγματα ερωτήσεων OLAP Ποιος ήταν ο όγκος πωλήσεων ανά περιοχή και κατηγορία προϊόντος την περασμένη χρονιά; Πόσο σχετίζονται οι αυξήσεις τιμών των υπολογιστών με τα κέρδη των πωλήσεων τα 10 τελευταία χρόνια; Ποια ήταν τα δέκα πρώτα καταστήματα σε πωλήσεις CD; Πόσους δίσκους πουλήσαμε στην Πελοπόννησο το τελευταίο τέταρτο της περσινής χρονιάς σε καταστήματα με κατανάλωση μεγαλύτερη από 100 δίσκους μηνιαίως, και ποιο το κέρδος μας από αυτές τις πωλήσεις; Τι ποσοστό από τους πελάτες που αγοράζουν αναψυκτικά αγοράζουν και πατατάκια; Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 Αποθήκες Δεδομένων
Λειτουργικά Χαρακτηριστικά Απαιτήσεων OLAP Εισαγωγή: OLΑP Λειτουργικά Χαρακτηριστικά Απαιτήσεων OLAP Πρόσβαση σε μεγάλο όγκο δεδομένων Συμμετοχή αθροιστικών και ιστορικών δεδομένων σε πολύπλοκες ερωτήσεις Μεταβολή της «οπτικής γωνίας» παρουσίασης των δεδομένων (π.χ., από πωλήσεις ανά περιοχή -> πωλήσεις ανά τμήμα κλπ.) Συμμετοχή πολύπλοκων υπολογισμών (π.χ. στατιστικές συναρτήσεις) Γρήγορη απάντηση σε οποιαδήποτε χρονική στιγμή τεθεί ένα ερώτημα ( “On-Line”). Πως θα το πετύχουμε; Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 Αποθήκες Δεδομένων
Εισαγωγή: Αποθήκη Δεδομένων Αποθήκες Δεδομένων Μια κεντρικοποιημένη ΒΔ με σκοπό: την ολοκλήρωση (integration) ετερογενών πηγών πληροφοριών (data sources) => συνάθροιση όλης της ενδιαφέρουσας πληροφορίας σε μία τοποθεσία την αποφυγή της σύγκρουσης μεταξύ OLTP και OLAP (DSS) συστημάτων => απόδοση εφαρμογών και διαθεσιμότητα του συστήματος Μπορεί να συμπληρώνεται και από εξειδικευμένα θεματικά υποσύνολα (Data Marts) για περαιτέρω απόδοση των OLAP εφαρμογών Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 Αποθήκες Δεδομένων
Εισαγωγή: Αποθήκη Δεδομένων Αποθήκες Δεδομένων Μια ΒΔ υποστήριξης αποφάσεων, που διατηρείται χωριστά από την ΒΔ παραγωγής (operational database) ενός οργανισμού. S. Chaudhuri, U. Dayal, VLDB’96 tutorial Μια συλλογή δεδομένων που χρησιμοποιείται κυρίως για την λήψη αποφάσεων σε ένα οργανισμό, και είναι θεματικά προσανατολισμένη, έχει ολοκληρωμένα (ενοποιημένα) δεδομένα, τα οποία διατηρούνται σε βάθος χρόνου χωρίς να διαγράφονται. W.H. Inmon, Building the Data Warehouse, 1992 (ο εφευρέτης του όρου) Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 Αποθήκες Δεδομένων
Προτερήματα/Ιδιότητες Εισαγωγή: Αποθήκη Δεδομένων Προτερήματα/Ιδιότητες Εννοιολογική εναρμόνιση Οι διαφορετικές πηγές δεδομένων του ίδιου οργανισμού, μοντελοποιούν τις ίδιες οντότητες με διαφορετικούς τρόπους Η Αποθήκη Δεδομένων περιλαμβάνει το σύνολο αυτών των δεδομένων κάτω από ένα εναρμονισμένο σχήμα βάσης Ποιότητα Δεδομένων Η ποιότητα των δεδομένων στις πηγές είναι συχνά προβληματική (τα δεδομένα μπορεί να μην είναι πλήρη, να έχουν ασυνέπειες, να είναι παλιά, να παραβιάζουν τους λογικούς και δομικούς κανόνες αξιοπιστίας, κλπ) Έχει βρεθεί ότι τουλάχιστο 10% των δεδομένων είναι προβληματικά στις πηγές, με αποτέλεσμα οικονoμικές απώλειες του 25-40% Πριν την εισαγωγή στις αποθήκες δεδομένων καθαρισμός, επίσης λειτουργεί και ως ένα ενδιάμεσο σύστημα στον οποίο καθαρίζουμε τα δεδομένα Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 Αποθήκες Δεδομένων
Προτερήματα/Ιδιότητες Εισαγωγή: Αποθήκη Δεδομένων Προτερήματα/Ιδιότητες Απόδοση Οι εφαρμογές OLAP επιταχύνονται αν τα δεδομένα οργανωθούν με μη παραδοσιακούς τρόπους (π.χ., απο-κανονικοποιημένα) ΣΔΒΔ για OLTP (ευρετήρια, επεξεργασία δοσοληψιών) Οι σύνθετες OLAP ερωτήσεις θα συγκρούονταν με τις παραδοσιακές OLTP δοσοληψίες, με αποτέλεσμα την υπερφόρτωση του συστήματος Θεματικά προσανατολισμένη: Διατήρηση μόνο των σχετικών δεδομένων Διαθεσιμότητα Όσο περισσότερα αντίγραφα των δεδομένων, τόσο πιο πολύ το σύστημα είναι διαθέσιμο*, αφενός στην Αποθήκη Δεδομένων και αφετέρου στις πηγές *Διαθεσιμότητα: το ποσοστό του χρόνου που το σύστημα είναι σε λειτουργία και προσβάσιμο στις εφαρμογές. 24x7: Οι OLTP εφαρμογές, σε πολλούς οργανισμούς πρέπει να είναι διαθέσιμες 24 ώρες Χ 7 μέρες τη βδομάδα (π.χ., τράπεζες, αεροπορικές εταιρείες,...) Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 Αποθήκες Δεδομένων
Προτερήματα/Ιδιότητες Εισαγωγή: Αποθήκη Δεδομένων Προτερήματα/Ιδιότητες Ιστορικά Δεδομένα Ο χρονικός ορίζοντας μια αποθήκης δεδομένων είναι πολύ μεγαλύτερος από ότι ενός συστήματος σε λειτουργία Η ΒΔ έχει τα τωρινά δεδομένα ενώ οι αποθήκες διατηρούν και παλιά δεδομένα (πχ τα προηγούμενα 5-10 χρόνια) Τροποποιήσεις Οι τροποποιήσεις στις πηγές δεδομένων δεν φαίνονται άμεσα στις αποθήκες δεδομένων, συνήθως περιοδικά Μόνο δύο βασικές λειτουργίες: αρχικό φόρτωμα των δεδομένων (loading) και προσπέλαση δεδομένων (access) Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 Αποθήκες Δεδομένων
Εισαγωγή: Αποθήκη Δεδομένων OLTP vs OLAP OLTP OLAP Δομή Files/DBMS’s RDBMS Πρόσβαση SQL/COBOL/… SQL + επεκτάσεις Ανάγκες που Αυτοματισμός Άντληση και καλύπτουν καθημερινών επεξεργασία πληροφ. εργασιών για χάραξη στρατηγικής Τύπος Δεδομένων Λεπτομερή Συνοπτικά, Αθροιστικά Λειτουργικά Όγκος Δεδομένων ~ 100 GB ~ 1 TB Φύση Δεδομένων Δυναμικά, Τρέχοντα Στατικά, Ιστορικά Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 Αποθήκες Δεδομένων
Εισαγωγή: Αποθήκη Δεδομένων OLTP vs OLAP OLTP OLAP I/O Τύποι Περιορισμένο I/O Εκτεταμένο I/Os Συχνά disk seeks disk scans Τροποποιήσεις Συνεχείς Περιοδικές Ενημερώσεις Μέτρηση Απόδοσης Throughput Χρόνος Απόκρισης Φόρτος Δοσοληψίες με Ερωτήσεις που πρόσβαση λίγων σαρώνουν εγγραφών εκατομμύρια εγγραφών Σχεδίαση ΒΔ Κατευθυνόμενη Κατευθυνόμενη από Εφαρμογή από Περιεχόμενο Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 Αποθήκες Δεδομένων
Εισαγωγή: Αποθήκη Δεδομένων OLTP vs OLAP OLTP OLAP Τυπικοί Χρήστες Χαμηλόβαθμοι Υπ. Υψηλόβαθμοι Υπ. Χρήση Μέσω Ad-hoc προκατασκευασμένων φορμών Αριθμός Χρηστών Χιλιάδες Δεκάδες Εστίαση Εισαγωγή Εξαγωγή Δεδομένων Πληροφοριών Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 Αποθήκες Δεδομένων
OLTP System Online Transaction Processing (Operational System) OLAP System Online Analytical Processing (Data Warehouse) Προέλευση Δεδομένων Επιχειρησιακά Δεδομένα; OLTP συστήματα συλλέγουν δεδομένα. Συγκεντρωτικά Δεδομένα; OLAP συστήματα αποθηκεύουν δεδομένα από πολλά OLTP συστήματα. Χρησιμότητα Δεδομένων Η διεκπεραίωση καθημερινών επιχειρησιακών απαιτήσεων. Η υποστήριξη λήψης αποφάσεων σε στρατηγικό επίπεδο Είδος Δεδομένων Υποσύνολο του συνολικού όγκου δεδομένων Πολυδιάστατες όψεις όλου του συνόλου των δεδομένων Καταχωρήσεις & Αλλαγές δεδομένων Συχνές, μικρές και γρήγορες καταχωρήσεις από τους χρήστες Περιοδικές καταχωρήσεις μεγάλου όγκου δεδομένων Ερωτήματα Απλά, καθημερινά ερωτήματα μικρού φόρτου. Περίπλοκα ερωτήματα με απαιτητικούς υπολογισμούς Απαιτήσεις Αποθηκευτικού Χώρου Σχετικά μικρό, τα δεδομένα αρχειοθετούνται. Τεράστιος Αποθηκευτικός Χώρος λόγω της ιστορικότητας και του όγκου των υπολογισμών Σχήμα Βάσης Κανονικοποιημένες βάσεις με πολλά τραπέζια. Μη Κανονικοποιημένες βάσεις, Σχήμα αστεριού ή νιφάδας. Backup and Recovery Τακτικά Backup δεδομένων, σοβαρές συνέπιες σε περίπτωση απώλειας δεδομένων Δεν απαιτείται Backup, συνέπειες μόνο στη λήψη αποφάσεων. Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 Αποθήκες Δεδομένων
Μετρήσεις - Συναθροίσεις Υπάρχουν τρεις κατηγορίες μετρήσεων: Κατανεμημένες (Distributive): αν μπορούμε να διαμερίσουμε τα δεδομένα και να υπολογίσουμε τη συναθροιστική συνάρτηση σε κάθε διαμέριση ξεχωριστά και σχεδόν άμεσα από αυτές τις τιμές να υπολογίσουμε την ολική τιμή Πχ count(), sum(), min(), max() Αλγεβρικές (Algebraic): πάλι μπορούμε να υπολογίσουμε την ολική τιμή της συνάρτησης από τις τιμές της συνάρτησης στις διαμερίσεις χρησιμοποιώντας M γνωρίσματα (όπου M σταθερά), Πχ. avg(), min_N(), standard_deviation() Ολιστικές (Holistic): δεν υπάρχει όριο (πολυπλοκότητα) σταθερής τάξης για το χώρο αποθήκευσης που χρειαζόμαστε για τον υπολογισμό της ολικής τιμής από τις τιμές στις διαμερίσεις, Πχ. median(), mode(), rank() Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 Αποθήκες Δεδομένων
Βασικές Αλγεβρικές Πράξεις Συναθροιστική Άνοδος (Roll up): συνάθροιση της πληροφορίας = μετάβαση από χαμηλότερο σε υψηλότερο επίπεδο αδρομέρειας (π.χ. από day σε month) Αναλυτική Κάθοδος (Drill down): το αντίστροφο του Roll up (π.χ month σε day) Οριζόντιος Τεμαχισμός (Slice): (σχεσιακή) επιλογή Κάθετος Τεμαχισμός (Dice): (σχεσιακή) προβολή Περιστροφή (Pivot): αναδιάταξη της 2D προβολής του πολυδιάστατου κύβου στην οθόνη Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 Αποθήκες Δεδομένων
Οριζόντιος (slice) και Κάθετος (dice) Τεμαχισμός Βασικές Αλγεβρικές Πράξεις Οριζόντιος (slice) και Κάθετος (dice) Τεμαχισμός Slice : Επιλογή συγκεκριμένων τιμών σε κάποια διάσταση (select) Π.χ., διώξε το Store 2 από τα καταστήματα και τις βιομηχανίες Clothing και Cosmetics Dicing : Σβήσιμο μιας ολόκληρης διάστασης (project) Π.χ., από ένα κύβο πωλήσεων ανά προϊόν, ημερομηνία και περιοχή, να δειχθεί ο μέσος όρος πωλήσεων ανά προϊόν και ημερομηνία. Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 Αποθήκες Δεδομένων
Βασικές Αλγεβρικές Πράξεις Rollup & Cube Τελεστής Rollup group by rollup product, store, city group by product, store, city group by store, city group by city Τελεστής Cube για όλους τους δυνατούς συνδυασμούς group by cube product, store, city group by κάθε υποσύνολο του {product, store, city}, ανεξάρτητα από τη σειρά που έδωσα στις στήλες αυτές στην εντολή Το αποτέλεσμα των τελεστών δεν παράγει πολλούς μικρούς πίνακες, αλλά έναν πίνακα με εγγραφές με NULL όπου δεν αντιστοιχεί τιμή Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 Αποθήκες Δεδομένων
Metadata Repository Data Marts ETL ETL 4o Επίπεδο: Presentation Layer ETL 3o Επίπεδο: Storage Layer 2o Επίπεδο: Staging Layer 1o Επίπεδο: Landing Layer Sources (Πηγές) – OLTP Συστήματα Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 Αποθήκες Δεδομένων
Αρχιτεκτονικές Μονάδες 0. Sources (Πηγές): Κάθε πηγή από την οποία η Αποθήκη Δεδομένων αντλεί δεδομένα, OLTP Συστήματα. 1. Data Landing Layer: 1:1 Αντίγραφα των Πηγών για backup. 2. Data Staging Layer: Μια ΣΒΔ στην οποία εκτελούνται ο καθαρισμός/εμπλουτισμός, οι μετασχηματισμοί και η ομογενοποίηση των δεδομένων. 3. Storage Layer: Τα ομογενοποιημένα και διασυνδεδεμένα δεδομένα αποθηκεύονται σε σχεσιακό σχήμα. 4. Presentation Layer: Τα δεδομένα αποθηκεύονται σε σχήμα αστεριού για γρήγορη ανάγνωση. Βάση Μετα-Δεδομένων (Metadata Repository): Το υποσύστημα αποθήκευσης πληροφορίας σχετικά με τη δομή και λειτουργία όλου του συστήματος. 5. Data Marts: Υποδιαιρέσεις των συνολικών δεδομένων με συγκεκριμένο περιεχόμενο. Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 Αποθήκες Δεδομένων
Αρχιτεκτονική: Μετασχηματισμοί Back-End Εργαλεία ETL (Extract-Transform-Load) εφαρμογές: Εφαρμογές που εκτελούν τις διαδικασίες Εξαγωγής, μεταφοράς, μετασχηματισμού, καθαρισμού και φόρτωσης των δεδομένων από τις πηγές στην Αποθήκη Δεδομένων. Front-End Εργαλεία Εφαρμογές Ανάλυσης: Εφαρμογές παραγωγής αναφορών, OLAP , DSS, Data Mining Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 Αποθήκες Δεδομένων
Μετασχηματισμοί Back-End Εργαλεία Data extraction Data cleaning Φέρε δεδομένα από πολλαπλές, ετερογενείς και εξωτερικές πηγές Data cleaning Εντοπισμός λαθών στα δεδομένα και διόρθωση τους όταν είναι δυνατόν Παραδείγματα: Δεδομένα που παραβιάζουν τους κανόνες της βάσης: διπλοεγγραφές, παραβιάσεις πρωτεύοντος ή ξένου κλειδιού, τιμές εκτός ορίων, παραβιάσεις λογικών κανόνων, κλπ Συνώνυμα και συγκρούσεις Ελλιπή δεδομένα Ομογενοποίηση κλειδιού Data transformation Μετατροπή των δεδομένων από το τοπικό format στο format της αποθήκης Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 Αποθήκες Δεδομένων
Μετασχηματισμοί Back-End Εργαλεία Load Refresh Ταξινόμηση, δημιουργία περίληψης, ενοποίηση (consolidate), υπολογισμός όψεων, έλεγχος integrity, δημιουργία ευρετηρίων και διαμερίσεων Η ενημέρωση / εισαγωγή δεδομένων στην πράξη δε γίνεται μέσω SQL, συνήθως μέσω εργαλείων batch loading που διαθέτουν όλα τα ΣΔΒΔ Refresh Μετέφερε τις τροποποιήσεις από τις πηγές δεδομένων στην αποθήκη δεδομένων Εξόρυξη Δεδομένων: Ακ. Έτος 2017-2018 Αποθήκες Δεδομένων