Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Fast Algorithm for Mining Association Rules

Ähnliche Präsentationen


Präsentation zum Thema: "Fast Algorithm for Mining Association Rules"—  Präsentation transkript:

1 Fast Algorithm for Mining Association Rules
Oliver Müller Künstliche Intelligenz II WS09/ Leibniz Universität Hannover

2 Inhalt Problemstellung Formalisierung Algorithmus Apriori
Algorithmus AprioriTid Algorithmus AprioriHybrid Ergebnisse Zusammenfassung Fast Algorithm for Mining Association Rules

3 Problemstellung Verkaufs-Transaktionen aufzeichnen
Mittels Barcode-Technologie Großer Datenbestand Einzelner Datensatz bestehend aus Datum, gekaufte Artikel Fast Algorithm for Mining Association Rules

4 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

5 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

6 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

7 Notation Menge von Items ( -Itemset)
Fast Algorithm for Mining Association Rules

8 Notation Menge von Items ( -Itemset)
Transaktion ist eine Menge von Items mit Transaktion: Vorstellung wie ein Warenkorb Fast Algorithm for Mining Association Rules

9 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

10 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

11 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

12 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

13 Formale Definition des Problems
Generierung einer Liste aller Assoziations-Regeln mit und Fast Algorithm for Mining Association Rules

14 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

15 Andere Algorithmen AIS SETM Knowledge Discovery Klassifikations Regeln
Kausale Regeln Function fitting KID3 Fast Algorithm for Mining Association Rules

16 Ablauf Finden von Itemsets mit Support Diese werden groß genannt, alle anderen klein Wichtige Definition Fast Algorithm for Mining Association Rules

17 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

18 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

19 Finden großer Itemsets
Mehrere Durchläufe von Fast Algorithm for Mining Association Rules

20 Finden großer Itemsets
Mehrere Durchläufe von 1. Durchlauf: Zähle Support von einzelnen Items Fast Algorithm for Mining Association Rules

21 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

22 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

23 Idee Intuition: Jedes Subset eines großen Itemsets ist groß
Fast Algorithm for Mining Association Rules

24 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

25 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

26 Algorithmus Apriori 1. Schritt: Zähle Support 1-Items
Fast Algorithm for Mining Association Rules

27 Algorithmus Apriori 1. Schritt: Zähle Support 1-Items k-ter Schritt
Fast Algorithm for Mining Association Rules

28 Algorithmus Apriori 1. Schritt: Zähle Support 1-Items k-ter Schritt:
Erzeuge neue Kandidaten Fast Algorithm for Mining Association Rules

29 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

30 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

31 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

32 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

33 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

34 Algorithmus Apriori – Apriori-Gen
Beispiel: Join: Prune: , da nicht in Fast Algorithm for Mining Association Rules

35 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

36 Algorithmus Apriori - Problem
In jeder Iteration wird die gesamte Datenbank durchsucht! Fast Algorithm for Mining Association Rules

37 Modifikation - Algorithmus AprioriTid
Durchsucht die Datenbank nur einmal Fast Algorithm for Mining Association Rules

38 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

39 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

40 Algorithmus AprioriTid - Beispiel
Minimum support = 2 TID Items 100 1 3 4 200 2 3 5 300 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

41 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

42 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

43 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

44 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

45 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

46 Ergebnisse Fast Algorithm for Mining Association Rules

47 Ergebnisse Apriori ist bei großen Problemen besser als AprioriTid
Fast Algorithm for Mining Association Rules

48 Vergleich Apriori – AprioriTid
AprioriTid benutzt statt . Passt in den Speicher, so ist AprioriTid schneller als Apriori. Fast Algorithm for Mining Association Rules

49 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

50 AprioriHybrid Verwende Apriori in den ersten Iterationen
Wenn als klein genug angenommen wird, wechsle zu AprioriTid Fast Algorithm for Mining Association Rules

51 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

52 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

53 AprioriHybrid – Ergebnisse
AprioriHybrid ist meist noch besser als Apriori und AprioriTid Fast Algorithm for Mining Association Rules

54 Zusammenfassung Assoziationsregeln sind ein wichtiges Werkzeug zur Analyse von Datenbeständen Fast Algorithm for Mining Association Rules

55 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

56 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

57 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

58 Fast Algorithm for Mining Association Rules


Herunterladen ppt "Fast Algorithm for Mining Association Rules"

Ähnliche Präsentationen


Google-Anzeigen