Lecture Notes for Chapter 6. Introduction to Data Mining

Σχετικά έγγραφα
TID Items. Τ = {t 1, t 2,.., t N } ένα σύνολο από δοσοληψίες, όπου κάθε t i είναι ένα στοιχειοσύνολο

Οι διαφάνειες στηρίζονται στο P.-N. Tan, M.Steinbach, V. Kumar, «Introduction to Data Mining», Addison Wesley, 2006

Οι διαφάνειες στηρίζονται στο P.-N. Tan, M.Steinbach, V. Kumar, «Introduction to Data Mining», Addison Wesley, 2006

Ανάλυση Συσχέτισης IΙ

Ο Αλγόριθμος FP-Growth

Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων:

Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων:

Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων

Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων

Κανόνες Συσχέτισης IΙ

Κανόνες Συσχέτισης IIΙ

Κανόνες Συσχέτισης Ι. Εισαγωγή. Εισαγωγή. Ορισμοί. Ορισμοί. Ορισμοί. Market-Basket transactions (Το καλάθι της νοικοκυράς!)

Πανεπιστήµιο Πειραιώς Τµήµα Πληροφορικής. Εξόρυξη Γνώσης από εδοµένα (Data Mining) Εξόρυξη Κανόνων Συσχετίσεων. Γιάννης Θεοδωρίδης

Κεφάλαιο 7: Εξόρυξη Συχνών Στοιχειοσυνόλων και Κανόνων Συσχέτισης

Κανόνες Συσχέτισης IΙ Σύντομη Ανακεφαλαίωση

Data mining Εξόρυξη εδοµένων. o Association rules mining o Classification o Clustering o Text Mining o Web Mining

Αποθήκες και Εξόρυξη Δεδομένων

Κανόνες Συσχέτισης IΙ Σύντομη Ανακεφαλαίωση

Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα)

Asocijativna analiza

5.2 ΑΠΛΟΠΟΙΗΣΗ ΜΕ ΤΗΝ ΜΕΘΟΔΟ ΚΑΤΑΤΑΞΗΣ ΣΕ ΠΙΝΑΚΑ

Privacy preserving data mining με χρήση δενδρικών δομών εξόρυξης κανόνων συσχέτισης

Κεφ.11: Ευρετήρια και Κατακερματισμός

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο

Ερώτημα 1. Μας δίνεται μια συλλογή από k ακολοθίες, k >=2 και αναζητούμε το πρότυπο Ρ, μεγέθους n.

Αποθήκες εδομένων και Εξόρυξη εδομένων:

ΗΥ360 Αρχεία και Βάσεις Δεδομένων

auth Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

Επεξεργασία Ερωτήσεων

Επεξεργασία Ερωτήσεων

Ταξινόμηση κάδου και ταξινόμηση Ρίζας Bucket-Sort και Radix-Sort

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο

Υπερπροσαρμογή (Overfitting) (1)

Επεξεργασία Ερωτήσεων

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

2η ΔΙΑΛΕΞΗ Συναρτησιακές εξαρτήσεις

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Συμβολοσειρές. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Κατανεμημένα Συστήματα Ι

Δυναμικός Κατακερματισμός

ΗΥ360 Αρχεία και Βάσεις εδοµένων ιδάσκων:. Πλεξουσάκης

Αναζήτηση στους γράφους. - Αναζήτηση η κατά βάθος Συνεκτικές Συνιστώσες - Αλγόριθμος εύρεσης συνεκτικών συνιστωσών

Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων:

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα

Κανόνες συσχέτισης Association rules

Περιεχόμενα. Περιεχόμενα

Το εσωτερικό ενός Σ Β

Επίλυση Προβλημάτων 1

Χρήστος Ι. Σχοινάς Αν. Καθηγητής ΔΠΘ. Συμπληρωματικές σημειώσεις για το μάθημα: «Επιχειρησιακή Έρευνα ΙΙ»

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find)

Λυσεις προβλημάτων τελικής φάσης Παγκύπριου Μαθητικού Διαγωνισμού Πληροφορικής 2007

Μελετάμε την περίπτωση όπου αποθηκεύουμε ένα (δυναμικό) σύνολο στοιχειών. Ένα στοιχείο γράφεται ως, όπου κάθε.

Σχεδίαση Αλγορίθμων -Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο

Κεφάλαιο 3. Αλγόριθµοι Τυφλής Αναζήτησης. Τεχνητή Νοηµοσύνη - Β' Έκδοση. Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η.

Κατακερµατισµός. Οργάνωση Αρχείων (σύνοψη) Οργάνωση αρχείων: πως είναι τοποθετημένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο

Αλγόριθμοι Τυφλής Αναζήτησης

Τεχνικές Εξόρυξης Δεδομένων

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Κατανεμημένα Συστήματα Ι

Αναζήτηση σε Γράφους. Μανόλης Κουμπαράκης. ΥΣ02 Τεχνητή Νοημοσύνη 1

Θέματα Μεταγλωττιστών

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find)

Δομές Δεδομένων. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων. Τμήμα Εφαρμοσμένης Πληροφορικής

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ EPL035: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Ασκήσεις ανακεφαλαίωσης στο μάθημα Τεχνητή Νοημοσύνη

Πόσες από αυτές τις σκακιέρες είναι αλήθεια διαφορετικές;

Αλγόριθμοι και Πολυπλοκότητα

Insert (P) : Προσθέτει ένα νέο πρότυπο P στο λεξικό D. Delete (P) : Διαγράφει το πρότυπο P από το λεξικό D

Συναρτησιακές Εξαρτήσεις 7ο Φροντιστήριο. Βάρσος Κωνσταντίνος

Αλγόριθμοι Ταξινόμησης Μέρος 4

Λύση (από: Τσιαλιαμάνης Αναγνωστόπουλος Πέτρος) (α) Το trie του λεξιλογίου είναι

Δομές Δεδομένων. Τι είναι η δομή δεδομένων; Έστω η ακολουθία αριθμών: 8, 10,17,19,22,5,12 Λογικό Επίπεδο. Φυσικό Επίπεδο RAM. Ταξινομημένος.

Επεξεργασία Ερωτήσεων

Δομές Δεδομένων και Αλγόριθμοι

Δομές Δεδομένων και Αλγόριθμοι

Διάλεξη 22: Δυαδικά Δέντρα. Διδάσκων: Παναγιώτης Ανδρέου

Δμόξπμε Γεδνκέλσλ. Καλόλεο Σπζρέηηζεο: Βαζηθέο Έλλνηεο θαη Αιγόξηζκνη

2. Η πιθανότητα της αριθμήσιμης ένωσης ξένων μεταξύ τους ενδεχομένων είναι το άθροισμα των πιθανοτήτων των ενδεχομένων.

Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων:

Σχεδίαση Αλγορίθμων -Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο

Δένδρα Αναζήτησης Πολλαπλής Διακλάδωσης

Ασκήσεις μελέτης της 4 ης διάλεξης. ), για οποιοδήποτε μονοπάτι n 1

Η ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ Εντολές Επανάληψης REPEAT UNTIL, FOR, WHILE

Εισαγωγή. Γενική Εικόνα του Μαθήµατος. Το εσωτερικό ενός Σ Β. Εισαγωγή. Εισαγωγή Σ Β Σ Β. Αρχεία ευρετηρίου Κατάλογος συστήµατος Αρχεία δεδοµένων

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων

Αλγόριθμοι και Πολυπλοκότητα

Πληροφορική 2. Δομές δεδομένων και αρχείων

Κατακερματισμός. 4/3/2009 Μ.Χατζόπουλος 1

Αλγόριθμοι και πολυπλοκότητα Δυναμικός Προγραμματισμός

Ταχεία Ταξινόμηση Quick-Sort

ΔΙΑΣΧΙΣΗ ΓΡΑΦΗΜΑΤΩΝ 1

Transcript:

Κανόνες Συσχέτισης: Βασικές αρχές και αλγόριθμοι (Association Analysis: Basic Concepts and Algorithms) Lecture Notes for Chapter 6 Introduction to Data Mining by Tan, Steinbach, Kumar

Εξόρυξη κανόνων συσχέτισης (Association Rule Mining) Πρόβλημα Δεδομένου ενός συνόλου συναλλαγών, βρείτε κανόνες που θα προβλέπουν την εμφάνιση ενός στοιχείου (item) με βάση την εμφάνιση άλλων στοιχείων που προέρχονται από το αρχείο με τις συναλλαγές (transactions) TID Items Market-Basket transactions 1 Bread, Milk 2 Bread, Diaper, Beer, Eggs 3 Milk, Diaper, Beer, Coke 4 Bread, Milk, Diaper, Beer 5 Bread, Milk, Diaper, Coke δοσοληψία (transaction) στοιχείο (item) Προώθηση προϊόντων Τοποθέτηση προϊόντων στα ράφια Διαχείριση αποθεμάτων Παραδείγματα κανόνων συχέτισης {Diaper} {Beer}, {Milk, Bread} {Eggs,Coke}, {Beer, Bread} {Milk}, Οι «κανόνες» δηλώνουν από κοινού εμφάνιση (co-occurrence) και όχι αιτιότητα (causality)! Εμφανίζονται μαζί, όχι ότι η εμφάνιση του ενός είναι η αιτία της εμφάνισης του άλλου (co-occurrence, not causality όχι έννοια χρόνου ή διάταξης)

Ορισμοί Δυαδική αναπαράσταση Γραμμές: δοσοληψίες Στήλες: Στοιχεία 1 αν το στοιχείο εμφανίζεται στη σχετική δοσοληψία Μη συμμετρική δυαδική μεταβλητή (1 πιο σημαντικό από το 0) Ένας περιορισμός είναι ότι χάνουμε πληροφορία για τις ποσότητες Παράδειγμα TID Items 1 Bread, Milk 2 Bread, Diaper, Beer, Eggs 3 Milk, Diaper, Beer, Coke 4 Bread, Milk, Diaper, Beer 5 Bread, Milk, Diaper, Coke

Ορισμοί Ι = {i 1, i 2,.., i k } ένα σύνολο από διακριτά στοιχεία (items) Παράδειγμα: {Bread, Milk, Diapers, Beer, Eggs, Coke} Στοιχειοσύνολο (Itemset): Ένα υποσύνολο του Ι Παράδειγμα: {Milk, Bread, Diaper} TID Items 1 Bread, Milk 2 Bread, Diaper, Beer, Eggs 3 Milk, Diaper, Beer, Coke 4 Bread, Milk, Diaper, Beer 5 Bread, Milk, Diaper, Coke k-στοιχειοσύνολο (k-itemset): ένα στοιχειοσύνολο με k στοιχεία Τ = {t 1, t 2,.., t N } ένα σύνολο από δοσοληψίες, όπου κάθε t i είναι ένα στοιχειοσύνολο Πλάτος (width) δοσοληψίας: αριθμός στοιχείων t i περιέχει ένα στοιχειοσύνολο Χ, αν το Χ είναι υποσύνολο της t i

Ορισμοί support count ( ) ενός στοιχειοσυνόλου Η συχνότητα εμφάνισης του στοιχειοσυνόλου Παράδειγμα: ({Milk, Bread, Diaper}) = 2 σ(χ) = { t i X t i, t i T} TID Items 1 Bread, Milk 2 Bread, Diaper, Beer, Eggs 3 Milk, Diaper, Beer, Coke 4 Bread, Milk, Diaper, Beer 5 Bread, Milk, Diaper, Coke Υποστήριξη (Support (s)) ενός στοιχειοσυνόλου Το ποσοστό των δοσοληψιών που περιέχουν ένα στοιχειοσύνολο Παράδειγμα: s({milk, Bread, Diaper}) = 2/5 Frequent Itemset Συχνό Στοιχειοσύνολο Ένα στοιχειοσύνολο του οποίου η υποστήριξη είναι μεγαλύτερη ή ίση από κάποια τιμή κατωφλίου minsup

Συνοπτικά Ορισμοί: Συχνά στοιχειοσύνολα (Frequent Itemset) Στοιχειοσύνολο (Itemset) Ένα σύνολο από ένα ή περισσότερα στοιχεία Παράδειγμα: {Milk, Bread, Diaper} k-στοιχειοσύνολο Ένα στοιχειοσύνολο που περιέχει k στοιχεία Μετρητής υποστήριξης (Support count ( )) Συχνότητα εμφάνισης ενός στοιχειοσυνόλου Π.χ. ({Milk, Bread,Diaper}) = 2 Υποστήριξη (Support ) Ποσοστό των συναλλαγών που περιέχουν ένα στοιχειοσύνολο Π.χ.. s({milk, Bread, Diaper}) = 2/5 Συχνό στοιχειοσύνολο (Frequent Itemset) Ένα στοιχειοσύνολο που η υποστήριξή του είναι μεγαλύτερη ή ίση από ένα κατώφλι minsup TID Items 1 Bread, Milk 2 Bread, Diaper, Beer, Eggs 3 Milk, Diaper, Beer, Coke 4 Bread, Milk, Diaper, Beer 5 Bread, Milk, Diaper, Coke

{Milk, Diaper, Beer} s T Ορισμοί Κανόνας Συσχέτισης (Association Rule) Είναι μια έκφραση της μορφής X Y, όπου X και Y είναι στοιχειοσύνολα Χ Ι, Υ Ι, Χ Υ = Παράδειγμα: {Milk, Diaper} {Beer} 2 5 0.4 TID Items 1 Bread, Milk 2 Bread, Diaper, Beer, Eggs 3 Milk, Diaper, Beer, Coke 4 Bread, Milk, Diaper, Beer 5 Bread, Milk, Diaper, Coke Υποστήριξη Κανόνα Support (s) Το ποσοστό των δοσοληψιών που περιέχουν και το X και το Y (Χ Υ) σ(χ Υ)/ Τ ( Τ ο αριθμός των δοσοληψιών) Εμπιστοσύνη - Confidence (c) Πόσες από τις δοσοληψίες (ποσοστό) που περιέχουν το Χ περιέχουν και το Υ σ(χ Υ)/σ(Χ) { Milk, Diaper} Beer c {Milk, Diaper, Beer} {Milk, Diaper} 2 3 0.67

