Fast Algorithm for Mining Association Rules

Werbung
Fast Algorithm for Mining
Association Rules
Künstliche Intelligenz II
WS09/10
Oliver Müller
Leibniz Universität Hannover
Inhalt
Problemstellung
Formalisierung
Algorithmus Apriori
Algorithmus AprioriTid
Algorithmus AprioriHybrid
Ergebnisse
Zusammenfassung







2
Fast Algorithm for Mining Association Rules
Problemstellung
Verkaufs-Transaktionen aufzeichnen




3
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


4
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

5
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:



6
Reifen ^ Zubehör  Kfz-Dienstleistung
Zu 98% Sicherheit (Confidence)
Fast Algorithm for Mining Association Rules
Notation
Menge von Items ( -Itemset)

7
Fast Algorithm for Mining Association Rules
Notation

Transaktion

8
Menge von Items ( -Itemset)
ist eine Menge von Items mit
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





9
Lexikographische Sortierung
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:
10
und
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
enthalten, enthalten auch
11
Fast Algorithm for Mining Association Rules
die
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
12
Fast Algorithm for Mining Association Rules
Formale Definition des Problems

Generierung einer Liste aller Assoziations-Regeln mit
und
13
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
14
Fast Algorithm for Mining Association Rules
Andere Algorithmen







AIS
SETM
Knowledge Discovery
Klassifikations Regeln
Kausale Regeln
Function fitting
KID3
15
Fast Algorithm for Mining Association Rules
Ablauf
1.
16
Finden von Itemsets mit Support
Diese werden groß genannt, alle anderen klein
Fast Algorithm for Mining Association Rules
Ablauf
1.
2.
17
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:
1.
2.


18
Sei ein großes Itemset
Für jedes
erzeuge Regel
Fast Algorithm for Mining Association Rules
, wenn
Finden großer Itemsets

Mehrere Durchläufe von
19
Fast Algorithm for Mining Association Rules
Finden großer Itemsets


Mehrere Durchläufe von
1. Durchlauf:

20
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:



21
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

22
Fast Algorithm for Mining Association Rules
Idee

Intuition:

23
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
24
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
25
Fast Algorithm for Mining Association Rules
Algorithmus Apriori
1. Schritt: Zähle Support 1-Items

26
Fast Algorithm for Mining Association Rules
Algorithmus Apriori
1. Schritt: Zähle Support 1-Items
k-ter Schritt


27
Fast Algorithm for Mining Association Rules
Algorithmus Apriori
1. Schritt: Zähle Support 1-Items
k-ter Schritt:
Erzeuge neue Kandidaten



28
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

29
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

30
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

31
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
32
Fast Algorithm for Mining Association Rules
Algorithmus Apriori – Apriori-Gen

Besteht aus 2 Schritten


1. Schritt: Join (Kombination von zwei
2. Schritt: Prune
-Itemsets)
und sind in den ersten
Einträgen identisch
Entferne alle Kandidaten,
welche kleine Subsets
enthalten
33
Fast Algorithm for Mining Association Rules
Algorithmus Apriori – Apriori-Gen

Beispiel:

Join:

Prune:
, da
34
nicht in
Fast Algorithm for Mining Association Rules
Algorithmus Apriori - Subset
Benutzt Hash-Tree
Hash-Wert in i-ter Ebene
berechnet sich durch iten Item aus c
Laufzeit
O(max(k, size(t)))
Wichtig:
Items lexikographisch
sortiert.
35
Fast Algorithm for Mining Association Rules
Algorithmus Apriori - Problem
In jeder Iteration wird
die gesamte Datenbank
durchsucht!
36
Fast Algorithm for Mining Association Rules
Modifikation - Algorithmus AprioriTid

Durchsucht die Datenbank nur einmal
37
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

38
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
39
Fast Algorithm for Mining Association Rules
Algorithmus AprioriTid - Beispiel
Minimum support = 2
TID
40
Items
TID
Set-of-Itemsets
Itemset
Support
100
134
100
{ {1}, {3}, {4} }
{1}
2
200
235
200
{ {2}, {3}, {5} }
{2}
3
300
1235
300
{ {1}, {2}, {3}, {5} }
{3}
3
400
25
400
{ {2}, {5} }
{5}
3
Itemset
Support
TID
Set-of-Itemsets
Itemset
Support
Itemset
{1 2}
Support
1
TID
100
{ {1Set-of-Itemsets
3} }
Itemset
{1 3}
Support
2
{2
5}
{133}
12
200
{ {2 3
3},5}{2} 5}, {3 5} }
{2
5}
{233}
2
{1 5}
1
300
{2 5}
3
{2 3}
2
{ {2
{1 3
2},5}{1} 3}, {1 5},
{2 3}, {2 5}, {3 5} }
{3 5}
2
{2 5}
3
{3 5}
2
400
{ {2 5} }
Fast Algorithm for Mining Association Rules
Ergebnisse

Vergleich von Apriori und AprioriTid mit den Algorithmen


41
AIS (Kandidaten für große Itemsets on-the-fly erzeugen)
SETM (on-the-fly, SQL optimiert)
Fast Algorithm for Mining Association Rules
Ergebnisse

Vergleich von Apriori und AprioriTid mit den Algorithmen



42
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?


43
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:



44
|D|
N
...
Anzahl der Transaktionen
Anzahl Items (hier: N =1000)
Fast Algorithm for Mining Association Rules
Ergebnisse
SETM Zeiten für T>5 sind sehr viel höher
45
Fast Algorithm for Mining Association Rules
Ergebnisse
46
Fast Algorithm for Mining Association Rules
Ergebnisse
Apriori ist bei großen Problemen besser als AprioriTid
47
Fast Algorithm for Mining Association Rules
Vergleich Apriori – AprioriTid

AprioriTid benutzt

48
Passt
statt
.
in den Speicher, so ist AprioriTid schneller als Apriori.
Fast Algorithm for Mining Association Rules
Vergleich Apriori – AprioriTid

AprioriTid benutzt


49
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
50
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:
51
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
52
Fast Algorithm for Mining Association Rules
AprioriHybrid – Ergebnisse

AprioriHybrid ist meist noch besser als Apriori und
AprioriTid
53
Fast Algorithm for Mining Association Rules
Zusammenfassung

Assoziationsregeln sind ein wichtiges Werkzeug zur
Analyse von Datenbeständen
54
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
55
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
56
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:



57
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