Fast Algorithm for Mining Association Rules Oliver Müller Künstliche Intelligenz II WS09/10 Leibniz Universität Hannover
Inhalt Problemstellung Formalisierung Algorithmus Apriori Algorithmus AprioriTid Algorithmus AprioriHybrid Ergebnisse Zusammenfassung Fast Algorithm for Mining Association Rules
Problemstellung Verkaufs-Transaktionen aufzeichnen Mittels Barcode-Technologie Großer Datenbestand Einzelner Datensatz bestehend aus Datum, gekaufte Artikel Fast Algorithm for Mining Association Rules
Problemstellung Verkaufs-Transaktionen aufzeichnen Mittels Barcode-Technologie Großer Datenbestand Einzelner Datensatz bestehend aus Datum, gekaufte Artikel Interesse von Firmen meist für Marketing-Zwecke Kundenspezifische Vermarktungs-Strategien (Cross-Marketing, Attached Mailing, Katalog Design, etc.) Fast Algorithm for Mining Association Rules
Problemstellung Verkaufs-Transaktionen aufzeichnen Mittels Barcode-Technologie Großer Datenbestand Einzelner Datensatz bestehend aus Datum, gekaufte Artikel Interesse von Firmen meist für Marketing-Zwecke Kundenspezifische Vermarktungs-Strategien (Cross-Marketing, Attached Mailing, Katalog Design, etc.) Ziel: Mining von Assoziations-Regeln im Datenbestand Fast Algorithm for Mining Association Rules
Problemstellung Verkaufs-Transaktionen aufzeichnen Mittels Barcode-Technologie Großer Datenbestand Einzelner Datensatz bestehend aus Datum, gekaufte Artikel Interesse von Firmen meist für Marketing-Zwecke Kundenspezifische Vermarktungs-Strategien (Cross-Marketing, Attached Mailing, Katalog Design, etc.) Ziel: Mining von Assoziations-Regeln im Datenbestand Beispiel: Reifen ^ Zubehör Kfz-Dienstleistung Zu 98% Sicherheit (Confidence) Beispiel: 98% aller Kunden welche Reifen und Zubehör kaufen, bekommen auch Kfz-Dienstleistungen erledigt. Fast Algorithm for Mining Association Rules
Notation Menge von Items ( -Itemset) Fast Algorithm for Mining Association Rules
Notation Menge von Items ( -Itemset) Transaktion ist eine Menge von Items mit Transaktion: Vorstellung wie ein Warenkorb Fast Algorithm for Mining Association Rules
Notation Menge von Items ( -Itemset) Transaktion ist eine Menge von Items mit Menge von Transaktionen: TID = Unique Identifier für jede Transaktion Lexikographische Sortierung D enthält alle Transaktionen z.B. in Form einer Datenbank, Textdatei etc. Fast Algorithm for Mining Association Rules
Notation Menge von Items ( -Itemset) Transaktion ist eine Menge von Items mit Menge von Transaktionen: TID = Unique Identifier für jede Transaktion Lexikographische Sortierung Assoziations-Regel: wenn gilt: und Beispiel von vorhin: I bestehend aus (Reifen, Zubehör, Kfz-Dienstleistung), X aus (Reifen, Zubehör), Y aus (Kfz-Dienstleistung) Fast Algorithm for Mining Association Rules
Notation Menge von Items ( -Itemset) Transaktion ist eine Menge von Items mit Menge von Transaktionen: TID = Unique Identifier für jede Transaktion Lexikographische Sortierung Assoziations-Regel: wenn gilt: und Confidence : aller Transaktionen in die enthalten, enthalten auch Beispiel von vorhin: c war 98% Fast Algorithm for Mining Association Rules
Notation Menge von Items ( -Itemset) Transaktion ist eine Menge von Items mit Menge von Transaktionen: TID = Unique Identifier für jede Transaktion Lexikographische Sortierung Assoziations-Regel: wenn gilt: und Confidence : aller Transaktionen in die enthalten, enthalten auch Support : aller Transaktionen in enthalten Fast Algorithm for Mining Association Rules
Formale Definition des Problems Generierung einer Liste aller Assoziations-Regeln mit und Fast Algorithm for Mining Association Rules
Formale Definition des Problems Generierung einer Liste aller Assoziations-Regeln mit und Achtung: Probabilistische Eigenschaft der Assoziations-Regeln beachten: nicht unbedingt eingehalten nicht unbedingt eingehalten Fast Algorithm for Mining Association Rules
Andere Algorithmen AIS SETM Knowledge Discovery Klassifikations Regeln Kausale Regeln Function fitting KID3 Fast Algorithm for Mining Association Rules
Ablauf Finden von Itemsets mit Support Diese werden groß genannt, alle anderen klein Wichtige Definition Fast Algorithm for Mining Association Rules
Ablauf Finden von Itemsets mit Support Diese werden groß genannt, alle anderen klein Nutze große Itemsets zur Generierung der Regeln: Fast Algorithm for Mining Association Rules
Ablauf Finden von Itemsets mit Support Diese werden groß genannt, alle anderen klein Nutze große Itemsets zur Generierung der Regeln: Sei ein großes Itemset Für jedes erzeuge Regel , wenn L großes Itemset z.B. (Reifen, Zubehör, Kfz-Dienstleistung) a = (Reifen, Zubehör) Fast Algorithm for Mining Association Rules
Finden großer Itemsets Mehrere Durchläufe von Fast Algorithm for Mining Association Rules
Finden großer Itemsets Mehrere Durchläufe von 1. Durchlauf: Zähle Support von einzelnen Items Fast Algorithm for Mining Association Rules
Finden großer Itemsets Mehrere Durchläufe von 1. Durchlauf: Zähle Support von einzelnen Items k-ter Durchlauf: Erzeuge neue Kandidaten aus großen Itemsets von vorherigen Durchläufen Verwerfe Kandidaten mit zu geringem Support Fast Algorithm for Mining Association Rules
Finden großer Itemsets Mehrere Durchläufe von 1. Durchlauf: Zähle Support von einzelnen Items k-ter Durchlauf: Erzeuge neue Kandidaten aus großen Itemsets von vorherigen Durchläufen Verwerfe Kandidaten mit zu geringem Support Terminiere, wenn keine großen Itemsets mehr gefunden werden Fast Algorithm for Mining Association Rules
Idee Intuition: Jedes Subset eines großen Itemsets ist groß Fast Algorithm for Mining Association Rules
Idee Intuition: Jedes Subset eines großen Itemsets ist groß Finde Kandidaten für große k-Itemsets durch Kombination großer (k-1)-Itemsets k-Itemset = Itemset mit k Items Fast Algorithm for Mining Association Rules
Idee Intuition: Jedes Subset eines großen Itemsets ist groß Finde Kandidaten für große k-Itemsets durch Kombination großer (k-1)-Itemsets Entferne alle Kandidaten, welche kleine Subsets enthalten Fast Algorithm for Mining Association Rules
Algorithmus Apriori 1. Schritt: Zähle Support 1-Items Fast Algorithm for Mining Association Rules
Algorithmus Apriori 1. Schritt: Zähle Support 1-Items k-ter Schritt Fast Algorithm for Mining Association Rules
Algorithmus Apriori 1. Schritt: Zähle Support 1-Items k-ter Schritt: Erzeuge neue Kandidaten Fast Algorithm for Mining Association Rules
Algorithmus Apriori 1. Schritt: Zähle Support 1-Items k-ter Schritt: Erzeuge neue Kandidaten Durchsuche alle Transaktionen Alle Kandidaten aus t Zähle den Support hoch Fast Algorithm for Mining Association Rules
Algorithmus Apriori 1. Schritt: Zähle Support 1-Items k-ter Schritt: Erzeuge neue Kandidaten Durchsuche alle Transaktionen Alle Kandidaten aus t Zähle den Support hoch Übernehme nur die mit genügend Support Fast Algorithm for Mining Association Rules
Algorithmus Apriori 1. Schritt: Zähle Support 1-Items k-ter Schritt: Erzeuge neue Kandidaten Durchsuche alle Transaktionen Alle Kandidaten aus t Zähle den Support hoch Übernehme nur die mit genügend Support Fast Algorithm for Mining Association Rules
Algorithmus Apriori – Apriori-Gen Besteht aus 2 Schritten 1. Schritt: Join (Kombination von zwei -Itemsets) und sind in den ersten Einträgen identisch Fast Algorithm for Mining Association Rules
Algorithmus Apriori – Apriori-Gen Besteht aus 2 Schritten 1. Schritt: Join (Kombination von zwei -Itemsets) 2. Schritt: Prune und sind in den ersten Einträgen identisch Kleine Subsets = Subsets, die nicht groß sind, sprich nicht in L_(k-1) sind Entferne alle Kandidaten, welche kleine Subsets enthalten Fast Algorithm for Mining Association Rules
Algorithmus Apriori – Apriori-Gen Beispiel: Join: Prune: , da nicht in Fast Algorithm for Mining Association Rules
Algorithmus Apriori - Subset Benutzt Hash-Tree Hash-Wert in i-ter Ebene berechnet sich durch i-ten Item aus c Laufzeit O(max(k, size(t))) Wichtig: Items lexikographisch sortiert. Fast Algorithm for Mining Association Rules
Algorithmus Apriori - Problem In jeder Iteration wird die gesamte Datenbank durchsucht! Fast Algorithm for Mining Association Rules
Modifikation - Algorithmus AprioriTid Durchsucht die Datenbank nur einmal Fast Algorithm for Mining Association Rules
Modifikation - Algorithmus AprioriTid Durchsucht die Datenbank nur einmal Kandidaten werden auch hier mit apriori-gen erzeugt. Zur Berechnung des Supports wird dann jedoch die Menge statt benutzt Fast Algorithm for Mining Association Rules
Modifikation - Algorithmus AprioriTid Durchsucht die Datenbank nur einmal Kandidaten werden auch hier mit apriori-gen erzeugt. Zur Berechnung des Supports wird dann jedoch die Menge statt benutzt Einträge von haben die Form <TID, > Idee: Speichere zu jeder Transaktion eine Liste aller potentiell großen -Itemsets entspricht dabei der Datenbank Fast Algorithm for Mining Association Rules
Algorithmus AprioriTid - Beispiel Minimum support = 2 TID Items 100 1 3 4 200 2 3 5 300 1 2 3 5 400 2 5 TID Set-of-Itemsets 100 { {1}, {3}, {4} } 200 { {2}, {3}, {5} } 300 { {1}, {2}, {3}, {5} } 400 { {2}, {5} } Itemset Support {1} 2 {2} 3 {3} {5} Itemset Support {1 2} 1 {1 3} 2 {1 5} {2 3} {2 5} 3 {3 5} TID Set-of-Itemsets 100 { {1 3} } 200 { {2 3}, {2 5}, {3 5} } 300 { {1 2}, {1 3}, {1 5}, {2 3}, {2 5}, {3 5} } 400 { {2 5} } Itemset Support {1 3} 2 {2 3} {2 5} 3 {3 5} Itemset Support {2 3 5} 1 TID Set-of-Itemsets 200 { {2 3 5} } 300 Itemset Support {2 3 5} 2 Fast Algorithm for Mining Association Rules
Ergebnisse Vergleich von Apriori und AprioriTid mit den Algorithmen AIS (Kandidaten für große Itemsets on-the-fly erzeugen) SETM (on-the-fly, SQL optimiert) AIS und SETM haben gleichen Aufbau wie Apriori/AprioriTid, erzeugen große Itemsets aber anders. Fast Algorithm for Mining Association Rules
Ergebnisse Vergleich von Apriori und AprioriTid mit den Algorithmen AIS (Kandidaten für große Itemsets on-the-fly erzeugen) SETM (on-the-fly, SQL optimiert) AIS und SETM erzeugen sehr viel mehr Kandidaten Fast Algorithm for Mining Association Rules
Ergebnisse Vergleich von Apriori und AprioriTid mit den Algorithmen AIS (Kandidaten für große Itemsets on-the-fly erzeugen) SETM (on-the-fly, SQL optimiert) AIS und SETM erzeugen sehr viel mehr Kandidaten Wie vergleichen? Mit synthetisch generierten Daten (welches Modell?) (Reale Daten) Fast Algorithm for Mining Association Rules
Synthetische Daten Gutes Modell für reales Käufer-Verhalten: Tendenz zum Kauf mehrerer Artikel gleichzeitig. Transaktionen haben eine typische Größe (Parameter |T| ) Große Itemsets haben eine typische Größe (Parameter |I|) Große Itemsets haben oft gemeinsame Items Nicht alle Artikel eines großen Itemsets werden immer zusammen gekauft Weitere Parameter: |D| Anzahl der Transaktionen N Anzahl Items (hier: N =1000) ... Fast Algorithm for Mining Association Rules
Ergebnisse SETM Zeiten für T>5 sind sehr viel höher T = typische Transaktionsgröße I = typische Itemset-Größe D = #Transaktionen SETM Zeiten für T>5 sind sehr viel höher Fast Algorithm for Mining Association Rules
Ergebnisse Fast Algorithm for Mining Association Rules
Ergebnisse Apriori ist bei großen Problemen besser als AprioriTid Fast Algorithm for Mining Association Rules
Vergleich Apriori – AprioriTid AprioriTid benutzt statt . Passt in den Speicher, so ist AprioriTid schneller als Apriori. Fast Algorithm for Mining Association Rules
Vergleich Apriori – AprioriTid AprioriTid benutzt statt . Passt in den Speicher, so ist AprioriTid schneller als Apriori. Wenn zu groß wird, passt es nicht in den Speicher und die Ladezeiten erhöhen sich sehr (Schreiben/Lesen auf Festplatte). Fast Algorithm for Mining Association Rules
AprioriHybrid Verwende Apriori in den ersten Iterationen Wenn als klein genug angenommen wird, wechsle zu AprioriTid Fast Algorithm for Mining Association Rules
AprioriHybrid Verwende Apriori in den ersten Iterationen Wenn als klein genug angenommen wird, wechsle zu AprioriTid Verwende dazu eine Heuristik: Fast Algorithm for Mining Association Rules
AprioriHybrid Verwende Apriori in den ersten Iterationen Wenn als klein genug angenommen wird, wechsle zu AprioriTid Verwende dazu eine Heuristik: Umschaltung verbraucht Zeit Ist meistens immer noch besser Fast Algorithm for Mining Association Rules
AprioriHybrid – Ergebnisse AprioriHybrid ist meist noch besser als Apriori und AprioriTid Fast Algorithm for Mining Association Rules
Zusammenfassung Assoziationsregeln sind ein wichtiges Werkzeug zur Analyse von Datenbeständen Fast Algorithm for Mining Association Rules
Zusammenfassung Assoziationsregeln sind ein wichtiges Werkzeug zur Analyse von Datenbeständen Es wurden Algorithmen vorgestellt, welche schneller und Ressourcensparender arbeiten als bisherige Ansätze Fast Algorithm for Mining Association Rules
Zusammenfassung Assoziationsregeln sind ein wichtiges Werkzeug zur Analyse von Datenbeständen Es wurden Algorithmen vorgestellt, welche schneller und Ressourcensparender arbeiten als bisherige Ansätze AprioriHybrid schlägt AIS und SETM dabei um Größenordnungen bei großen Datenbeständen Fast Algorithm for Mining Association Rules
Zusammenfassung Assoziationsregeln sind ein wichtiges Werkzeug zur Analyse von Datenbeständen Es wurden Algorithmen vorgestellt, welche schneller und Ressourcensparender arbeiten als bisherige Ansätze AprioriHybrid schlägt AIS und SETM dabei um Größenordnungen bei großen Datenbeständen Aber: Was ist mit hierarchisch sortierten Daten? Beispiel: is-a-Beziehung (Spülmaschine ist ein Küchengerät …) Regeln nicht immer sinnvoll (Rückgang #Piraten Zunahme globale Erwärmung) Fast Algorithm for Mining Association Rules
Fast Algorithm for Mining Association Rules