Ορισμός: Κανόνας συσχέτισης (Association Rule) Κανόνας συσχέτισης (Association Rule) Μία έκφραση συνεπαγωγής της μορφής X Y, όπου X και Y είναι στοιχειοσύνολα Παράδειγμα: {Milk, Diaper} {Beer} Μέτρα εκτίμησης των κανόνων Υποστήριξη (Support (s)) Ποσοστό των συναλλαγών που περιέχουν και το X και το Y Εμπιστοσύνη (Confidence (c)) Μετράει πόσο συχνά τα στοιχεία του Y εμφανίζονται σε συναλλαγές που περιέχουν το X TID Items 1 Bread, Milk 2 Bread, Diaper, Beer, Eggs 3 Milk, Diaper, Beer, Coke 4 Bread, Milk, Diaper, Beer 5 Bread, Milk, Diaper, Coke Παράδειγμα: { Milk, Diaper} (Milk, Diaper,Beer) s T (Milk,Diaper,Beer) c (Milk, Diaper) 2 3 2 5 Beer 0.4 0.67

Το έργο της εξόρυξης κανόνων συσχέτισης Δοθέντος ενός συνόλου από συναλλαγές (transactions T), ο στόχος της εξόρυξης κανόνων συσχέτισης είναι να βρει όλους τους κανόνες οι οποίοι έχουν support minsup threshold confidence minconf threshold

Εξόρυξη Κανόνων Συσχέτισης s(x Y) = s(x Y) = σ(x Y)/Ν Παρατηρήσεις Ένας κανόνας με μικρή υποστήριξη μπορεί να εμφανίζεται τυχαία Λιγότερη σημασία/χρησιμότητα, γιατί αφορά μικρό αριθμό από συναλλαγές Το κατώφλι minsup εξαιρεί κανόνες που δεν έχουν ενδιαφέρον c(x Y) = σ(x Y)/σ(X) c(x Y) = P(Υ Χ) δεσμευμένη πιθανότητα να εμφανίζεται το Υ όταν εμφανίζεται το Χ Εμπιστοσύνη μετρά την αξιοπιστία, βεβαιότητα της εξάρτησης Όσο μεγαλύτερη εμπιστοσύνη τόσο μεγαλύτερη η πιθανότητα εμφάνισης του Υ σε κανόνες που περιέχουν το Χ

Εξόρυξη Κανόνων Συσχέτισης Εύρεση Κανόνων Συσχέτισης Είσοδος: Ένα σύνολο από δοσοληψίες T Έξοδος: Όλοι οι κανόνες με support minsup confidence minconf

Εξόρυξη Κανόνων Συσχέτισης Προσέγγισης «ωμής δύναμης» (Brute-force): Δημιουργία λίστας με όλους τους πιθανούς κανόνες συσχέτισης Υπολογισμός της υποστήριξης και της εμπιστοσύνης για κάθε κανόνα Απόρριψη ( Prune) των κανόνων που δεν τηρούν τα κριτήρια για την υποστήριξη και την εμπιστοσύνη minsup και minconf Υπολογιστικά απαγορευτικό!

Εξόρυξη κανόνων συσχέτισης TID Items 1 Bread, Milk 2 Bread, Diaper, Beer, Eggs 3 Milk, Diaper, Beer, Coke 4 Bread, Milk, Diaper, Beer 5 Bread, Milk, Diaper, Coke Παραδείγματα κανόνων: {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) Η υποστήριξη ενός κανόνα X Y εξαρτάται μόνο από την υποστήριξη του Χ Υ Άρα κανόνες που ξεκινούν από τo ίδιο στοιχειοσύνολο έχουν την ίδια υποστήριξη (αλλά πιθανών διαφορετική εμπιστοσύνη) Παρατηρήσεις: Όλοι οι παραπάνω κανόνες προέρχονται από μία δυαδική διαμέριση του ίδιου στοιχειοσυνόλου : {Milk, Diaper, Beer} Κανόνες που προέρχονται από το ίδιο στοιχειοσύνολο έχουν την ίδια τιμή για την υποστήριξη αλλά μπορεί να έχουν διαφορετική τιμή για την εμπιστοσύνη Συνεπώς μπορούμε να διαχωρίσουμε τις απαιτήσεις για την υποστήριξη και την εμπιστοσύνη

Εξόρυξη κανόνων συσχέτισης Σε δύο βήματα (υποπροβλήματα): 1. Παραγωγή των συχνών στοιχειοσυνόλων (Frequent Itemset Generation) Εύρεση όλων των στοιχειοσυνόλων με υποστήριξη support minsup 2. Παραγωγή κανόνων (Rule Generation) Παραγωγή κανόνων με υψηλή εμπιστοσύνη από τα συχνά στοιχειοσύνολα, όπου κάθε κανόνας είναι μια δυαδική διαμέριση ενός συχνού στοιχειοσυνόλου Η παραγωγή των συχνών στοιχειοσυνόλων εξακολουθεί να είναι υπολογιστικά ακριβή

Εύρεση / Παραγωγή Συχνών Στοιχειοσυνόλων

Παραγωγή συχνών στοιχειοσυνόλων null A B C D E Πλέγμα Στοιχειοσυνόλων AB AC AD AE BC BD BE CD CE DE ABC ABD ABE ACD ACE ADE BCD BCE BDE CDE ABCD ABCE ABDE ACDE BCDE ABCDE Για d στοιχεία υπάρχουν 2 d πιθανά υποψήφια στοιχειοσύνολα (candidate itemsets)

Παραγωγή συχνών στοιχειοσυνόλων Προσέγγιση «ωμής δύναμης» (Brute-force) : Κάθε στοιχειοσύνολο στο δικτύωμα (lattice) είναι υποψήφιο (candidate) συχνό στοιχειοσύνολο Υπολογισμός της υποστήριξης του κάθε υποψηφίου διατρέχοντας (scanning) όλη τη βάση δεδομένων Transactions List of Candidates TID Items 1 Bread, Milk 2 Bread, Diaper, Beer, Eggs 3 Milk, Diaper, Beer, Coke N M 4 Bread, Milk, Diaper, Beer 5 Bread, Milk, Diaper, Coke w Έλεγχος κάθε συναλλαγής με κάθε υποψήφιο Έχουμε N αριθμός δοσοληψιών, w μέγιστο πλάτος δοσοληψίας Πολυπλοκότητα (Complexity) ~ O(NMw) => «ακριβή» καθώς M = 2 d!!!

Υπολογιστική πολυπλοκότητα Για d διαφορετικά (unique) στοιχεία: Ο συνολικός αριθμός των στοιχειοσυνόλων = 2 d Ο συνολικός αριθμός των πιθανών κανόνων συσχέτισης : 1 2 3 1 1 1 1 d d d k k d j j k d k d R Εάν d=6, R = 602 κανόνες

Παράδειγμα παραγωγής συχνών στοιχειοσυνόλων

Παράδειγμα παραγωγής συχνών στοιχειοσυνόλων

Παράδειγμα παραγωγής συχνών στοιχειοσυνόλων

Στρατηγικές για την παραγωγή συχνών στοιχειοσυνόλων Διαφορετικές Στρατηγικές Μείωση του αριθμού των υποψηφίων στοιχειοσυνόλων (M) Συνολικό πλήθος : M=2 d Χρησιμοποίηση τεχνικών «κλαδέματος» (pruning) για μείωση του M (Π.χ. apriori) Μείωση του αριθμού των συναλλαγών (N) Μείωση του μεγέθους του N καθώς αυξάνει το μέγεθος των στοιχειοσυνόλων (π.χ αλγόριθμοι βασισμένοι σε κατακερματιμό) Χρησιμοποιείται από «κάθετους» αλγορίθμους εξόρυξης Μείωση του αριθμού των συγκρίσεων (NM) Χρήση αποδοτικών δομών δεδομένων για την αποθήκευση των υποψηφίων ή των συναλλαγών Προσπαθούμε να αποφύγουμε να ταιριάξουμε κάθε υποψήφιο στοιχειοσύνολο με κάθε δοσοληψία. (Δεν απαιτείται να συγκριθεί κάθε υποψήφιος με κάθε συναλλαγή)

