ΑΝΑΣΚΟΠΗΣΗ Αποθήκες και Εξόρυξη Δεδομένων
Η διαδικασίας της ανακάλυψης γνώσης Knowledge Discovery (KDD) Process Εξόρυξη δεδομένων- πυρήνας της διαδικασίας ανακάλυψης γνώσης Pattern Evaluation Task- relevant Data Data Mining Data Warehouse Selection Data Cleaning Data Integration Databases 2
Μέθοδοι συσταδοποίησης Διαιρετικοί αλγόριθμοι (Partitional algorithms) K- Means and K- medoids PAM, CLARA, CLARANS [Ng and Han, VLDB 1994] Ιεραρχικοί (Hierarchical algorithms) CURE [Guha et al, SIGMOD 1998] BIRCH [Zhang et al, SIGMOD 1996] Με βάση την πυκνότητα (Density based algorithms ) DBSCAN [Ester et al, KDD 96] Συσταδοποίηση υποχώρων (Subspace Clustering) CLIQUE [Agrawal et al, SIGMOD 1998] PROCLUS [Agrawal et al, SIGMOD 1999] 3 May 30, 2017
Δοθέντων: Συσταδοποίηση ενός συνόλου δεδομένων D={t1, t2,, tn} ενός μέτρου ομοιότητας sim(t i, t j ) μεταξύ δύο εγγραφών της ΒΔ και μιας ακέραιας τιμής k, το Πρόβλημα της Συσταδοποίησης είναι η εύρεση μίας απεικόνισης f : Dà {1,..., k} όπου κάθε σημείο t i του συνόλου δεδομένων απεικονίζεται σε μία συστάδα K j, 1 j k, έτσι ώστε: για κάθε σημείο η ομοιότητα μεταξύ αυτού και οποιουδήποτε σημείου από την ίδια συστάδα να είναι μεγαλύτερη από την ομοιότητα μεταξύ αυτού και οποιουδήποτε σημείου από άλλες συστάδες. Μία Συστάδα, K j, περιέχει ακριβώς εκείνα τα σημεία που αντιστοιχίζονται σε αυτήν. 4 May 30, 2017
Διεργασία (1): Κατασκευή μοντέλου Classification Algorithms NAME RANK Training Data YEARS TENURED Mike Assistant Prof 3 no Mary Assistant Prof 7 yes Bill Professor 2 yes Jim Associate Prof 7 yes Dave Assistant Prof 6 no Anne Associate Prof 3 no Classifier (Model) IF rank = professor OR years > 6 THEN tenured = yes Αποθήκες και Εξόρυξη Δεδομένων, Παν. Πειραιά 5
Διεργασία (2): Χρήση μοντέλου για πρόβλεψη Classifier Testing Data Unseen Data (Jeff, Professor, 4) NAME RANK YEARS TENURED Tom Assistant Prof 2 no Merlisa Associate Prof 7 no George Professor 5 yes Joseph Assistant Prof 7 yes Tenured? Αποθήκες και Εξόρυξη Δεδομένων, Παν. Πειραιά 6
ID3: Ορισμοί Η πληροφορία που απαιτείται για να αναγνωρίσουμε την κατηγορία ενός στοιχείου του S, ονομάζεται Εντροπία του S: Entropy (S)=Info(S) = -Σp(I) log 2 p(i) όπου p(i) το ποσοστό του S που ανήκει στη κατηγορία I. Η πληροφορία που απαιτείται για να αναγνωρίσουμε τη κατηγορία ενός στοιχείου του S, Info (S,A), αφού τμηματοποιήσουμε το S με βάση τη τιμή ενός χαρακτηριστικού Α σε σύνολα S v : Info (S,A) = Σ [( Sv / S ) * Entropy(S v )] Gain(S, A) είναι το κέρδος πληροφορίας του συνόλου S με βάση τα χαρακτηριστικό A. Gain(S, A) = Info(S) Info ( S,A) Αποθήκες και Εξόρυξη Δεδομένων, Παν. Πειραιά 7
Outlook Temperature Humidity Wind Play_ball Sunny Hot High Weak No Sunny Hot High Strong No Overcast Hot High Weak Yes Rain Mild High Weak Yes Rain Cool Normal Weak Yes Rain Cool Normal Strong No Overcast Cool Normal Strong Yes Sunny Mild High Weak No Sunny Cool Normal Weak Yes RAin Mild Normal Weak Yes Sunny Mild Normal Strong Yes Overcast Mild High Strong Yes Overcast Hot Normal Weak Yes Rain Mild High Strong No Info(S) = - 5/14 log 2 (5/14) - 9/14log 2 (9/14) =0.94 Info(S,Outlook) = 5/14 Entropy(Sunny) +4/14Entropy(Overcast)+5/14Entropy(rain) Entropy(sunny) = - 3/5 log 2 (3/5)- 2/5log2(2/5) Entropy(overcast) = - 4/4log 2 (4/4) - 0/4log 2 (0/4)=0 Entropy (rain) = - 3/4log 2 (3/4) - 2/4log 2 (2/4) Gain(S, Outlook) =Info(S)- Info(S,Outlook)
Bayesian Θεώρημα Έστω το σύνολο εκπαίδευσηςd, posteriori probability της υπόθεσης h, P(h D) ακολουθεί το θεώρημα Bayes P ( h D) = P( D h) P( h) P( D) MAP (maximum posteriori) υπόθεση h argmaxp( h D) = argmaxp( D h) P( h MAP h H h H Ένα πρότυπο κατηγοριοποιείται στη κατηγορία με τη μεγαλύτερη posterior probability. Πρόβλημα:απαιτεί αρχική γνώση από όλες τις πιθανότητες, σημαντικό υπολογιστικό κόστος ). Αποθήκες και Εξόρυξη Δεδομένων, Παν. Πειραιά 9 May 30, 2017
Play- tennis παράδειγμα: εκτίμηση P(x i C) Outlook Temperature Humidity Windy 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 P(p) = 9/14 P(n) = 5/14 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) = 2/5 windy P(true p) = 3/9 P(true n) = 3/5 P(false p) = 6/9 P(false n) = 2/5 10
Play- tennis παράδειγμα: κατηγοριοποίηση X Έστω ένα στοιχείο που δεν γνωρίζουμε την κατηγοριοποίηση του 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) Αποθήκες και Εξόρυξη Δεδομένων, Παν. Πειραιά 11 May 30, 2017
Τι είναι η εξόρυξη συσχετίσεων? Εξόρυξη κανόνων συσχέτισης: ü Εύρεση συχνών προτύπων, συσχετίσεων ή ανάμεσα σε σύνολα αντικειμένων σε ΒΔ δοσοληψιών, σχεσιακών ΒΔ και άλλων αποθηκών πληροφορίας. Εφαρμογές: ü Basket data analysis, cross- marketing, catalog design, loss- leader analysis, clustering, classification, etc. Παραδείγματα ü Μορφή κανόνα: Body à Head [support, confidence]. ü buys(x, pizza ) à buys(x, beers ) [0.5%, 60%] ü major(x, CS ) ^ takes(x, DB ) à grade(x, A ) [1%, 75%] Αποθήκες και Εξόρυξη Δεδομένων, Παν. Πειραιώς 12 19/11/2007
Minimum Support: 2 trans Database D TID Items 100 1 3 4 200 2 3 5 300 1 2 3 5 400 2 5 ΑλγόριθμοςApriori Παράδειγμα Scan D itemset sup. {1} 2 {2} 3 {3} 3 {4} 1 {5} 3 C 1 L 1 itemset sup {1 2} 1 {1 3} 2 {1 5} 1 {2 3} 2 {2 5} 3 {3 5} 2 C 2 C 2 L 2 itemset sup Scan D {1 3} 2 {2 3} 2 {2 5} 3 {3 5} 2 C 3 itemset Scan D L 3 {2 3 5} itemset sup {2 3 5} 2 itemset sup. {1} 2 {2} 3 {3} 3 {5} 3 itemset {1 2} {1 3} {1 5} {2 3} {2 5} {3 5} Αποθήκες και Εξόρυξη Δεδομένων, Παν. Πειραιώς 13 19/11/2007
Άσκηση (1) Έστω η παρακάτω βάση δεδοµένων η οποία έχει τέσσερις συναλλαγές. Εστω min_sup = 60% και min_conf = 80%. Cust_ID TID Items_bought(Κατηγορία αντικειμένου) 01 T100 { Crab, Milk, Cheese, Bread} 02 T200 { Cheese, Milk, Apple,Pie, Bread} 01 T300 { Apple, Milk, Bread, Pie} 03 T400 { Bread, Milk, Cheese}
Τι είναι Αποθήκες Δεδομένων? Αποθήκη Δεδομένων (Data Warehouse): Μία ΒΔ στήριξης αποφάσεων που διατηρείται ξεχωριστά από τη λειτουργική ΒΔ του οργανισμού Υποστηρίζει επεξεργασία πληροφορίας παρέχοντας μία πλατφόρμα από κατανοητά, ιστορικά δεδομένα για ανάλυση. A data warehouse is a subject- oriented, integrated, time- variant, and nonvolatile collection of data in support of management s decision- making process. W. H. Inmon Αποθήκες και Εξόρυξη Δεδομένων, Παν. Πειραιά 15 10/10/2007
Εννοιολογική μοντελοποίηση των Αποθηκών Δεδομένων Μοντελοποίηση αποθηκών δεδομένων: διαστάσεις & μέτρα Star schema: Ένας fact table στο μέσο συνδέεται με ένα σύνολο από πίνακες διάστασης(dimension tables) Snowflake schema: Εκλεπτυσμένο star schema όπου κάποιες ιεραρχίες διαστάσεων κανονικοποιούνται σε ένα σύνολο από μικρότερους πίνακες διάστασης. Fact constellations (Galaxy schema): Πολλαπλά fact tables μοιράζονται πίνακες διάστασης, παρουσιάζεται σαν μία συλλογή από αστέρια à galaxy schema (Fact constellations) 16 10/10/2007
Παράδειγμα: Star Schema time time_key day day_of_the_week month quarter year branch branch_key branch_name branch_type Measures Sales Fact Table time_key item_key branch_key location_key units_sold dollars_sold avg_sales item item_key item_name brand type supplier_type location location_key street city state_or_province country 17 10/10/2007
Παράδειγμα: Snowflake Schema time time_key day day_of_the_week month quarter year Sales Fact Table time_key item_key item item_key item_name brand type supplier_key supplier supplier_key supplier_type branch branch_key branch_name branch_type Measures branch_key location_key units_sold dollars_sold avg_sales location location_key street city_key city city_key city state_or_province country 18 10/10/2007
Παράδειγμα: Fact Constellation time time_key day day_of_the_week month quarter year Sales Fact Table time_key item_key branch_key item item_key item_name brand type supplier_type Shipping Fact Table time_key item_key shipper_key from_location branch branch_key branch_name branch_type Measures location_key units_sold dollars_sold avg_sales location location_key street city province_or_state country to_location dollars_cost units_shipped shipper shipper_key shipper_name location_key shipper_type 19 10/10/2007
dice Typical OLAP Operations Dice for (location= Toronto or Vancouver ) and (time= Q1 or Q2 ) and (item= home entertainment or computer ) Roll- up on Location (from cities to countries) Roll- up slice Slice for time= Q1 Item(types) Drill- down On time (from quarters to months) Drill- down
ΑΣΚΗΣΗ (2) Έστω μια αποθήκη δεδομένων που αποτελείται από τρεις διαστάσεις : time, doctor, patient, και τα μέτρα count, charge όπου charge είναι η αμοιβή του γιατρού για μία επίσκεψη. Δημιουργήστε ένα σχήμα αστέρι (star schema) για την αποθήκη δεδομένων. Αρχίζοντας με το βασικό κυβοειδές [time, doctor, patient] ποιες λειτουργίες OLAP πρέπει να εφαρμοστούν προκειμένου να πάρουμε μία λίστα με τη συνολική αμοιβή που συλλέχθηκε από κάθε γιατρό μέσα στο έτος 2000;
Έστω μια αποθήκες δεδομένων που αποτελείται από τέσσερις διαστάσεις : date, spectator, location, game, και τα μέτρα count, charge όπου charge είναι το εισιτήριο που πρέπει να πληρώσει ο θεατής για να δει το παιχνίδι μιας συγκεκριμένης ημερομηνίας. Οι θεατές μπορούν να ανήκουν στις κατηγορίες: students, adults, ή seniors και η κάθε κατηγόρια έχει το δικό της εισιτήριο.
Άλλα θέματα Διαχείριση Εγγράφων Boolean Vector Space Model Vector Space Model Ανάλυση υπερσυνδέσμων Page Rank Αξιολόγηση ποιότητας αποτελεσμάτων clustering Ανάλυση κοινωνικών δικτύων
PageRanke example