Μείωση του αριθμού των υποψηφίων Η αρχή Apriori Εάν ένα στοιχειοσύνολο είναι συχνό, τότε όλα τα υποσύνολά του πρέπει να είναι επίσης συχνά Η αρχή Apriori ισχύει λόγω της παρακάτω ιδιότητας της υποστήριξης: X, Y : ( X Y ) s( X ) s( Y ) Η υποστήριξη ενός στοιχειοσυνόλου ποτέ δεν υπερβαίνει την υποστήριξη των υποσυνόλων του (Η υποστήριξη ενός στοιχεισύνολου είναι μικρότερη ή ίση της υποστήριξης οποιουδήποτε υποσυνόλου του) Αυτή είναι γνωστή ως η αντι-μονότονη (antimonotone) ιδιότητα της υποστήριξης

) ( ) ( ) ( :, Y s X s Y X Y X Αρχή apriori Αντι-μονότονη (anti-monotone) ιδιότητα της υποστήριξης s: downwards closed ) ( ) ( ) ( :, Y f X f Y X Y X Mονότονη ιδιότητα ή upwards closed

Απεικόνιση της αρχής Apriori Support-based pruning null A B C D E AB AC AD AE BC BD BE CD CE DE Found to be Infrequent ABC ABD ABE ACD ACE ADE BCD BCE BDE CDE Μπορούμε να «ψαλιδίσουμε» όλα τα υπερσύνολα του Pruned supersets ABCD ABCE ABDE ACDE BCDE ABCDE Αντιθετοαντιστροφή: Αν ένα στοιχειοσύνολο δεν είναι συχνό, όλα τα υπερσύνολα του δεν είναι συχνά

Απεικόνιση της αρχής Apriori Όλα τα υποσύνολα του συχνά Κλειστό προς τα κάτω Συχνό στοιχειοσύνολο Αν το {c, d, e} είναι συχνό, όλα τα υποσύνολα του είναι συχνά

Απεικόνιση της αρχής Apriori Στοιχεία (1-στοιχειοσύνολα) Item Count Bread 4 Coke 2 Milk 4 Beer 3 Diaper 4 Eggs 1 Minimum Support = 3 Εάν είχαμε υπολογίσει όλα τα υποσύνολα, 6 C 1 + 6 C 2 + 6 C 3 = 41 6 6 6 6 15 20 41 1 2 3 Με τη χρήση του κλαδέματος με βάση την υποστήριξη: 6 + 6 + 1 = 13 TID Itemset Count {Bread,Milk} 3 {Bread,Beer} 2 {Bread,Diaper} 3 {Milk,Beer} 2 {Milk,Diaper} 3 {Beer,Diaper} 3 Items 1 Bread, Milk 2 Bread, Diaper, Beer, Eggs 3 Milk, Diaper, Beer, Coke 4 Bread, Milk, Diaper, Beer 5 Bread, Milk, Diaper, Coke Ζεύγη (2-στοιχειοσύνολα) (Δεν χρειάζεται να παραχθούν υποψήφιοι που να εμπλέκουν τα Coke και Eggs) Στοιχεία (1-στοιχειοσύνολα Itemset Count {Bread,Milk,Diaper} 3 6 4 1 6 6 1 13 1 2

Στρατηγική Apriori Γενικός Αλγόριθμος: 1. Έστω k=1 2. Παρήγαγε συχνά στοιχειοσύνολα μήκους 1 3. Επανέλαβε μέχρι να μην ανιχνεύονται νέα συχνά στοιχειοσύνολα 1. Παρήγαγε υποψήφια στοιχειοσύνολα μήκους (k+1) από συχνά στοιχειοσύνολα μήκους k 2. Κλάδεψε υποψήφια στοιχειοσύνολα μήκους k τα οποία δεν είναι συχνά 3. Μέτρησε τη υποστήριξη (support) του κάθε υποψηφίου στοιχειοσυνόλου σαρώνοντας την βάση δεδομένων 4. Εξάλειψε όλα τα υποψήφια που δεν είναι συχνά, διατηρώντας μόνο αυτά που είναι συχνά

Στρατηγική apriori Γενικός Αλγόριθμος Διατρέχει το πλέγμα ανά επίπεδο Generate-and-Test στρατηγική Σε κάθε βήμα k: Δημιουργία υποψήφιων k-στοιχειοσυνόλων με βάση τα συχνά k-1 στοιχειοσύνολα Υπολογισμός της υποστήριξής τους και pruning όσων έχουν μικρή υποστήριξη k max περάσματα, όπου k max μέγεθος (αριθμός στοιχείων) του μεγαλύτερου στοιχειοσυνόλου

Στρατηγική apriori: Δημιουργία Στοιχειοσυνόλων Σε κάθε βήμα k: Δημιουργία υποψήφιων k-στοιχειοσυνόλων με βάση τα συχνά k-1 στοιχειοσύνολα Όλα τα υποσύνολα του πρέπει να είναι συχνά Δεν πρέπει να δημιουργούμε ένα στοιχειοσύνολο πολλές φορές complete δεν πρέπει να χάνουμε κάποιο συχνό Πως;

Στρατηγική apriori: Δημιουργία Στοιχειοσυνόλων Θα δούμε δύο τρόπους: Μέθοδος F k-1 x F 1 Μέθοδος F k-1 x F k-1 Για να αποφύγουμε τη δημιουργία του ίδιου στοιχειοσυνόλου, κρατάμε κάθε στοιχειοσύνολο (λεξικογραφικά) ταξινομημένο Και στις δύο περιπτώσεις, έλεγχος αν τα παραγόμενα στοιχειοσύνολα είναι συχνά με βάση τα υποσύνολά τους.

Στρατηγική apriori: Δημιουργία Στοιχειοσυνόλων Μέθοδος F k-1 x F 1 Επέκταση κάθε συχνού (k-1) στοιχειοσυνόλου με άλλα συχνά στοιχεία Itemset Count {Bread,Milk} 3 {Beer,Bread} 2 {Bread,Diaper} 3 {Beer, Milk} 2 {Diaper,Milk} 3 {Beer,Diaper} 3 Item Count Bread 4 Coke 2 Milk 4 Beer 3 Diaper 4 Eggs 1 Κάθε στοιχειοσύνολο (λεξικογραφικά) ταξινομημένο κάθε (k-1) συχνό στοιχεισύνολο επεκτείνεται με συχνά στοιχεία που είναι λεξικογραφικά μεγαλύτερα του Ο( F k-1 x F 1 ) {Beer, Diaper, Milk} Δημιουργεί και κάποια περιττά, πχ το παραπάνω δεν είναι συχνό, γιατί το {Beer, Milk} δεν είναι συχνό

Στρατηγική apriori: Δημιουργία Στοιχειοσυνόλων F k-1 x F 1 Επέκταση κάθε συχνού (k-1) στοιχειοσυνόλου με άλλα συχνά στοιχεία Διάφοροι ευριστικοί για να μειωθεί ο αριθμός των στοιχειοσυνόλων που δημιουργούνται και δεν είναι συχνά Πχ έστω το {i 1, i 2, i 3, i 4 } για να είναι συχνό πρέπει όλα τα 3- στοιχειοσύνολα που είναι υποσύνολα του να είναι συχνά, Πχ θα πρέπει να υπάρχουν τουλάχιστον 3 3-στοιχειοσύνολα που περιέχουν πχ το i 4 ({i 1, i 2, i 4 }, {i 1, i 3, i 4 } και {i 2, i 3, i 4 } Γενικά, κάθε στοιχείο ενός k-στοιχειοσυνόλου θα πρέπει να περιέχεται σε τουλάχιστον k-1 από το συχνά (k-1)- στοιχειοσύνολα

Στρατηγική apriori: Δημιουργία Στοιχειοσυνόλων F k-1 x F k-1 Συγχώνευση δύο συχνών (k-1) στοιχειοσυνόλου αν τα πρώτα k-2 στοιχεία τους είναι τα ίδια Itemset Count {Bread,Milk} 3 {Beer,Bread} 2 {Bread,Diaper} 3 {Beer, Milk} 2 {Diaper,Milk} 3 {Beer,Diaper} 3 Itemset Count {Bread,Milk} 3 {Beer,Bread} 2 {Bread,Diaper} 3 {Beer, Milk} 2 {Diaper,Milk} 3 {Beer,Diaper} 3 Συγχώνευση δύο συχνών (k-1)-στοιχειοσυνόλων αλλά πρέπει επιπρόσθετα να ελέγξουμε ότι και τα υπόλοιπα k-2 υποσύνολα είναι συχνά

Στρατηγική Apriori Γενικός Αλγόριθμος: 1. Έστω k=1 2. Παρήγαγε συχνά στοιχειοσύνολα μήκους 1 3. Επανέλαβε μέχρι να μην ανιχνεύονται νέα συχνά στοιχειοσύνολα 1. Παρήγαγε υποψήφια στοιχειοσύνολα μήκους (k+1) από συχνά στοιχειοσύνολα μήκους k 2. Κλάδεψε υποψήφια στοιχειοσύνολα μήκους k τα οποία δεν είναι συχνά 3. Μέτρησε τη υποστήριξη (support) του κάθε υποψηφίου στοιχειοσυνόλου σαρώνοντας την βάση δεδομένων 4. Εξάλειψε όλα τα υποψήφια που δεν είναι συχνά, διατηρώντας μόνο αυτά που είναι συχνά

Στρατηγική apriori: Υπολογισμός Υποστήριξης Υπολογισμός υποστήριξης: για κάθε νέο υποψήφιο συχνό στοιχειοσύνολο, πρέπει να υπολογίσουμε την υποστήριξή του Brute Force: Διαπέρασε τη βάση των δοσοληψιών για τον υπολογισμό της υποστήριξης κάθε υποψήφιου στοιχειοσυνόλου Αν σε ένα βήμα έχουμε m συχνά στοιχειοσύνολα, τότε διαπέραση της βάσης δεδομένων m φορές Συναλλαγές For each item TID Items for i = 1 to N 1 Bread, Milk if t i περιέχει το item 2 Bread, Diaper, Beer, Eggs N 3 Milk, Diaper, Beer, Coke c(item)++ 4 Bread, Milk, Diaper, Beer Πχ έστω 5 Bread, Milk, Diaper, Coke item = {Beer, Bread}

Μείωση των αριθμών των συγκρίσεων Μέτρηση των υποψηφίων: Σάρωση της βάσης των συναλλαγών για τον καθορισμό της υποστήριξης κάθε υποψήφιου στοιχειοσυνόλου Για τη μείωση του αριθμού των συγκρίσεων αποθήκευσε τα υποψήφια στοιχειοσύνολα σε μία δομή κατακερματισμού (hash structure) Αντί να συγκριθεί κάθε συναλλαγή με κάθε υποψήφιο, συγκρίνεται με υποψηφίους στην κατακερματισμένη δομή (ταίριαξε κάθε δοσοληψία με τα υποψήφια στοιχειοσύνολα που περιέχονται σε κάδους κατακερματισμού Transactions Hash Structure N TID Items 1 Bread, Milk 2 Bread, Diaper, Beer, Eggs 3 Milk, Diaper, Beer, Coke 4 Bread, Milk, Diaper, Beer 5 Bread, Milk, Diaper, Coke k Buckets

Στρατηγική apriori: Υπολογισμός Υποστήριξης Απαρίθμηση Στοιχειο-συνόλων Βασική ιδέα του κατακερματισμού 1. Κατά τη διάρκεια του apriori τα συχνά στοιχειοσύνολα που παράγονται κατακερματίζονται σε κάδους και αποθηκεύονται σε ένα δέντρο κατακερματισμού 2. Στη συνέχεια, κάθε δοσοληψία (για την ακρίβεια, κάθε στοιχειοσύνολο που περιέχει) κατακερματίζεται με την ίδια συνάρτηση και τη συγκρίνουμε όχι με όλα τα πιθανά στοιχειοσύνολα, αλλά μόνο με τα στοιχειοσύνολα στους αντίστοιχους κάδους

Δημιουργία δένδρου κατακερματισμού (Hash Tree) υποψηφίων στοιχειοσυνόλων Έστω ότι έχουμε 15 υποψήφια στοιχειοσύνολα μήκους 3: {1 4 5}, {1 2 4}, {4 5 7}, {1 2 5}, {4 5 8}, {1 5 9}, {1 3 6}, {2 3 4}, {5 6 7}, {3 4 5}, {3 5 6}, {3 5 7}, {6 8 9}, {3 6 7}, {3 6 8} Χρειάζεται: Μία συνάρτηση κατακερματισμού (ποιο κλαδί θα ακολουθήσουμε σε κάθε επίπεδο) Μέγιστο μέγεθος φύλλου: μέγιστος αριθμός στοιχειοσυνόλων αποθηκευμένων σε ένα κόμβο-φύλλο (εάν ο αριθμός των υποψήφιων στοιχειοσυνόλων υπερβεί το μέγιστο μέγεθος φύλλου, χώρισε (split) τον κόμβο- χρηση κατακερματισμού στο επόμενο στοιχείο) Hash function 3,6,9 1,4,7 2,5,8 m mod 3 1 4 5 1 2 4 4 5 7 1 2 5 4 5 8 Στο δέντρο κατακερματίζουμε τα υποψήφια στοιχειοσύνολα 2 3 4 5 6 7 3 4 5 3 5 6 1 3 6 3 5 7 6 8 9 1 5 9 3 6 7 3 6 8

Στρατηγική apriori Εύρεση κανόνων συσχέτισης: Δέντρο κατακερματισμού (Hash tree) για τον υπολογισμό υποστήριξης Συνάρτηση κατακερματισμού (Hash Function) Δένδρο Κατακερματισμού υποψηφίων (Candidate Hash Tree 1,4,7 3,6,9 2,5,8 Hash on 1, 4 or 7 1 4 5 1 3 6 1 2 4 1 2 5 1 5 9 4 5 7 4 5 8 2 3 4 5 6 7 3 4 5 3 5 6 3 5 7 6 8 9 3 6 7 3 6 8

Στρατηγική apriori Εύρεση κανόνων συσχέτισης: Δέντρο κατακερματισμού (Hash tree) για τον υπολογισμό υποστήριξης Συνάρτηση κατακερματισμού (Hash Function) Δένδρο Κατακερματισμού υποψηφίων (Candidate Hash Tree) 1,4,7 3,6,9 2,5,8 Hash on 2, 5 or 8 1 4 5 1 3 6 1 2 4 1 2 5 1 5 9 4 5 7 4 5 8 2 3 4 5 6 7 3 4 5 3 5 6 3 5 7 6 8 9 3 6 7 3 6 8

Στρατηγική apriori Εύρεση κανόνων συσχέτισης: Δέντρο κατακερματισμού (Hash tree) για τον υπολογισμό υποστήριξης Συνάρτηση κατακερματισμού (Hash Function) Δένδρο Κατακερματισμού υποψηφίων (Candidate Hash Tree 1,4,7 3,6,9 2,5,8 Hash on 3, 6 or 9 1 4 5 1 3 6 1 2 4 1 2 5 1 5 9 4 5 7 4 5 8 2 3 4 5 6 7 3 4 5 3 5 6 3 5 7 6 8 9 3 6 7 3 6 8

Στρατηγική apriori: Υπολογισμός Υποστήριξης 2. Απαρίθμηση Υποσυνόλων με χρήση του Δέντρου Κατακερματισμού Έχοντας κατασκευάσει το δέντρο κατακερματισμού (για τα 3-στοιχειοσύνολα), Για κάθε δοσοληψία, κατακερματίζουμε όλα τα 3-στοιχειοσύνολα της δοσοληψίας στο δέντρο και αυξάνουμε τον αντίστοιχο μετρητή

Στρατηγική apriori: Υπολογισμός Υποστήριξης Απαρίθμηση Στοιχειο-συνόλων Πχ έστω ότι είμαστε στο 3 βήμα και έχουμε δημιουργήσει όλα τα πιθανά 3-στοιχειο-σύνολα Έστω μια δοσοληψία t με 5 στοιχεία {1, 2, 3, 5, 6} Θα πρέπει να ελέγξουμε για καθένα από αυτά αν το περιέχει η t Αν το περιέχει η t θα πρέπει να αυξήσουμε την υποστήριξη του κατά 1 Ας δούμε πρώτα ένα συστηματικό τρόπο για την απαρίθμηση όλων των 3-στοιχειοσυνόλων της t

Στρατηγική apriori: Υπολογισμός Υποστήριξης Απαρίθμηση Στοιχειο-συνόλων Έστω μια δοσοληψία t με 5 στοιχεία {1, 2, 3, 5, 6} - Απαρίθμηση όλων των πιθανών υποσυνόλων της με τρία στοιχεία (3-στοιχειοσύνολα) με λεξικογραφική διάταξη. Ποια είναι τα πιθανά υποσύνολα μεγέθους/μήκους 3? Δοσοληψία t 1 2 3 5 6 Επίπεδο 1 1 2 3 5 6 2 3 5 6 3 5 6 Επίπεδο 2 1 2 3 5 6 1 3 5 6 1 5 6 2 3 5 6 2 5 6 3 5 6 1 2 3 1 2 5 1 2 6 1 3 5 1 3 6 1 5 6 2 3 5 2 3 6 2 5 6 3 5 6 Επίπεδο 3 Υποσύνολα 3 στοιχείων

Στρατηγική apriori: Υπολογισμός Υποστήριξης Απαρίθμηση Στοιχειο-συνόλων Έστω μια δοσοληψία t με 4 στοιχεία {1, 2, 3, 4} - Απαρίθμηση όλων των πιθανών υποσυνόλων της με τρία στοιχεία (3-στοιχειοσύνολα) με λεξικογραφική διάταξη Δοσοληψία t 1 2 3 4 Επίπεδο 1 1 2 3 4 2 3 4 Επίπεδο 2 1 2 3 4 2 3 4 1 2 3 1 2 4 2 3 4 Επίπεδο 3 Υποσύνολα 3 στοιχείων

Στρατηγική apriori: Υπολογισμός Υποστήριξης Με βάση το δέντρο απαρίθμησης για την t = {1, 2, 3, 5, 6} όλα τα δυνατά στοχειοσύνολα αρχίζουν από 1, 2 ή 3 => στη ρίζα κατακερματίζουμε χωριστά τα 1, 2 και 3 δηλαδή με βάση τα στοιχεία του πρώτου επιπέδου 1 2 3 5 6 Δοσοληψία t Συνάρτηση Κατακερματισμού 1 + 2 3 5 6 2 + 3 5 6 1,4,7 3,6,9 3 + 5 6 2,5,8 2 3 4 5 6 7 1 4 5 1 3 6 1 2 4 1 2 5 1 5 9 4 5 7 4 5 8 3 4 5 3 5 6 3 6 7 3 5 7 3 6 8 6 8 9

Στρατηγική apriori: Υπολογισμός Υποστήριξης στη συνέχεια κατακερματίζουμε με βάση τα αντίστοιχα στοιχεία του δεύτερου επιπέδου: 2, 3, 5 (για το 1) 3, 5 (για το 2) 5 (για το 3) κοκ μέχρι να φτάσουμε σε φύλλα 1 2 3 5 6 Δοσοληψία Συνάρτηση Κατακερματισμού 1 2 + 1 3 + 3 5 6 5 6 1 + 2 3 5 6 2 + 3 5 6 3 + 5 6 1,4,7 2,5,8 3,6,9 1 5 + 6 2 3 4 5 6 7 1 4 5 1 3 6 1 2 4 1 2 5 1 5 9 4 5 7 4 5 8 3 4 5 3 5 6 3 6 7 3 5 7 3 6 8 6 8 9

Στρατηγική apriori: Υπολογισμός Υποστήριξης 1 2 3 5 6 transaction Hash Function 1 2 + 1 3 + 3 5 6 5 6 1 + 2 3 5 6 2 + 3 5 6 3 + 5 6 1,4,7 2,5,8 3,6,9 1 5 + 6 2 3 4 5 6 7 1 4 5 1 3 6 3 4 5 3 5 6 3 5 7 3 6 7 3 6 8 1 2 4 1 2 5 1 5 9 6 8 9 4 5 7 4 5 8 Ταίριασμα 11 από τα 15 υποψήφιες (5 από τα 9 φύλλα)

Στρατηγική apriori Γενικός Αλγόριθμος (ξανά) k = 1 Δημιούργησε όλα τα συχνά στοιχειοσύνολα μήκους 1 Repeat until δεν δημιουργούνται νέα στοιχειοσύνολα Δημιούργησε υποψήφια στοιχειοσύνολα μήκους (k+1) από τα συχνά στοιχειοσύνολα μήκους k (είτε F k- 1 x F 1 είτε F k-1 x F k-1 ) Prune τα υποψήφια στοιχειοσύνολα που περιέχουν υποσύνολα μήκους k που δεν είναι συχνά Υπολόγισε την υποστήριξη (support) κάθε υποψηφίου στοιχειοσύνολου διαβάζοντας από τη βάση δεδομένων (πχ χρησιμοποίησε το δέντρο κατακερματισμού) Σβήσε τα υποψήφια στοιχειοσύνολα που δεν είναι συχνά, αφήνοντας μόνο τα συχνά

2 ο Παράδειγμα Apriori (Πηγή: Data Mining: Concepts and Techniques, Han & Kamber) Database D itemset s C 1 {1} 2 L 1 Scan D {2} 3 {3} 3 {4} 1 {5} 3 TID Items t1 1 3 4 t2 2 3 5 t3 1 2 3 5 t4 2 5 C 2 itemset s C 2 L 2 itemset s {1 2} 1 Scan D {1 3} 2 {1 3} 2 {2 3} 2 {1 5} 1 {2 5} 3 {2 3} 2 {2 5} 3 {3 5} 2 {3 5} 2 itemset s {1} 2 {2} 3 {3} 3 {5} 3 itemset {1 2} {1 3} {1 5} {2 3} {2 5} {3 5} minsup=2 itemset {2 3 5} C 3 L 3 Scan D itemset s {2 3 5} 2

Παράγοντες που επηρεάζουν την πολυπλοκότητα Η επιλογή της ελάχιστης τιμής υποστήριξης Μειώνοντας το κατώφλι για την υποστήριξη έχουμε περισσότερα συχνά στοιχειοσύνολα αυτό ίσως να αυξήσει το πλήθος και το μήκος των συχνών στοιχειοσυνόλων Διάσταση (Dimensionality) (πλήθος στοιχείων) του συνόλου δεδομένων Περισσότερος χώρος απαιτείται για την αποθήκευση της μετρητή υποστήριξης για κάθε στοιχείο εάν το πλήθος των συχνών στοιχειοσυνόλων αυξηθεί, τόσο το υπολογιστικό όσο και το I/O κόστος ίσως να αυξηθεί Μέγεθος της βάσης δεδομένων μια και ο Apriori κάνει πολλαπλά περάσματα, ο χρόνο για την εκτέλεση του μπορεί να αυξηθεί με την αύξηση του πλήθους των συναλλαγών Μέσο μήκος των συναλλαγών Το μήκος των συναλλαγών αυξάνει για πυκνά σύνολα δεδομένων Αυτό μπορεί να αυξήσει το μέγιστο μήκος των συχνών στοιχειοσυνόλων και την αναζήτηση στο δέντρο κατακερματισμού (Το πλήθος των υποσυνόλων σε μία συναλλαγή αυξάνει με το μήκος της)

Στρατηγική apriori: Πολυπλοκότητα Επιλογή της τιμής του κατωφλιού για την ελάχιστη υποστήριξη Μικρή τιμή => πολλά συχνά στοιχειοσύνολα Αύξηση υποψήφιων στοιχειοσυνόλων (πολυπλοκότητα) και το μέγιστο μήκος των συχνών στοιχειοσυνόλων (περισσότερα περάσματα στα δεδομένα)

Στρατηγική apriori: Πολυπλοκότητα Αριθμός διαστάσεων - Dimensionality (αριθμός στοιχείων) του συνόλου δεδομένων Περισσότερος χώρος για την αποθήκευση της υποστήριξης κάθε στοιχείου Αύξηση του αριθμού των συχνών στοιχείων, αύξηση του υπολογιστικού κόστους και του κόστους I/O Μέγεθος της βάσης Επειδή ο Apriori κάνει πολλαπλά περάσματα, ο χρόνος εκτέλεσης μπορεί να αυξηθεί

Στρατηγική apriori: Πολυπλοκότητα Μέσο πλάτος δοσοληψίας Το μέγιστο μήκος των συχνών στοιχειοσύνολων τείνει να αυξηθεί με την αύξηση του μέσου πλάτους των δοσοληψιών, άρα και ο αριθμός των υποψηφίων σε κάθε βήμα Επίσης, αύξηση των περασμάτων του δέντρου

Στρατηγική apriori: Πολυπλοκότητα 1. Δημιουργία συχνών 1-στοχειοσυνόλων Ο(Νw) 2. Δημιουργία υποψήφιων στοιχειοσυνόλων Έστω F k-1 x F k-1 k-2 συγκρίσεις για κοινό prefix Στη χειρότερη περίπτωση, ταιριάζουν όλα Σ k=2,w F k-1 2 Επίσης κατασκευάζουμε το δέντρο, μέγιστο ύψος k, άρα Σ k=2,w k F k-1 2 Έλεγχος, για τα k-2 υποσύνολα με χρήση του δέντρου 3. Υπολογισμός της Υποστήριξης Κάθε δοσοληψία έχει k από t k-στοιχειοσύνολα

Δειγματοληψία Πρόβλημα: Μεγάλες ΒΔ Λύση: Δειγματοληψία στη ΒΔ και εφαρμογή του Apriori στο επιλεγμένο δείγμα. Ενδεχομένως Μεγάλα Itemsets (Potentially Large Itemsets -PL): μεγάλα itemsets από το επιλεγμένο δείγμα Αρνητικό Όριο (Negative Border - BD ): Το ελάχιστο σύνολο των itemsets που δεν ανήκουν στο PL, ενώ όλα τα υποσύνολά τους ανήκουν στο PL.

Παραγωγή Κανόνων

Παραγωγή Κανόνων (Rule Generation) Δοθέντος ενός συχνού στοιχειοσυνόλου L, βρες όλα τα μη κενά υποσύνολα f L τέτοια ώστε ο κανόνας f L f ικανοποιεί τον περιορισμό της ελάχιστης εμπιστοσύνης Παράδειγμα αν {A,B,C,D} υποψήφιοι κανόνες: ABC D, ABD C, ACD B, BCD A, A BCD, B ACD, C ABD, D ABC AB CD, AC BD, AD BC, BC AD, BD AC, CD AB, Όλοι έχουν την ίδια υποστήριξη, πρέπει να ελέγξουμε την εμπιστοσύνη Αν L = k, τότε υπάρχουν 2 k 2 υποψήφιοι κανόνες συσχέτισης (εξαιρώντας τον L και τον L)

Παραγωγή Κανόνων Υπολογισμός Εμπιστοσύνης Παρατήρηση: Δε χρειάζεται να διαπεράσουμε πάλι τα δεδομένα για να υπολογίσουμε την εμπιστοσύνη ενός κανόνα που προκύπτει από ένα συχνό στοιχειοσύνολο: ABC D, ABD C, ACD B, BCD A, A BCD, B ACD, C ABD, D ABC AB CD, AC BD, AD BC, BC AD, BD AC, CD AB Γιατί; Πχ c(cd AB) = σ{a, B, C, D}/σ{C, D} Από την αντι-μονότονη ιδιότητα της υποστήριξης, το {C, D} είναι συχνό στοιχειοσύνολο άρα έχουμε ήδη υπολογίζει την υποστήριξή του

Παραγωγή Κανόνων Πως μπορούν να παραχθούν αποδοτικά οι κανόνες από τα συχνά στοιχειοσύνολα; Γενικά, η αντι-μονότονη ιδιότητα δεν ισχύει για την εμπιστοσύνη X, Y : ( X Y ) s( X ) s( Y Δηλαδή, η εμπιστοσύνη του X Y μπορεί να είναι μεγαλύτερη, μικρότερη ή ίση της εμπιστοσύνης ενός κανόνα X Y όπου Χ X και Υ Υ Γενικά έστω {p} {q} με εμπιστοσύνη c 1 Και {p, r} {q} με εμπιστοσύνη c 2 (το αριστερό μέρος LHS - υπερσύνολο) Μπορεί c 2 > c 1, c 2 < c 1 ή c 2 = c 1 Έστω {p} {q, r} με εμπιστοσύνη c 3 (το δεξί μέρος RHS - υπερσύνολο ) c 3 c 1 Επίσης, c 3 c 2 )

Παραγωγή Κανόνων Η εμπιστοσύνη για τους κανόνες που παράγονται από το ίδιο στοιχειοσύνολο έχει μια αντι-μονότονη ιδιότητα Για παράδειγμα L = {A,B,C,D}: c(abc D) c(ab CD) c(a BCD) Η εμπιστοσύνη είναι αντι-μονότονη σε σχέση με των αριθμό των στοιχείων στο RHS του κανόνα (ή ισοδύναμα μονότονη στον αριθμό των στοιχείων στο LHS) Pruning Rule: Αν ο κανόνας X Y X δεν ικανοποιεί το κατώφλι εμπιστοσύνης, τότε και ο κανόνας Χ Y X (Χ Χ) δεν τον ικανοποιεί

Παραγωγή Κανόνων για τον Αλγόριθμο apriori Έστω κόμβος με μικρή εμπιστοσύνη Πλέγμα Κανόνων Lattice of rules ABCD=>{ } BCD=>A ACD=>B ABD=>C ABC=>D CD=>AB BD=>AC BC=>AD AD=>BC AC=>BD AB=>CD Ψαλιδισμέ νοι κανόνες D=>ABC C=>ABD B=>ACD A=>BCD

Παραγωγή Κανόνων για τον Αλγόριθμο apriori Οι κανόνες παράγονται σε επίπεδα με βάση τα στοιχεία στο RHS Αρχικά, θεωρούμε όλους τους κανόνες με ένα στοιχείο στο RHS CD=>AB BD=>AC Στη συνέχεια, οι υποψήφιοι κανόνες παράγονται συγχωνεύοντας το RHS δυο υποψηφίων κανόνων Πχ Συγχώνευση(ACD=>B, ABD=>C) μας δίνει AD=>BC Όπως και στα συχνά στοιχειοσύνολα, στη συνέχεια, με το ίδιο prefix στο RHS Συγχώνευση(CD=>AB, BD=>AC) μας δίνει D => ABC D=>ABC Prune τον κανόνα D=>ABC, αν το υποσύνολο AD=>BC δεν έχει επαρκή εμπιστοσύνη Σε αντίθεση με την περίπτωση των συχνών στοιχειοσυνόλων, δε χρειάζεται να διαβάσουμε τις δοσοληψίες για να υπολογίσουμε την εμπιστοσύνη

Παραγωγή Κανόνων για τον Αλγόριθμο apriori Πλέγμα Κανόνων Έστω κόμβος με μικρή εμπιστοσύνη ABCD=>{ } Επίπεδο 1 (ένα στοιχείο στο RHS) BCD=>A ACD=>B ABD=>C ABC=>D Επίπεδο 2 CD=>AB BD=>AC BC=>AD AD=>BC AC=>BD AB=>CD Επίπεδο 3 Ψαλιδισμένοι κανόνες D=>ABC C=>ABD B=>ACD A=>BCD

Αρνητικό Όριο: Παράδειγμα PL PL BD - (PL)

Παράδειγμα αλγόριθμου apriori

Βήματα αλγορίθμου PL 1 ο βήμα: εκτέλεση Apriori σε ένα δείγμα της ΒΔ Όχι απαραίτητα με το ίδιο κατώφλι υποστήριξης Τα συχνά (στο δείγμα) itemsets αποτελούν το σύνολο PL

Βήματα αλγορίθμου 2 ο βήμα: Κατασκευή του συνόλου C των υποψηφίων συχνών itemsets με επέκταση του PL με το αρνητικό του όριο BD - (PL), δηλ. C = PL BD - (PL) 1 ο πέρασμα της ΒΔ για μέτρηση της υποστήριξης των itemsets του C Τα συχνά, μεταξύ αυτών που ελέγχθηκαν, itemsets αποτελούν το (αρχικό) σύνολο L C τα σύνολα C και L

Βήματα αλγορίθμου 3 ο βήμα: Κατασκευή του συνόλου C των υποψηφίων συχνών itemsets με (επαναληπτική) επέκταση του L με το αρνητικό του όριο 2 ο πέρασμα της ΒΔ για μέτρηση της υποστήριξης των itemsets του C Τα συχνά, μεταξύ αυτών που ελέγχθηκαν, itemsets αποτελούν το (τελικό) σύνολο L C (επαναληπτικά) το σύνολο C

ΠΑΡΑΔΕΙΓΜΑ Δίνεται η παρακάτω βάση δεδομένων X με εγγραφές: Χρησιμοποιώντας support = 25% και confidence = 60%, βρείτε: a) Όλα τα μεγάλα (συχνά) σύνολα στοιχείων στη βάση δεδομένων Χ. b) Τους δυνατούς κανόνες συσχέτισης στη βάση δεδομένων Χ TID T01 T02 T03 T04 T05 T06 T07 T08 ITEMS A,B,C,D A,C,D,F C,D,E,G,A A,D,F,B B,C,G D,F,G A,B,G C,D,F,G

1-itemsets C1 Count S% A 5 0.63 B 4 0.50 C 5 0.63 D 6 0.75 E 1 0.13 F 4 0.50 G 5 0.63 Large 1-itemsets Count S% L1 A 5 0.63 B 4 0.50 C 5 0.63 D 6 0.75 E F 1 4 0.13 0.50 G 5 0.63

2- items C2 2-items count S% Large 2-items L2 coun t S%

Παράδειγμα Δειγματοληψίας

Παράδειγμα δειγματοληψίας Θέλουμε να βρούμε τους κανόνες συσχετίσεων, με s = 40% D s = { t 1, t 2 }; smalls = 10% PL = { {Bread}, {Jelly}, {PeanutButter}, {Bread, Jelly}, {Bread, PeanutButter}, {Jelly, PeanutButter}, {Bread, Jelly, PeanutButter} } BD (PL) = { {Beer}, {Milk} } ; C = PL BD (PL) (1 ο πέρασμα στη ΒΔ) Μέτρηση του C απ όπου προκύπτει ότι L = { {Bread}, {PeanutButter}, {Bread, PeanutButter}, {Beer}, {Milk} } ML = BD (PL) L = { {Beer}, {Milk} } C = L; επαναληπτικά: C = C BD (C) // στο παράδειγμα, θα γίνουν 3 επαναλήψεις: για 2-, 3-, 4-itemsets (2 ο πέρασμα στη ΒΔ) Μέτρηση του C απ όπου προκύπτει ότι L = L (που ήδη βρέθηκαν στο βήμα 4) (από το βήμα 7)

Αλγόριθμος δειγματοληψίας 1. D s = sample of Database D; 2. PL = Large itemsets in D s (using smalls); 3. C = PL BD (PL); 4. L = Count C in Database (using s); // 1 st pass 5. ML = itemsets in BD (PL) found to be frequent; 6. If ML = then done else C = L; repeat C = C BD (C); until BD (C) = 7. L = Count C in Database (using s); // 2 nd pass

Υπέρ και Κατά της Δειγματοληψίας Πλεονεκτήματα: Μειώνει το πλήθος των σαρώσεων της ΒΔ σε 1 (στην καλύτερη περίπτωση) ή 2 (στη χειρότερη περίπτωση). Καλύτερη κλιμάκωση (αποδοτικό σε μικρές αλλά και μεγάλες ΒΔ). Μειονεκτήματα: Ενδεχομένως μεγάλος αριθμός υποψηφίων itemsets στη δεύτερη σάρωση (πολλά υποψήφια λόγω επαναληπτικού υπολογισμού του αρνητικού ορίου)

Διαμερισμός

Διαμερισμός Διαμερίζουμε τη ΒΔ σε τμήματα (partitions) D 1, D 2,, D p Εφαρμόζουμε τον Apriori σε κάθε τμήμα Κάθε συχνό itemset θα πρέπει να είναι συχνό σε ένα τουλάχιστον από τα τμήματα. Αλγόριθμος: 1. Divide D into partitions D 1,D 2,,D p; 2. For i = 1 to p do 3. L i = Apriori(D i ); // 1 st pass 4. C = L 1 L p ; 5. Count C on D to generate L; // 2 nd pass

Παράδειγμα διαμερισμού D 1 L 1 ={ {Bread}, {Jelly}, {PeanutButter}, {Bread,Jelly}, {Bread,PeanutButter}, {Jelly, PeanutButter}, {Bread,Jelly,PeanutButter} } D 2 L 2 ={ {Bread}, {Beer}, {Milk} } s =50% C = L 1 L 2 L = { {Bread}, {PeanutButter}, {Bread,PeanutButter} }

Υπέρ και Κατά του Διαμερισμού Πλεονεκτήματα: Προσαρμόζεται στη διαθέσιμη κύρια μνήμη Υλοποιείται εύκολα σε παράλληλη μορφή Μέγιστο πλήθος σαρώσεων της ΒΔ = 2. 1η σάρωση: διαμερισμός σε τμήματα που χωρούν στην κύρια μνήμη (και εκτέλεση Apriori στην κύρια μνήμη) 2η σάρωση: για να εντοπιστούν τα πραγματικά συχνά itemsets από τα υποψήφια που προέκυψαν από την 1η σάρωση Μειονεκτήματα: Μπορεί να έχει πολλά υποψήφια itemsets κατά την διάρκεια της δεύτερης σάρωσης.

Αναπαράσταση Κανόνων Συσχέτισης

Αναπαράσταση Στοιχειοσυνόλων Τα στοιχειοσύνολα που παράγονται είναι πολλά, κάποια ίσως περιττά Ποια να κρατήσουμε; Αντιπροσωπευτικά συχνά στοιχειοσύνολα Περιττός κανόνας Χ Υ, αν υπάρχει ένας κανόνας Χ Υ, όπου Χ Χ και Υ Υ με την ίδια υποστήριξη και εμπιστοσύνη Πχ., {b} {d, e} περιττός Αν ο {b, c} {d, e}, έχει την ίδια υποστήριξη και εμπιστοσύνη

Ένα στοιχειοσύνολο είναι Μέγιστο (maximal) συχνό αν κανένα από τα άμεσα υπερσύνολά του δεν είναι συχνό (δηλ, όλα είναι μη συχνά) Maximal Itemsets Αναπαράσταση Στοιχειοσυνόλων Μέγιστα Συχνά στοιχειοσύνολα προσφέρουν μια συνοπτική αναπαράσταση των συχνών στοιχειοσυνόλων: το μικρότερο σύνολο στοιχειοσυνόλων από το οποίο μπορούμε να πάρουμε όλα τα συχνά στοιχειοσύνολα είναι τα υποσύνολά τους ΟΜΩΣ: Δεν προσφέρουν καμιά πληροφορία για την υποστήριξη των υποσυνόλων τους null A B C D E AB AC AD AE BC BD BE CD CE DE ABC ABD ABE ACD ACE ADE BCD BCE BDE CDE ABCD ABCE ABDE ACDE BCDE Μη συχνά στοιχειοσυ νολα ABCD E Όριο

Αναπαράσταση Στοιχειοσυνόλων Τα μέγιστα (maximal) συχνά στοιχειοσύνολα Προσφέρουν μια συνοπτική αναπαράσταση των συχνών στοιχειοσυνόλων: το μικρότερο σύνολο στοιχειοσυνόλων από το οποίο μπορούμε να πάρουμε όλα τα συχνά στοιχειοσύνολα (είναι όλα τα υποσύνολά τους) Βέβαια, αυτό έχει νόημα μόνο αν έχουμε έναν αποδοτικό αλγόριθμο για τον υπολογισμό τους που δεν παράγει όλα τα δυνατά υποσύνολα τους ΜΕΙΟΝΕΚΤΗΜΑ: Δεν προσφέρουν καμιά πληροφορία για την υποστήριξη των υποσυνόλων τους null A B C D E AB AC AD AE BC BD BE CD CE DE ABC ABD ABE ACD ACE ADE BCD BCE BDE CDE ABCD ABCE ABDE ACDE BCDE ABCD E Maximal Itemsets: AD ACE BCDE

Αναπαράσταση Στοιχειοσυνόλων Κλειστά στοιχειοσύνολα (Closed Itemset) Ένα στοιχειοσύνολο είναι κλειστό εάν κανένα από τα αμέσως επόμενα υπερσύνολα του δεν έχει την ίδια υποστήριξη με το στοιχειοσύνολο Δεν είναι κλειστό αν κάποιο άμεσο υπερσύνολό του έχει την ίδια υποστήριξη! TID Items 1 {A,B} 2 {B,C,D} 3 {A,B,C,D} 4 {A,B,D} 5 {A,B,C,D} Itemset Support {A} 4 {B} 5 {C} 3 {D} 4 {A,B} 4 {A,C} 2 {A,D} 3 {B,C} 3 {B,D} 4 {C,D} 3 Itemset Support {A,B,C} 2 {A,B,D} 3 {A,C,D} 2 {B,C,D} 3 {A,B,C,D} 2

Αναπαράσταση Στοιχειοσυνόλων Ένα στοιχειοσύνολο είναι κλειστό συχνό στοιχειοσύνολο αν είναι κλειστό και η υποστήριξη του είναι μικρότερη ή ίση με την τιμή κατωφλίου υποστήριξης: minsup Ο αλγόριθμος υπολογισμού της υποστήριξης βασίζεται στο ότι: Η υποστήριξη ενός μη κλειστού στοιχειοσυνόλου πρέπει να είναι ίση με την μεγαλύτερη υποστήριξη ανάμεσα στα υπερσύνολά του TID Items 1 {A,B} 2 {B,C,D} 3 {A,B,C,D} 4 {A,B,D} 5 {A,B,C,D} Itemset Support {A} 4 {B} 5 {C} 3 {D} 4 {A,B} 4 {A,C} 2 {A,D} 3 {B,C} 3 {B,D} 4 {C,D} 3 Itemset Support {A,B,C} 2 {A,B,D} 3 {A,C,D} 2 {B,C,D} 3 {A,B,C,D} 2

TID Items 1 ABC 2 ABCD 3 BCE 4 ACDE 5 DE Αναπαράσταση Στοιχειοσυνόλων Maximal vs Closed Itemsets null Transaction Ids 124 123 1234 245 345 A B C D E 12 124 24 4 123 2 3 24 34 45 AB AC AD AE BC BD BE CD CE DE Minsup=40% 12 2 24 4 4 2 3 4 ABC ABD ABE ACD ACE ADE BCD BCE BDE CDE 2 4 ABCD ABCE ABDE ACDE BCDE Δεν εμφανίζονται σε καμιά δοσοληψία ABCDE

Ελάχιστη υποστήριξη = 2 (40%) Αναπαράσταση Στοιχειοσυνόλων Maximal vs Closed Itemsets null Closed but not maximal 124 123 1234 245 345 A B C D E Closed and maximal 12 124 24 4 123 2 3 24 34 45 AB AC AD AE BC BD BE CD CE DE 12 2 24 4 4 2 3 4 ABC ABD ABE ACD ACE ADE BCD BCE BDE CDE 2 4 ABCD ABCE ABDE ACDE BCDE # Closed = 9 # Maximal = 4 ABCDE Για να υπολογίσουμε όλα τα συχνά στοιχειοσύνολα και την υποστήριξη τους, ξεκινάμε από τα μεγαλύτερα κλειστά και προχωράμε

Χρήση κλειστών συχνών στοιχειοσυνόλων Το στοιχειοσύνολο {b} δεν είναι κλειστό ενώ το {b, c} είναι κλειστό Επομένως ο κανόνας συσχέτισης : {b} {d, e} περιττός, γιατί έχει την ίδια υποστήριξη και εμπιστοσύνη με τον κανόνα {b, c} {d, e} Τέτοιοι περιττοί κανόνες δεν παράγονται εάν χρησιμοποιούνται κλειστά συχνά στοιχειοσύνολα για την παραγωγή κανόνων. Περιττός κανόνας Χ Υ, αν υπάρχει ένας κανόνας Χ Υ, όπου Χ Χ και Υ Υ με την ίδια υποστήριξη και εμπιστοσύνη

Συμπαγής αναπαράσταση συχνών στοιχειοσυνόλων Έστω οι παρακάτω 15 δοσοληψίες με 30 στοιχεία Έστω, υποστήριξη 20% TID A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 B1 B2 B3 B4 B5 B6 B7 B8 B9 B10 C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 Αριθμός συχνών στοιχειοσυνόλων 10 3 10 k 1 k Μερικά στοιχειοσύνολα είναι πλεονάζοντα γιατί έχουν την ίδια τιμή για την υποστήριξη με τα υπερσύνολά τους Πιθανή συνοπτική αναπαράσταση με μόνο τα τρια κλειστά συχνά στοιχειοσύνολα: {Α1, Α2, Α3, Α4, Α5, Α6. Α7, Α8, Α9, Α10}, {Β1, Β2, Β3, Β4, Β5, Β6, Β7, Β8, Β9, Β10}, {C1, C2, C3, C4, C5, C6, C7, C8, C9, C10}

Αναπαράσταση Στοιχειοσυνόλων Maximal vs Closed Itemsets Συχνά Στοιχειοσύνολα Κλειστά Συχνά Στοιχειοσύνολα Μέγιστα Συχνά Στοιχειοσύνολα

Άλλοι Μέθοδοι Υπολογισμού Συχνών Στοιχειοσυνόλων Ο Apriori από τους παλιότερους αλγορίθμους, αλλά: Συχνά μεγάλο I/O επειδή κάνει πολλαπλά περάσματα στη βάση των δοσοληψιών Κακή απόδοση όταν οι δοσοληψίες έχουν μεγάλο πλάτος Άλλες μέθοδοι: Διαφορετικές διασχίσεις του πλέγματος των στοιχειοσυνόλων Αναπαράσταση Συνόλου Δοσoληψιών

Άλλοι Μέθοδοι Υπολογισμού Συχνών Στοιχειοσυνόλων Apriori: Γενικά-προς-Συγκεκριμένα k-1 -> k null Πλέγμα Στοιχειοσυνόλων A B C D E AB AC AD AE BC BD BE CD CE DE ABC ABD ABE ACD ACE ADE BCD BCE BDE CDE k -> k - 1 ABCD ABCE ABDE ACDE BCDE Συγκεκριμένα-προς- Γενικά Αν αυτό είναι το συχνό, το βρίσκουμε αφού εξετάσουμε όλα τα υποσύνολά του ABCDE Αν τα συχνά είναι προς το κατώτατο σημείο (bottom) τους πλέγματος, ίσως συμφέρει

Εναλλακτικές μέθοδοι για την παραγωγή συχνών στοιχειοσυνόλων «Διάσχιση» στο δικτύωμα (Lattice) των στοιχειοσυνόλων Στοιχειοσύνολο μεγέθους k -> k 1 (συγκεκριμένο-προς-γενικό) Πιο χρήσιμη για τον εντοπισμό maximal συχνών στοιχειοσυνόλων σε πυκνές (δηλ, με μεγάλο πλάτος) δοσοληψίες όπου το συχνό στοιχειοσύνολο βρίσκεται κοντά στο κατώτατο σημείο του πλέγματος Αν βρεθεί συχνό στοιχειοσύνολο, δε χρειάζεται να ελέγξουμε κανένα από τα υποσύνολά του Οι σκουρόχρωμοι κόμβοι αναπαραστούν σπάνια στοιχειοσύνολα Frequent itemset border null.... {a 1,a 2,...,a n } (a) General-to-specific null.... {a 1,a 2,...,a n } (b) Specific-to-general Frequent itemset border Frequent itemset border null.... {a 1,a 2,...,a n } (c) Bidirectional

Εναλλακτικές μέθοδοι για την παραγωγή συχνών στοιχειοσυνόλων Κλάσεις Ισοδυναμίας (Equivalent Classes) Χωρισμός των στοιχειοσυνόλων του πλέγματος σε ξένες μεταξύ τους ομάδες (κλάσεις ισοδυναμίας) και εξέταση των στοιχειοσυνόλων ανά κλάσεις Apriori: ορίζει τις κλάσεις με βάση το μήκος k των στοιχειοσυνόλων, πρώτα αυτά μήκους 1, μετά μήκους 2 κοκ Prefix (Suffix): Δύο στοιχειοσύνολα ανήκουν στην ίδια κλάση αν έχουν κοινό πρόθεμα (ή επίθεμα-κατάληξη) μήκους k null null Κατηγορίες Ισοδυναμίας με βάση τα προθέματα (prefix) στις ετικέτες στοιχειοσυνόλ ων A B C D AB AC AD BC BD CD ABC ABD ACD BCD ABCD A B C D AB AC BC AD BD CD ABC ABD ACD BCD ABCD Κατηγορίες Ισοδυναμίας με βάση τα επιθέματα (suffix) στις ετικέτες στοιχειοσυνόλ ων (a) Prefix tree (b) Suffix tree

Εναλλακτικές μέθοδοι για την παραγωγή συχνών στοιχειοσυνόλων Διάσχιση στο πλέγμα/ δικτύωμα (Lattice) των στοιχειοσυνόλων Πρώτα κατά πλάτος πρώτα κατά βάθος (Breadth-first vs Depth-first) BFS: Breadth-First-Search Διάσχιση κατά Πλάτος DFS: Depth-First-Search Διάσχιση κατά Βάθος (a) Breadth first (b) Depth first DFS Χρήσιμο για την εύρεση maximal συχνών στοιχειοσυνόλων γιατί τα εντοπίζει πιο γρήγορα από το BFS Μόλις εντοπιστεί το maximal, είναι δυνατόν να κλαδευτούν πολλά υποσύνολα του

Άλλοι Μέθοδοι Υπολογισμού Συχνών Στοιχειοσυνόλων Διάσχιση του Πλέγματος των Στοιχειοσυνόλων: BFS vs DFS Maximal συχνό στοιχειοσύνολο Prune πχ μόνο τa bc και ac (το υποδέντρa τους μπορεί να έχει maximal) Maximal συχνό στοιχειοσύνολο Μπορούμε να κάνουμε prune όλο το υποδέντρο Επίσης, πχ αν abc ίδια υποστήριξη με ab τότε τα υποδέντρα στο abd και abe pruned δεν έχουν maximal συχνό

Εναλλακτικές μέθοδοι για την παραγωγή συχνών στοιχειοσυνόλων Αναπαράσταση της βάσης δεδομένων Αυτό χρησιμοποιεί ο apriori Οριζόντια vs κάθετη διάταξη Horizontal Data Layout TID Items 1 A,B,E 2 B,C,D 3 C,E 4 A,C,D 5 A,B,C,D 6 A,E 7 A,B 8 A,B,C 9 A,C,D 10 B Οριζόντια Διάρθρωση Δεδομένων Εναλλακτικά: Για κάθε στοιχείο σε ποιες δοσοληψίες εμφανίζεται Vertical Data Layout A B C D E 1 1 2 2 1 4 2 3 4 3 5 5 4 5 6 6 7 8 9 7 8 9 8 10 9 Η υποστήριξη υπολογίζεται παίρνοντας τις τομές των TIDλιστών

Άλλοι Τρόποι Υπολογισμού Η υποστήριξη υπολογίζεται παίρνοντας τις τομές των TIDλιστών A 1 4 5 6 7 8 9 B 1 2 5 7 8 10 Η υποστήριξη ενός k-στοιχειοσυνόλου υπολογίζεται παίρνοντας τις τομές των TIDλιστών δύο από τα (k-1)-ύπο-στοιχειοσύνολα του. AB 1 5 7 8 Πλεονέκτημα: πολύ γρήγορος υπολογισμός της υποστήριξης Πρόβλημα, αν οι TID-λίστες είναι μεγάλες και δε χωρούν στη μνήμη Θα δούμε τον FP-Growth που χρησιμοποιεί μια prefix-based αναπαράσταση των δοσοληψιών

Ο Αλγόριθμος FP- Ανάπτυξη (Growth)

Αλγόριθμος FP-Ανάπτυξη (Growth) Ο αλγόριθμος χρησιμοποιεί μια συμπιεσμένη αναπαράσταση της βάσης των δοσοληψιών με τη μορφή ενός FP-δέντρου Το δέντρο μοιάζει με προθεματικό δέντρο - prefix tree Ο αλγόριθμος κατασκευής διαβάζει μια δοσοληψία τη φορά, απεικονίζει τη δοσοληψία σε ένα μονοπάτι του FP-δέντρου Μερικά μονοπάτια μπορεί να επικαλύπτονται: όσο περισσότερα μονοπάτια επικαλύπτονται, τόσο καλύτερη συμπίεση Μόλις κατασκευαστεί το FP-δέντρο, ο αλγόριθμος χρησιμοποιεί μια αναδρομική διαίρει-και-βασίλευε (divide-and-conquer) προσέγγιση για την εξόρυξη των συχνών στοιχειοσυνόλων

Αλγόριθμος FP-Growth Κατασκευή FP-δέντρου TID Items 1 {A,B} 2 {B,C,D} 3 {A,C,D,E} 4 {A,D,E} 5 {A,B,C} 6 {A,B,C,D} 7 {B,C} 8 {A,B,C} 9 {A,B,D} 10 {B,C,E} To FP-δέντρο είναι ένα προθεματικό δέντρο Επειδή έχουμε σύνολα, κάπως πρέπει να τα διατάξουμε ώστε να βρίσκουμε προθέματα Δηλαδή δε μπορεί το ένα σύνολο να είναι {Α, Β} και το άλλο {Β, C, A} γιατί χάνουμε το κοινό πρόθεμα ΑΒ (ή ΒΑ) Άρα τα στοιχεία σε κάθε σύνολο πρέπει να ακολουθούν κάποια διάταξη, έστω τη λεξικογραφική (θα δούμε αργότερα αν κάτι άλλο συμφέρει καλύτερα) Αρχικά, το δέντρο κενό null

Κατασκευή FP-tree TID Items 1 {A,B} 2 {B,C,D} 3 {A,C,D,E} 4 {A,D,E} 5 {A,B,C} 6 {A,B,C,D} 7 {B,C} 8 {A,B,C} 9 {A,B,D} 10 {B,C,E} Διάβασμα TID=1: B:1 Διάβασμα TID=2: null A:1 B:1 A:1 null B:1 C:1 Κάθε κόμβος έχει μια ετικέτα: ποιο στοιχείο και τη συχνότητα εμφάνισης (υποστήριξη) πόσες δοσοληψίες φτάνουν σε αυτόν Ετικέτα κόμβου <ΣΤΟΙΧΕΙΟ: ΥΠΟΣΤΗΡΙΞΗ>

Αλγόριθμος FP-Growth TID Items 1 {A,B} 2 {B,C,D} 3 {A,C,D,E} 4 {A,D,E} 5 {A,B,C} 6 {A,B,C,D} 7 {B,C} 8 {A,B,C} 9 {A,B,D} 10 {B,C,E} Κατασκευή FP-δέντρου Διάβασμα TID=1, 2: Πίνακας Δεικτών B:1 A:1 null B:1 C:1 Επίσης, κρατάμε πίνακα δεικτών για να βοηθήσουν στον υπολογισμό των συχνών στοιχειοσυνόλων Item A B C D E Pointer

Αλγόριθμος FP-Growth TID Items 1 {A,B} 2 {B,C,D} 3 {A,C,D,E} 4 {A,D,E} 5 {A,B,C} 6 {A,B,C,D} 7 {B,C} 8 {A,B,C} 9 {A,B,D} 10 {B,C,E} Κατασκευή FP-δέντρου Διάβασμα TID=1, 2: Διάβασμα TID=3 Πίνακας Δεικτών B:1 A:1 null B:1 C:1 Item A B C D E Pointer

Αλγόριθμος FP-Growth TID Items 1 {A,B} 2 {B,C,D} 3 {A,C,D,E} 4 {A,D,E} 5 {A,B,C} 6 {A,B,C,D} 7 {B,C} 8 {A,B,C} 9 {A,B,D} 10 {B,C,E} Κατασκευή FP-δέντρου Διάβασμα TID=1, 2: Διάβασμα TID=3 Πίνακας Δεικτών Item A B C D E Pointer B:1 A:2 null C:1 E:1 B:1 C:1

Αλγόριθμος FP-Growth TID Items 1 {A,B} 2 {B,C,D} 3 {A,C,D,E} 4 {A,D,E} 5 {A,B,C} 6 {A,B,C,D} 7 {B,C} 8 {A,B,C} 9 {A,B,D} 10 {B,C,E} Κατασκευή FP-δέντρου Διάβασμα TID=1, 2: Διάβασμα TID=3 Πίνακας Δεικτών Item A B C D E Pointer B:1 A:2 null C:1 E:1 B:1 C:1

Κατασκευή Δένδρου FP- TID Items 1 {A,B} 2 {B,C,D} 3 {A,C,D,E} 4 {A,D,E} 5 {A,B,C} 6 {A,B,C,D} 7 {B,C} 8 {A,B,C} 9 {A,B,D} 10 {B,C,E} Transaction Database B:5 A:7 C:1 null B:3 C:3 Πίνακας δεικτών Item A B C D E Pointer C:3 E:1 E:1 Οι δείκτες χρησιμοποιούνται για παραχθούν τα συχνά στοιχειοσύνολα E:1

Αλγόριθμος FP-Growth Μέγεθος FP-δέντρου Κάθε δοσοληψία αντιστοιχεί σε ένα μονοπάτι από τη ρίζα Το μέγεθος του δέντρου συνήθως μικρότερο των δεδομένων, αν υπάρχουν κοινά προθέματα Αν όλες οι δοσοληψίες μοιράζοντα τα ίδια δεδομένα, μόνο ένα κλαδί Αν όλες οι δοσοληψίες είναι διαφορετικές, ο χώρος μεγαλύτερος (γιατί αποθηκεύεται περισσότερη πληροφορία, όπως δείκτες μεταξύ των κόμβων αλλά και συχνότητες εμφάνισης)

Αλγόριθμος FP-Growth Κατασκευή FP-δέντρου Το τελικό δέντρο, εξαρτάται από τη διάταξη: άλλη διάταξη -> άλλα προθέματα TID Items 1 {A,B} 2 {B,C,D} 3 {A,C,D,E} 4 {A,D,E} 5 {A,B,C} 6 {A,B,C,D} 7 {B,C} 8 {A,B,C} 9 {A,B,D} 10 {B,C,E} (Συνήθως) μικρότερο δέντρο, αν όχι λεξικογραφικά, αλλά με βάση τη συχνότητα εμφάνισης -> Αρχικά, διαβάζουμε όλα τα δεδομένα μια φορά ώστε να υπολογιστεί ο μετρητής υποστήριξης κάθε στοιχείου, και διατάσουμε τα στοιχεία με βάση αυτό Επίσης, αγνοούμε όσα στοιχεία είναι μη συχνά Για τo παράδειγμα, σ(α)=7, σ(β)=8, σ(c)=7, σ(d)=5, σ(ε)=3 Άρα, Β,Α,C,D,E διάταξη TID Items 1 {Β,Α} 2 {B,C,D} 3 {A,C,D,E} 4 {A,D,E} 5 {Β,Α,C} 6 {Β,Α,C,D} 7 {B,C} 8 {Β,Α,C} 9 {Β,Α,D} 10 {B,C,E}

Αλγόριθμος FP-Growth Αλγόριθμος εύρεσης συχνών στοιχειοσυνόλων Είσοδος: FP-δέντρο Έξοδος: Συχνά στοιχειοσύνολα και η υποστήριξη τους Μέθοδος: Διαίρει-και-Βασίλευε o Χωρίζουμε τα στοιχειοσύνολα σε αυτά που τελειώνουν σε E, D, C, B, A o Μετά αυτά που τελειώνουν σε E σε αυτά σε DE, CE, BE, AE κοκ

Αλγόριθμος FP-Growth Αλγόριθμος εύρεσης συχνών στοιχειοσυνόλων Όλα τα στοιχειοσύνολα Ε D C B A DE CE BE AE CD BD AD BC AC AB CDE BDE ADE BCE ACE ABE BCD ACD ABD ABC ACDE BCDE ABDE ABCE ABCD ABCDE Όλα τα δυνατά στοιχειοσύνολα!

Αλγόριθμος FP-Growth Αλγόριθμος εύρεσης συχνών στοιχειοσυνόλων Όλα τα στοιχειοσύνολα συχνό; Ε D C B A DE CE BE AE CD BD AD BC AC AB συχνό; CDE BDE ADE BCE ACE ABE BCD ACD ABD ABC συχνό; ACDE BCDE ABDE ABCE ABCD συχνό; ABCDE Όλα τα δυνατά στοιχειοσύνολα!

Αλγόριθμος FP-Growth Αλγόριθμος εύρεσης συχνών στοιχειοσυνόλων Όλα τα στοιχειοσύνολα συχνό; Ε D C B A DE CE BE AE CD BD AD BC AC AB συχνό; CDE BDE ADE BCE ACE ABE BCD ACD ABD ABC συχνό; συχνό; ACDE BCDE ABDE ABCE ABCD συχνό; ABCDE Όλα τα δυνατά στοιχειοσύνολα!

Αλγόριθμος FP-Growth Αλγόριθμος εύρεσης συχνών στοιχειοσυνόλων Όλα τα στοιχειοσύνολα συχνό; Ε D C B A DE CE BE AE CD BD AD BC AC AB συχνό; CDE BDE ADE BCE ACE ABE BCD ACD ABD ABC συχνό; ACDE BCDE ABDE ABCE ABCD ABCDE Όλα τα δυνατά στοιχειοσύνολα! Στο δέντρο μπορεί να υπάρχουν λιγότερα!

TID Items 1 {A,B} 2 {B,C,D} 3 {A,C,D,E} 4 {A,D,E} 5 {A,B,C} 6 {A,B,C,D} 7 {B,C} 8 {A,B,C} 9 {A,B,D} 10 {B,C,E} B:5 A:7 Αλγόριθμος FP-Growth Χρήση FP-δέντρου για εύρεση συχνών στοιχειοσυνόλων C:1 null B:3 C:3 Header table Item A B C D E Pointer C:3 E:1 Πως; E:1 E:1 Bottom-up traversal του δέντρου Αυτά που τελειώνουν σε E, μετά αυτά που τελειώνουν σε D, C, B και τέλος Α suffix-based classes (επίθεμα κατάληξη)

Αλγόριθμος FP-Growth Υποπρόβλημα: Βρες συχνά στοιχειοσύνολα που τελειώνουν σε E A:7 null B:3 B:5 C:1 C:3 Header table Item A B C D E Pointer C:3 E:1 E:1 E:1 Θα δούμε στη συνέχεια πως υπολογίζεται η υποστήριξη για τα πιθανά στοιχειοσύνολα

Αλγόριθμος FP-Growth null Για το D A:7 B:3 B:5 C:1 C:3 Header table Item A B C D E Pointer C:3 E:1 E:1 E:1

Αλγόριθμος FP-Growth null Για το C A:7 B:3 B:5 C:1 C:3 Header table Item A B C D E Pointer C:3 E:1 E:1 E:1

Αλγόριθμος FP-Growth null Για το B A:7 B:3 B:5 C:1 C:3 Header table Item A B C D E Pointer C:3 E:1 E:1 E:1

Αλγόριθμος FP-Growth Για το Α null A:7 B:3 B:5 C:1 C:3 Header table Item A B C D E Pointer C:3 E:1 E:1 E:1

Αλγόριθμος FP-Growth Συνοπτικά Σε κάθε βήμα, για το suffix (επίθεμα) Χ Φάση 1 Κατασκευάζουμε το προθεματικό δέντρο για το Χ και υπολογίζουμε την υποστήριξη χρησιμοποιώντας τον πίνακα Φάση 2 Αν είναι συχνό, κατασκευάζουμε το υπο-συνθήκη δέντρο για το Χ, σε βήματα επανα-υπολογισμός υποστήριξης περικοπή κόμβων με μικρή υποστήριξη περικοπή φύλλων

Αλγόριθμος FP-Growth Φάση 1 κατασκευή προθεματικού δέντρου Όλα τα μονοπάτια που περιέχουν το E Προθεματικά Μονοπάτια paths) (prefix B:5 A:7 C:1 null B:3 C:3 Header table Item A B C D E Pointer C:3 E:1 E:1 E:1 Προθεματικά μονοπάτια του Ε: {E}, {D,E}, {C,D,E}, {A,D,Ε}, {A,C,D,E}, {C,E}, {B,C,E}

Αλγόριθμος FP-Growth Φάση 1 Όλα τα μονοπάτια που περιέχουν το E Προθεματικά Μονοπάτια paths) (prefix null A:7 B:3 C:1 C:3 E:1 E:1 E:1 Προθεματικά μονοπάτια του Ε: {E}, {D,E}, {C,D,E}, {A,D,Ε}, {A,C,D,E}, {C,E}, {B,C,E}

Έστω minsup = 2 Βρες την υποστήριξη του {E} Πως; Ακολούθησε τους συνδέσμους αθροίζοντας 1+1+1=3>2 Οπότε {Ε} συχνό Αλγόριθμος FP-Growth null A:7 B:3 C:1 C:3 E:1 E:1 E:1 {E} συχνό άρα προχωράμε για DE, CE, BE, AE

Αλγόριθμος FP-Growth {E} συχνό άρα προχωράμε για DE, CE, BE, AE Φάση 2 Μετατροπή των προθεματικών δέντρων σε FP-δέντρο υπό συνθήκες (conditional FP-tree) Δύο αλλαγές (1) Αλλαγή των μετρητών (2) Περικοπή null A:7 B:3 C:3 C:1 E:1 E:1 E:1

Αλγόριθμος FP-Growth Αλλαγή μετρητών Οι μετρητές σε κάποιους κόμβους περιλαμβάνουν δοσοληψίες που δεν έχουν το Ε Πχ στο null->b->c->e μετράμε και την {B, C} null A:7 B:3 C:1 C:3 E:1 E:1 E:1

Αλγόριθμος FP-Growth null A:7 B:3 C:1 C:3 E:1 E:1 E:1

Αλγόριθμος FP-Growth null A:7 B:3 C:1 C:1 E:1 E:1 E:1

Αλγόριθμος FP-Growth null A:7 B:1 C:1 C:1 E:1 E:1 E:1

Αλγόριθμος FP-Growth null A:7 B:1 C:1 C:1 E:1 E:1 E:1

Αλγόριθμος FP-Growth null A:7 B:1 C:1 C:1 E:1 E:1 E:1

Αλγόριθμος FP-Growth null A:2 B:1 C:1 C:1 E:1 E:1 E:1

Αλγόριθμος FP-Growth null A:2 B:1 C:1 C:1 E:1 E:1 E:1

Αλγόριθμος FP-Growth Περικοπή (truncate) Σβήσε τους κόμβους του Ε null A:2 B:1 C:1 C:1 E:1 E:1 E:1

Αλγόριθμος FP-Growth Περικοπή (truncate) Σβήσε τους κόμβους του Ε null A:2 B:1 C:1 C:1 E:1 E:1 E:1

Αλγόριθμος FP-Growth Περικοπή (truncate) Σβήσε τους κόμβους του Ε null A:2 B:1 C:1 C:1

Αλγόριθμος FP-Growth Πιθανή περαιτέρω περικοπή Κάποια στοιχεία μπορεί να έχουν υποστήριξη μικρότερη της ελάχιστης Πχ το Β -> περικοπή null A:2 B:1 Αυτό σημαίνει ότι το Β εμφανίζεται μαζί με το E λιγότερο από minsup φορές C:1 C:1

Αλγόριθμος FP-Growth null A:2 B:1 C:1 C:1

Αλγόριθμος FP-Growth null A:2 C:1 C:1

Αλγόριθμος FP-Growth Υπο-συνθήκη FP-δέντρο για το Ε Ο αλγόριθμος επαναλαμβάνεται για το {D, E}, {C, E}, {A, E} null A:2 C:1 C:1

Αλγόριθμος FP-Growth Φάση 1 Όλα τα μονοπάτια που περιέχουν το D (DE) Προθεματικά Μονοπάτια paths) (prefix null A:2 C:1 C:1

Αλγόριθμος FP-Growth Φάση 1 Όλα τα μονοπάτια που περιέχουν το D (DE) Προθεματικά Μονοπάτια paths) (prefix A:2 null C:1

Αλγόριθμος FP-Growth Βρες την υποστήριξη του {D, E} Πως; Ακολούθησε τους συνδέσμους αθροίζοντας 1+1=2 2 Οπότε {D, Ε} συχνό A:2 C:1 null

Αλγόριθμος FP-Growth Φάση 2 Κατασκεύασε το υπο-συνθήκη FP-δέντρο για το {D, E} 1. Αλλαγή υποστήριξης 2. Περικοπές κόμβων A:2 null C:1

Αλγόριθμος FP-Growth 1. Αλλαγή υποστήριξης null A:2 C:1

Αλγόριθμος FP-Growth 2. Περικοπές κόμβων null A:2 C:1

Αλγόριθμος FP-Growth 2. Περικοπές κόμβων null A:2 C:1

Αλγόριθμος FP-Growth 2. Περικοπές κόμβων null A:2 C:1 Μικρή υποστήριξη

Αλγόριθμος FP-Growth Τελικό υπο-συνθήκη FPδέντρο για το {D, E} null A:2 Υποστήριξη του Α είναι minsup -> {Α, D, E} συχνό Αφού μόνο έναν κόμβο, επιστροφή στο επόμενο υποπρόβλημα

Αλγόριθμος FP-Growth null A:2 C:1 Υπο-συνθήκη FP-δέντρο για το Ε Ο αλγόριθμος επαναλαμβάνεται για το {D, E}, {C, E}, {A, E} C:1

Αλγόριθμος FP-Growth Φάση 1 Όλα τα μονοπάτια που περιέχουν το C (CE) null Προθεματικά (prefix paths) Μονοπάτια A:2 C:1 C:1

Αλγόριθμος FP-Growth Φάση 1 Όλα τα μονοπάτια που περιέχουν το C (CE) null Προθεματικά Μονοπάτια paths) (prefix A:2 C:1 C:1

Αλγόριθμος FP-Growth Βρες την υποστήριξη του {C, E} Πως; Ακολούθησε τους συνδέσμους αθροίζοντας 1+1=2 2 Οπότε {C, Ε} συχνό null A:2 C:1 C:1

Αλγόριθμος FP-Growth Κατασκεύασε το υπο-συνθήκη FP-δέντρο για το {C, E} 1. Αλλαγή υποστήριξης 2. Περικοπές κόμβων null A:2 C:1 C:1

Αλγόριθμος FP-Growth 1. Αλλαγή υποστήριξης null A:1 C:1 C:1

Αλγόριθμος FP-Growth 2. Περικοπή Κόμβων null A:1 C:1 C:1

Αλγόριθμος FP-Growth 2. Περικοπή Κόμβων null A:1

Αλγόριθμος FP-Growth 2. Περικοπή Κόμβων null A:1

Αλγόριθμος FP-Growth 2. Περικοπή Κόμβων null Άρα, επιστροφή στο επόμενο υποπρόβλημα

Αλγόριθμος FP-Growth Υπο-συνθήκη FP-δέντρο για το Ε Ο αλγόριθμος επαναλαμβάνεται για το {D, E}, {C, E}, {A, E} null A:2 C:1 C:1

Αλγόριθμος FP-Growth Φάση 1 Όλα τα μονοπάτια που περιέχουν το Α (AE) null Προθεματικά Μονοπάτια paths) (prefix A:2 C:1 C:1

Αλγόριθμος FP-Growth Φάση 1 Όλα τα μονοπάτια που περιέχουν το Α (AE) null Προθεματικά Μονοπάτια paths) (prefix A:2

Αλγόριθμος FP-Growth Βρες την υποστήριξη του {Α, E} Οπότε {Α, Ε} συχνό null Δε χρειάζεται να φτιάξουμε υπο-συνθήκη FP-δέντρο για το {Α, Ε} A:2

Αλγόριθμος FP-Growth Άρα για το Ε Έχουμε τα εξής συχνά στοιχειοσύνολα {Ε} {D, E} {A, D, E} {C, E} {A, E} Συνεχίζουμε για το D

Αλγόριθμος FP-Growth null Για το D A:7 B:3 B:5 C:1 C:3 Header table Item A B C D E Pointer C:3 E:1 E:1 E:1

Φάση 1 Όλα τα προθεματικά μονοπάτια που περιέχουν το D Υποστήριξη 5>2 -> άρα συχνό Αλγόριθμος FP-Growth null A:7 B:3 Μετατροπή του προθεματικού δέντρου σε FP-δέντρο B:5 υπό συνθήκη C:1 C:3 C:3

Αλγόριθμος FP-Growth 1. Αλλαγή υποστήριξης null A:7 B:3 B:5 C:1 C:3 C:1

Αλγόριθμος FP-Growth 1. Αλλαγή υποστήριξης null A:7 B:3 B:2 C:1 C:3 C:1

Αλγόριθμος FP-Growth 1. Αλλαγή υποστήριξης null A:3 B:3 B:2 C:1 C:3 C:1

Αλγόριθμος FP-Growth 1. Αλλαγή υποστήριξης null A:3 B:3 B:2 C:1 C:1 C:1

Αλγόριθμος FP-Growth 1. Αλλαγή υποστήριξης null A:3 B:1 B:2 C:1 C:1 C:1

Αλγόριθμος FP-Growth 2. Περικοπή Κόμβων null A:3 B:1 B:2 C:1 C:1 C:1

Αλγόριθμος FP-Growth 2. Περικοπή Κόμβων null A:3 B:1 B:2 C:1 C:1 C:1

Αλγόριθμος FP-Growth Προθεματικά δέντρα και υποσυνθήκη δέντρα Για τα ΑD, ΒD και CD κοκ A:3 null B:1 B:2 C:1 C:1 C:1

Αλγόριθμος FP-Growth Παρατηρήσεις Παράδειγμα τεχνικής διαίρει-και-βασίλευε Σε κάθε αναδρομικό βήμα, λύνεται και ένα υπο-πρόβλημα: Κατασκευάζεται το προθεματικό δέντρο Υπολογίζεται η νέα υποστήριξη για τους κόμβους του Περικόβονται οι κόμβοι με μικρή υποστήριξη Επειδή τα υποπροβλήματα είναι ξένα μεταξύ τους, δεν δημιουργούνται τα ίδια συχνά στοιχειοσύνολα δυο φορές Ο υπολογισμός της υποστήριξης είναι αποδοτικός γίνεται ταυτόχρονα με τη δημιουργία των συχνών στοιχειοσυνόλων

Αλγόριθμος FP-Growth Παρατηρήσεις Η απόδοση του FP-Growth εξαρτάται από τον παράγοντα συμπίεσης του συνόλου των δεδομένων (compaction factor) Αν τα τελικά δέντρα είναι «θαμνώδη» (bushy) τότε δε δουλεύει καλά, αυξάνεται ο αριθμός των υποπροβλημάτων (οι αναδρομικές κλήσεις)

Αποτίμηση Κανόνων Συσχέτισης

Αποτίμηση Κανόνων Συσχέτισης Παράγουν πάρα πολλούς κανόνες που συχνά είναι μη ενδιαφέροντες ή πλεονάζοντες (περιττοί) Πλεονάζοντες αν {A, B, C} {D} και {A,B} {D} έχουν την ίδια υποστήριξη & εμπιστοσύνη Μέτρα ενδιαφέροντος (interestingness) χρησιμοποιούνται για να ελαττώσουν (prune) ή να ιεραρχήσουν (rank) τα παραγόμενα πρότυπα Χρησιμοποιούνται σε διάφορα στάδια της διαδικασίας ανάκτησης γνώσης

Μέτρα Ενδιαφέροντος Εφαρμογές της μέτρησης του ενδιαφέρον τος(σε διάφορα στάδια) Μέτρηση Ενδιαφέροντος Featur e Prod uct Prod uct Prod uct Prod uct Prod uct Prod uct Prod uct Prod uct Prod uct Prod uct Featur e Featur e Featur e Featur e Featur e Featur e Featur e Featur e Featur e Επιλογή Προ-επεξεργασία Εξόρυξη Μετά-επεξεργασία Δεδομένα Επιλεγμένα Δεδομένα Προ-επεξεργασμένα Δεδομένα Πρότυπα Γνώση

Αποτίμηση Κανόνων Συσχέτισης Γενικά: αντικειμενικά (objective) και υποκειμενικά (subjective) μέτρα ενδιαφέροντος Ας δούμε πρώτα μερικά αντικειμενικά κριτήρια: Στην αρχική διατύπωση του προβλήματος της εξόρυξης κανόνων συσχέτισης χρησιμοποιήθηκαν ως μέτρα μόνο η υποστήριξη και η εμπιστοσύνη Γενικά συνήθως βασίζονται σε μετρήσεις της συχνότητας εμφάνισης που δίνονται μέσω ενός πίνακα contingency (συνάφειας)

Υπολογισμός του Μέτρου Ενδιαφέροντος (αντικειμενικά μέτρα) Contingency table (πίνακας ενδεχομένων) Μέτρηση συχνότητας εμφάνισης Y Y X f 11 f 10 f 1+ X f 01 f 00 f o+ Μέτρηση Ενδιαφέροντος f +1 f +0 T f 11 : support of X and Y f 10 : support of X and Y f 01 : support of X and Y f 00 : support of X and Y f 11 πόσο συχνά εμφανίζεται το Χ και το Υ (support count) f +1 μετρητής υποστήριξης (support count) του Υ Χρησιμοποιείται για τον ορισμό διαφόρων μέτρων Έστω ένας κανόνας, X Y, η πληροφορία που χρειάζεται για τον υπολογισμό της εμπιστοσύνης και υποστήριξης του κανόνα μπορεί να υπολογιστεί από τον contingency table

Μέτρηση Ενδιαφέροντος Μειονεκτήματα της Εμπιστοσύνης Μεγάλες τιμές υποστήριξης μπορεί να «διώξουν» ενδιαφέροντες κανόνες. Τι γίνεται με την εμπιστοσύνη; Coffee Coffee Tea 15 5 20 Tea 75 5 80 90 10 100 Ποια είναι μια καλή τιμή για την εμπιστοσύνη; Ενδιαφερόμαστε για τη σχέση μεταξύ αυτών που πίνουν καφέ και αυτών που πίνουν τσάι Κανόνας Συσχέτισης: Tea Coffee Εμπιστοσύνη = P(Coffee Tea) = 0.75 Ενώ ο κανόνας έχει υψηλή εμπιστοσύνη, ο κανόνας είναι παραπλανητικός P(Coffee Tea) = 0.9375 P(Coffee) = 0.9 Αγνοεί την υποστήριξη του RHS

Μέτρηση Ενδιαφέροντος Εξαιτίας τέτοιων προβλημάτων της υποστήριξης/εμπιστοσύνης, Έχουν προταθεί πολλά αντικειμενικά μέτρα για τη μέτρηση του ενδιαφέροντος των κανόνων, που στηρίζονται κυρίως στην έννοια της στατιστικής ανεξαρτησίας Ας δούμε ένα παράδειγμα

Μέτρα βασισμένα στη Στατιστική Στατιστική Ανεξαρτησία Πληθυσμός 1000 σπουδαστών 600 σπουδαστές ξέρουν κολύμπι (S) 700 σπουδαστές ξέρουν ποδήλατο (B) 420 σπουδαστές ξέρουν κολύμπι και ποδήλατο (S, B) P(S B) = 420/1000 = 0.42 P(S) P(B) = 0.6 0.7 = 0.42 P(S B) = P(S) P(B) => Στατιστική ανεξαρτησία P(S B) > P(S) P(B) => Positively correlated (θετική συσχέτιση) P(S B) < P(S) P(B) => Negatively correlated (αρνητική συσχέτιση)

0 0 1 1 10 01 00 11 1 11 1 11 )] ( )[1 ( )] ( )[1 ( ) ( ) ( ), ( ) ( ) ( ), ( ) ( ) ( ), ( ) ( ) ( 1 f f f f f f f f Y P Y P X P X P Y P X P Y X P coefficient Y P X P Y X P PS f f f T Y P X P Y X P Interest f f Y P X Y P Lift Μέτρα που λαμβάνουν υπ όψιν τους τη στατιστική εξάρτηση Μέτρα βασισμένα στη Στατιστική Για τη συσχέτιση: Χ Υ

Μέτρα βασισμένα στη Στατιστική Παράδειγμα: Lift/Interest Coffee Coffee Tea 15 5 20 Tea 75 5 80 90 10 100 Κανόνας συσχέτιση: Tea Coffee Εμπιστοσύνη= P(Coffee Tea) = 0.75 αλλά P(Coffee) = 0.9 Interest P( X, Y ) P( X ) P( Y ) T f 1 f f 11 1 Interest = 0.15/(0.9*0.2)= 0.8333 (< 1, άρα αρνητικά συσχετιζόμενα)

Μέτρα βασισμένα στη Στατιστική Μειονεκτήματα του Lift & Interest Y Y X 10 0 10 X 0 90 90 10 90 100 Y Y X 90 0 90 X 0 10 10 90 10 100 0.1 P( X, Y ) T f 0.9 11 I 10 Interest I 1. 11 1 1 (0.1)(0.1) P( X ) P( Y ) f f (0.9)(0.9) Μεγαλύτερο αν και σπάνια εμφανίζονται μαζί c = 10/100 = 0.1 s = 1 c (confidence εμπιστοσύνη) s (support υποστήριξη) c = 90/100 = 0.9 s = 1

Μέτρα βασισμένα στη Στατιστική -Coefficient coefficient P( X, Y) P( X ) P( Y) P( X )[1 P( X )] P( Y)[1 P( Y)] f f 11 1 f f 00 f 1 f 01 0 f f 10 0 Κανονικοποιημένη τιμή μεταξύ του -1 και 1 Δυαδική εκδοχή του Pearson s coefficient 0: στατιστική ανεξαρτησία -1: τέλεια αρνητική συσχέτιση 1: τέλεια θετική συσχέτιση Y Y X f 11 f 10 f 1+ X f 01 f 00 f o+ f +1 f +0 T

Μέτρα βασισμένα στη Στατιστική -Coefficient Y Y X 60 10 70 X 10 20 30 70 30 100 Y Y X 20 10 30 X 10 60 70 30 70 100 0.6 0.7 0.7 0.7 0.3 0.7 0.3 0.5238 Coefficient ίδιος και για τους δύο πίνακες coefficient 0.2 0.3 0.3 0.7 0.3 0.7 0.3 0.5238 P( X, Y) P( X ) P( Y) P( X )[1 P( X )] P( Y)[1 P( Y)] f f 11 1 f f 00 1 f f 01 0 f f 10 0

Μέτρα βασισμένα στη Στατιστική -Coefficient coefficient P( X, Y) P( X ) P( Y) P( X )[1 P( X )] P( Y)[1 P( Y)] f f 11 1 f f 00 f 1 f 01 0 f f 10 0 Είναι κατάλληλο για μη συμμετρικές (η απουσία και η παρουσία μετρούν το ίδιο) Λόγω κανονικοποίησης, αγνοεί το μέγεθος του δείγματος

IS-measure Μέτρα βασισμένα στη Στατιστική ), ( ), ( ) ( ) ( ), ( ), ( 1 1 11 Y x s Y X I f f f Y s X s Y X s Y X IS είναι το συνημίτονο αν θεωρηθούν δυαδικές μεταβλητές γεωμετρικός μέσος της εμπιστοσύνης του Χ Υ και Υ Χ

Στη βιβλιογραφία έχουν προταθεί πολλά μέτρα ανάλογα με την εφαρμογή Με ποια κριτήρια θα επιλέξουμε ένα καλό μέτρο; Πως έναν Aprioristyle support based pruning επηρεάζει αυτά τα μέτρα; ΚΑΝΟΝΕΣ ΣΥΣΧΕΤΙΣΗΣ II 198

Αποτίμηση Κανόνων Συσχέτισης Σύγκριση Μέτρων 10 παραδείγματα contingency πινάκων: Ιεράρχηση των πινάκων με βάση τα διάφορα μέτρα (1 ο πιο ενδιαφέρον, 10 ο λιγότερο ενδιαφέρον): Example f 11 f 10 f 01 f 00 E1 8123 83 424 1370 E2 8330 2 622 1046 E3 9481 94 127 298 E4 3954 3080 5 2961 E5 2886 1363 1320 4431 E6 1500 2000 500 6000 E7 4000 2000 1000 3000 E8 4000 2000 2000 2000 E9 1720 7121 5 1154 E10 61 2483 4 7452

Αποτίμηση Κανόνων Συσχέτισης Ιδιότητες ενός Καλού Μέτρου 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)] παραμένουν αμετάβλητα

Ιδιότητες Μέτρων Αποτίμησης Αλλαγή Διάταξης Μεταβλητών (variable permutation) B B A p q A r s A A B p r B q s Ισχύει M(A, B) = M(B, A)? Γενικά συμμετρικά μέτρα για στοιχειοσύνολα και μη συμμετρικά για κανόνες Συμμετρικά (symmetric) μέτρα: support (υποστήριξη), lift, collective strength, cosine, Jaccard, κλπ Μη συμμετρικά (asymmetric) μέτρα: confidence (εμπιστοσύνη), conviction, Laplace, J-measure, κλπ

Ιδιότητες Μέτρων Αποτίμησης Κλιμάκωση Γραμμής/Στήλης (Row/Column Scaling) Παράδειγμα Βαθμός-Φύλο (Mosteller, 1968): κ 1 κ 2 κ 3 Male κ 4 Female High 2 3 5 Low 1 4 5 3 7 10 Male Female High 4 30 34 Low 2 40 42 6 70 76 Mosteller: Η συσχέτιση πρέπει να είναι ανεξάρτητη από το σχετικό αριθμό αγοριών-κοριτσιών στο δείγμα Invariant under the row/column scaling operation αν Μ(Τ) = Μ(Τ ) όπου Τ o πίνακας contingency με μετρητές συχνότητας [f 11, f 10 ; f 01 ; f 00 ] και Τ o πίνακας contingency με μετρητές συχνότητας [κ 1 κ 3 f 11, κ 2 κ 3 f 10 ; κ 1 κ 4 f 01 ; κ 2 κ 4 f 00 ] όπου κ 1, κ 2, κ 3, κ 4 θετικές σταθερές 2x 10x

Αντιστροφή (Inversion Operation) 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 A B C D (a) (b) 0 1 1 1 1 1 1 1 1 0 0 0 0 0 1 0 0 0 0 0 (c) E F Δοσοληψία 1 Δοσοληψία N..... Ιδιότητες Μέτρων Αποτίμησης Invariant under the inversion operation αν η τιμή της παραμένει η ίδια αν ανταλλάξουμε τις τιμές f 11 και f 00 και τις τιμές f 10 και f 01 Χρήσιμο για συμμετρικές μεταβλητές

Ιδιότητες Μέτρων Αποτίμησης Null Addition (προσθήκη μη σχετιζόμενων στοιχείων) B B A p q A r s B B A p q A r s + k Δεν επηρεάζονται από την αύξηση του f 00 όταν οι άλλες τιμές παραμένουν αμετάβλητες Invariant measures: support, cosine, Jaccard, κλπ Non-invariant measures: correlation, Gini, mutual information, odds ratio, κλπ

Αποτίμηση Κανόνων Συσχέτισης Παράδοξο του Simpson Buy HDTV Yes Buy Exercise Machine No Yes 99 81 180 No 54 66 120 153 147 300 Students Buy HDTV Yes Buy Exercise Machine No Yes 1 9 10 No 4 30 34 5 39 44 c({hdtv=yes} {EM=Yes})=1/10=10% c({hdtv=no} {EM=Yes})=4/34=11.8% c({hdtv=yes} {EM=Yes})=99/180=55% c({hdtv=no} {EM=Yes})=54/120=45% Working adults c({htvs=yes} {EM=Yes})=98/170=57.7% c({htvs=no} {EM=Yes})=50/86=58.1% Buy HDTV Yes Buy Exercise Machine No Yes 98 72 170 No 50 36 86 148 108 256

Αποτίμηση Κανόνων Συσχέτισης Παράδοξο του Simpson Buy HDTV Yes Buy Exercise Machine No Yes 99 a+p 81 180 b+q No 54 c+r 66 120 d+s 153 147 300 c({hdtv=yes} {EM=Yes})=99/180=55% c({hdtv=no} {EM=Yes})=54/120=45% a/b < c/d p/q < r/s δεν συνεπάγεται ότι (a+p)/(b+q) < (c+r)/(d+s)! Students Buy HDTV Yes No Working adults c({hdtv=yes} {EM=Yes})=1/10=10% c({hdtvs=no} {EM=Yes})=4/34=11.8% Buy HDTV Yes No Yes Buy Exercise Machine No 1 α 9 4 c 30 10 b 34 d 5 39 44 c({hdtv=yes} {EM=Yes})=98/170=57.7% c({hdtv=no} {EM=Yes})=50/86=58.1% Yes Buy Exercise Machine No 98 p 72 50 r 36 170 q 86 s 148 108 256 Είναι σημαντικό πως θα γίνει διαχωρισμός (stratification) των δεδομένων

Υποκειμενικά Μέτρα Ενδιαφέροντος Αντικειμενικά Μέτρα: Ιεραρχούν τα αποτελέσματα με βάση στατιστικά στοιχεία που υπολογίζονται από τα δεδομένα πχ., 21 μετρήσεις συσχέτισης (support, confidence, Laplace, Gini, mutual information, Jaccard, etc). Υποκειμενικά Μέτρα: Ιεράρχηση των προτύπων με βάση την ερμηνεία του χρήστη Ένα πρότυπο είναι υποκειμενικά ενδιαφέρον αν είναι σε αντίθεση με αυτό που αναμένει ο χρήστης (Silberschatz & Tuzhilin) Ένα πρότυπο είναι υποκειμενικά ενδιαφέρον αν μπορεί να χρησιμοποιηθεί (Silberschatz & Tuzhilin)

Υποκειμενικά Μέτρα Ενδιαφέροντος Interestingness (ενδιαφέρον) via Unexpectedness (μη αναμονή) + Pattern expected to be frequent - Pattern expected to be infrequent Pattern found to be frequent Pattern found to be infrequent + - - + Expected Patterns Unexpected Patterns Χρειάζεται να μοντελοποιήσουμε τι αναμένει ο χρήστης (domain knowledge) Χρειάζεται να συνδυάσουμε το τι αναμένεται από τους χρήστες με το τι δίνουν τα δεδομένα (δηλαδή τα πρότυπα που παίρνουμε - evidence)

Οπτικοποίηση: Απλός Γράφος

Οπτικοποίηση: Γράφος Κανόνων

Οπτικοποίηση: (SGI/MineSet 3.0)