Thema 1.1.1 Der...

43
FernUniversität in Hagen Seminar 01912 „Data Mining“ im Sommersemester 2008 „Häufige Muster und Assoziationsregeln“ Thema 1.1.1 Der Apriori-Algorithmus Referentin: Olga Riener

Transcript of Thema 1.1.1 Der...

Page 1: Thema 1.1.1 Der Apriori-Algorithmusdna.fernuni-hagen.de/.../praesentationen/1-1-1_Apriori-Algorithmus.pdf · Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 4 Was ist Data

FernUniversität in Hagen

Seminar 01912 „Data Mining“ im Sommersemester 2008

„Häufige Muster und Assoziationsregeln“

Thema 1.1.1 Der Apriori-Algorithmus

Referentin: Olga Riener

Page 2: Thema 1.1.1 Der Apriori-Algorithmusdna.fernuni-hagen.de/.../praesentationen/1-1-1_Apriori-Algorithmus.pdf · Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 4 Was ist Data

Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 2

1. Einführung .....................................................................................................................................3

2. Formale Notationen .......................................................................................................................8

3. Def: Assoziationsproblem............................................................................................................14

4. Basisalgorithmen zur Entdeckung von Assoziationsregeln..........................................................16

5. Apriori-Algorithmus ....................................................................................................................18

6. Apriori-Erweiterungen.................................................................................................................29

7. Sonstige Ansätze zur Effizienzsteigerung von Apriori ................................................................34

8. Fazit .............................................................................................................................................41

Page 3: Thema 1.1.1 Der Apriori-Algorithmusdna.fernuni-hagen.de/.../praesentationen/1-1-1_Apriori-Algorithmus.pdf · Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 4 Was ist Data

Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 3

1. Einführung

Page 4: Thema 1.1.1 Der Apriori-Algorithmusdna.fernuni-hagen.de/.../praesentationen/1-1-1_Apriori-Algorithmus.pdf · Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 4 Was ist Data

Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 4

Was ist Data Mining? Erfolgsrezept in vielen Bereichen = Information + richtige Auswertung dieser Information.

Datenbanken nehmen große Datenbestände auf.

(Lagerbestände, Auftragsdaten, Verkaufs- und Umsatzdaten, Personendaten, usw.) Der KDD-Einsatz („Knowledge Discovery in Databases“) entdeckt und interpretiert das

nützliche Wissen aus diesen Daten. Data Mining ist das Herzstück des KDD-Prozesses.

„Unter Data Mining versteht man das systematische (in der Regel automatisierte oder halbautomatische) Entdecken und Extrahieren von Strukturen und Beziehungen in großen Datenmengen.“

Page 5: Thema 1.1.1 Der Apriori-Algorithmusdna.fernuni-hagen.de/.../praesentationen/1-1-1_Apriori-Algorithmus.pdf · Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 4 Was ist Data

Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 5

Anwendungsbeispiel des Data Mining Die Warenkorbanalyse ist einer der geläufigsten Anwendungsbeispiele des Data Mining. Hier geht es um die Frage: „Welche Produkte werden häufig zusammen gekauft?“ Erkenntnisse: “Kauft ein Kunde Milch und Butter, besteht eine große Wahrscheinlichkeit, dass er sich auch noch für Brot entscheidet.”

Hm-m-m, welche Produkte werden bei uns häufig zusammen gekauft?

Kunde 1: Brot, Milch, Butter

Kunde 2: Brot, Zucker, Milch

Kunde 3: Brot, Milch, Butter, Mehl

Kunde 4: Zucker, Sahne

Page 6: Thema 1.1.1 Der Apriori-Algorithmusdna.fernuni-hagen.de/.../praesentationen/1-1-1_Apriori-Algorithmus.pdf · Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 4 Was ist Data

Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 6

Aufgabenbereiche und Methoden des Data Mining

Aufgabe Aufgabenstellung Wesentliche Methoden

Segmentierung

Bildung von Klassen aufgrund von Ähnlichkeiten der Objekte.

- Clusteranalyse - Neuronale Netze

Klassifikation

Identifikation der Klassenzugehörigkeit von Objekten auf der Basis gegebener Merkmale.

- Diskriminanzanalyse - Neuronale Netze - Entscheidungsbäume

Vorhersage

Prognose der Werte einer abhängigen kontinuierlichen Variable auf Basis einer funktionalen Beziehung.

- Regressionsanalyse - Neuronale Netze - Entscheidungsbäume

Assoziation

Aufdecken von strukturellen Zusammenhängen in Datenbasen mit Hilfe von Regeln.

- Assoziationsanalyse

Page 7: Thema 1.1.1 Der Apriori-Algorithmusdna.fernuni-hagen.de/.../praesentationen/1-1-1_Apriori-Algorithmus.pdf · Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 4 Was ist Data

Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 7

Einsatzgebiete des Data Mining

Marketing Kundensegmentierung Responseanalyse von Werbemitteln Warenkorbanalyse Storno-/Reklamations-/Kündigungsanalyse

Finanzdienstleistungen Kreditrisikobewertung Prävention des Kreditkartenmissbrauchs Bildung von Versicherungsrisikoklassen

Beschaffung/Produktion Materialbedarfsplanung Qualitätssicherung und Kontrolle

Controlling Ergebnisabweichungsanalyse Entdecken von Controlling-Mustern

Page 8: Thema 1.1.1 Der Apriori-Algorithmusdna.fernuni-hagen.de/.../praesentationen/1-1-1_Apriori-Algorithmus.pdf · Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 4 Was ist Data

Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 8

2. Formale Notationen

Page 9: Thema 1.1.1 Der Apriori-Algorithmusdna.fernuni-hagen.de/.../praesentationen/1-1-1_Apriori-Algorithmus.pdf · Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 4 Was ist Data

Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 9

Gegeben: Definition Beispiel F: Menge von eindeutigen Transaktionsbezeichnern ID-Nummern der Kaufvorgänge O: Menge von Objektbezeichnern (items) Alle zum Verkauf stehenden Waren T = (TID, I): Transaktion, wo TID F und I O Kaufvorgang eines Kunden I = {i1 , i2 , ... , ik}: Elemente (items) einer Transaktion Gekaufte Waren bei einem Einkauf D = T : Menge aller Transaktionen Verkaufsdatenbank Assoziationsregel eine Aussage der Form: „Wenn ein Ereignis X eingetreten ist, dann besteht eine hohe

Wahrscheinlichkeit, dass auch Ereignis Y eintritt“. Für X,Y O, X Y= ist X Y eine Assoziationsregel.

Eine Transaktion T=(TID,I) erfüllt eine Transaktionsregel R: X Y gdw. (X Y) .

Notation: T R. Arten der Assoziationsregeln: - nützliche Assoziationsregeln - syntaktisch triviale Assoziationsregeln - semantisch triviale Assoziationsregeln - unerklärliche Assoziationsregeln

Page 10: Thema 1.1.1 Der Apriori-Algorithmusdna.fernuni-hagen.de/.../praesentationen/1-1-1_Apriori-Algorithmus.pdf · Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 4 Was ist Data

Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 10

Unterstützungsgrad (Support) Seien F, O und D wie oben definiert. Für ein itemset X O ist der Unterstützungsgrad (support) von X in D wie folgt definiert:

|{ TD| T=(TID,I), X I }| supportD(X) =

|D| Somit misst supportD(X) den (prozentualen) Anteil der Transaktionen mit X in der Menge aller Transaktionen D an. Der Unterstützungsgrad (support) einer Assoziationsregel R: (A B) in D ist wie folgt definiert:

|{T D | T=(TID,I), (A ) I }| supportD(A = = support D(A

|D| Offensichtlich misst supportD(A die statistische Signifikanz der Regel R und wird als der (prozentuale) Anteil der Transaktionen mit (A B) in der Menge aller Transaktionen D berechnet.

Page 11: Thema 1.1.1 Der Apriori-Algorithmusdna.fernuni-hagen.de/.../praesentationen/1-1-1_Apriori-Algorithmus.pdf · Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 4 Was ist Data

Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 11

Vertrauensgrad (confidence) Die Konfidenz misst die Sicherheit der entdeckten Assoziationsregel und präsentiert somit die Stärke bzw. den Vertrauensgrad für dieser Regel. Die Konfidenz ist der (prozentuale) Anteil der Transaktionen mit (X Y) in der Menge der Transaktionen D, deren Itemsets X enthalten :

|{T D | T=(TID,I), (X Y) I }| supportD(X Y) confidenceD(X Y) = =

|{T D | T=(TID,I), X I }| supportD(X) Attributwertmenge (itemset) Eine Menge aus einem oder mehreren items einer Transaktion wird als Muster oder als Attributwertmenge (itemset) bezeichnet Z.B. Muster ({Milch, Brot}) in einer Kauftransaktion.

Page 12: Thema 1.1.1 Der Apriori-Algorithmusdna.fernuni-hagen.de/.../praesentationen/1-1-1_Apriori-Algorithmus.pdf · Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 4 Was ist Data

Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 12

k-Attributwertmenge (k-itemset) Eine aus k items bestehende Attributwertmenge Häufiges Muster Ein häufiges Muster ist eine Attributwertmenge M O mit einem Unterstützungsgrad größer als eine vorgegebene minimale Unterstützung min_sup. D.h. der Anteil der Transaktionen in D mit dieser Attributwertmenge muss mindestens min_sup sein:

supportD(X) ≥ min_sup

Page 13: Thema 1.1.1 Der Apriori-Algorithmusdna.fernuni-hagen.de/.../praesentationen/1-1-1_Apriori-Algorithmus.pdf · Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 4 Was ist Data

Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 13

Beispiel: Formale Notationen Assoziationsregel „Kauft ein Kunde Brot und Butter, so kauft er auch Milch“ Regel: {Brot, Butter } {Milch} Unterstützunggrad (support) support({Brot}) = 5/6 = 83.3%

support({Milch},{Butter}) = 3/6 = 50% support({Brot},{Milch}) = 4/6 = 66,6 %

Einkaufstransaktionen TID Attribute 100 Brot, Milch, Butter 200 Brot, Milch, Käse 300 Brot, Marmelade 400 Milch, Butter, Brot 500 Brot, Milch, Butter, Käse 600 Marmelade

Vertrauensgrad (confidence)

support({Brot}{Milch}) 2/3 confidence(Brot Milch) = = = 80%

support({Brot}) 5/6

Häufige Muster (min_sup=45%) Die Attributwertmengen ({Brot}), ({Milch},{Butter}), ({Brot},{Milch}) sind häufige Muster. Die Attributwertmengen ({Butter, Käse}),(Marmelade}) sind keine häufigen Muster.

Page 14: Thema 1.1.1 Der Apriori-Algorithmusdna.fernuni-hagen.de/.../praesentationen/1-1-1_Apriori-Algorithmus.pdf · Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 4 Was ist Data

Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 14

3. Def: Assoziationsproblem

Page 15: Thema 1.1.1 Der Apriori-Algorithmusdna.fernuni-hagen.de/.../praesentationen/1-1-1_Apriori-Algorithmus.pdf · Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 4 Was ist Data

Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 15

Die Entdeckung interessanter Zusammenhänge in größeren Datenbeständen erfolgt durch die Suche nach allen Assoziationsregeln. Gegeben: Menge D der Transaktionen ein minimaler Unterstützungsgrad (support) min_sup; ein minimaler Vertrauensgrad (confidence) min_conf.

Gesucht:

alle Assoziationsregel X Y, so dass support(X Y) min_sup confidence(X Y) min_conf

Page 16: Thema 1.1.1 Der Apriori-Algorithmusdna.fernuni-hagen.de/.../praesentationen/1-1-1_Apriori-Algorithmus.pdf · Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 4 Was ist Data

Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 16

4. Basisalgorithmen zur Entdeckung von

Assoziationsregeln

Page 17: Thema 1.1.1 Der Apriori-Algorithmusdna.fernuni-hagen.de/.../praesentationen/1-1-1_Apriori-Algorithmus.pdf · Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 4 Was ist Data

Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 17

AIS-Algorithmus (Agrawal, Imielinski and Swami, 1993) Der erste Algorithmus zur Generierung von einfachen Assoziationsregeln. Die potentiellen häufigen Attributwertmengen werden beim Scannen der Datenbank „on the

fly" generiert und gezählt (sehr rechenintensiv).

SETM-Algorithmus (Houtsma und Swami, 1993) Motivation: SQL-Nutzung für die Suche nach Assoziationsregeln. Die potentiellen häufigen Attributwertmengen (analog dem AIS-Algorithmus) werden

basierend auf Transformationen der Datenbank sozusagen „on the fly" generiert. Die Aufzählung der Kandidaten ist ein separater Schritt.

Nachteile von AIS und SETM

Das überflüssige Generieren und Aufzählen der Kandidaten, die sich später als nicht häufig erweisen.

Page 18: Thema 1.1.1 Der Apriori-Algorithmusdna.fernuni-hagen.de/.../praesentationen/1-1-1_Apriori-Algorithmus.pdf · Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 4 Was ist Data

Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 18

5. Apriori-Algorithmus

Page 19: Thema 1.1.1 Der Apriori-Algorithmusdna.fernuni-hagen.de/.../praesentationen/1-1-1_Apriori-Algorithmus.pdf · Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 4 Was ist Data

Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 19

Apriori-Vorgehen (Rakesh Agrawal und Ramakrishnan Srikant, 1994) Erste Phase: Die Suche nach häufigen Mustern (Attributwertmengen) mit dem eigentlichen Apriori-

Algorithmus.

Zweite Phase: In der zweiten Phase werden aus diesen häufigen Mustern Regeln gebildet.

Page 20: Thema 1.1.1 Der Apriori-Algorithmusdna.fernuni-hagen.de/.../praesentationen/1-1-1_Apriori-Algorithmus.pdf · Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 4 Was ist Data

Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 20

Apriori- Grundidee Bei der Ermittlung der häufigen Muster (Attributwertmengen) wird „a priori“ gesetztes Wissen (vorausgesetztes Wissen) verwendet:

Jede nichtleere Teilmenge einer häufigen Attributwertmenge muss auch eine häufige Attributwertmenge sein.

Dieses „a priori“-Wissen wird als nicht-monotone Eigenschaft des Unterstützungsgrads aufgefasst:

X,Y : ( X Y ) support(X) support(Y) Diese Eigenschaft hilft im Apriori-Algorithmus den Suchraum zu verkleinern und alle Obermengen der aussichtslosen k-elementigen Attributwertmengen für weitere Iteration zu ignorieren.

Page 21: Thema 1.1.1 Der Apriori-Algorithmusdna.fernuni-hagen.de/.../praesentationen/1-1-1_Apriori-Algorithmus.pdf · Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 4 Was ist Data

Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 21

Konventionen

Ck (k 1) - die Menge aller k-elementigen potentiell häufigen Attributwertmengen. Lk (k 1) - die Menge aller k-elementigen häufigen Attributwertmengen.

Page 22: Thema 1.1.1 Der Apriori-Algorithmusdna.fernuni-hagen.de/.../praesentationen/1-1-1_Apriori-Algorithmus.pdf · Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 4 Was ist Data

Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 22

Apriori-Algorithmus: Aufbau Initialisiere die Menge der häufigen 1-elementigen Attributwertmengen

1. Join-Phase, die Ck–Menge wird erzeugt, indem die (k-1)-Attributwertmenge Lk-1 mit sich

selbst vereinigt wird.

2. Pruning-Phase, aus Ck–Menge werden alle k-elementigen Attributwertmengen entfernt, die eine Teilmenge enthalten, welche nicht häufig ist. (Apriori-Eigenschaft)

3. Die übrig gebliebenen Kandidaten aus Ck werden an Hand der Datenbasis überprüft, ob

diese wiederum häufig sind. Die Kandidaten, die diesen Test bestehen, werden in die Menge Lk aufgenommen.

Wiederhole 1-3 so oft, bis keine weitere häufige Attributwertmenge gefunden werden kann.

Page 23: Thema 1.1.1 Der Apriori-Algorithmusdna.fernuni-hagen.de/.../praesentationen/1-1-1_Apriori-Algorithmus.pdf · Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 4 Was ist Data

Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 23

Der Apriori-Algorithmus: Pseudo-Code ( 1) L1 = {häufige 1-Attributenwertmenge}; ( 2) for ( k=2 ; Lk-1 ≠ { } ; k++ ) do begin ( 3) Ck= apriori-gen(Lk-1 ); // Berechnung neuer Kandidaten ( 4) for all Transaktionen t D do begin ( 5) Ct = subset(Ck,t) ; // Berechnung aller in t enthaltene Kandidaten ( 6) for all Kandidaten c Ct do ( 7) c.count++; // ( 8) end ( 9) Lk = {c Ck | c.count >= minsup} (10) end (11) return: k Lk

Page 24: Thema 1.1.1 Der Apriori-Algorithmusdna.fernuni-hagen.de/.../praesentationen/1-1-1_Apriori-Algorithmus.pdf · Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 4 Was ist Data

Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 24

Prozedur Apriori-gen: Kandidat-Generierung Berechnet k-elementigen potentiell häufigen Attributwertmengen procedure apriori-gen(Lk-1: (k-1)-Attributenwertmenge)

//Join-Schritt ( 1) insert into Ck ( 2) select p.item1 , p.item2 , …p.itemk-1 , q.itemk-1 ( 3) from Lk-1 p , Lk-1 q ( 4) where p.item1=q.item1 ,….,.p.item k-2=q. item k-2 , p.item k-1<q. item k-1

// Prune-Schritt ( 5) for all itemsets c Ck do ( 6) for all (k-1)–subset s of c do ( 7) if ( s Lk-1) then ( 8) delete c from Ck end procedure

Page 25: Thema 1.1.1 Der Apriori-Algorithmusdna.fernuni-hagen.de/.../praesentationen/1-1-1_Apriori-Algorithmus.pdf · Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 4 Was ist Data

Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 25

Subroutine subset

Testet ob die übrig gebliebenen Kandidaten aus Ck auch den vorgegebenen Unterstützungsgrad min_sup besitzen.

Erfordert einen kompletten DB-Durchlauf. Effiziente Implementierung ist sehr wichtig. Hierfür wird ein Hashverfahren angewendet und die k-elementigen Kandidatmengen Ck in

einem Hash-Tree gespeichert.

Page 26: Thema 1.1.1 Der Apriori-Algorithmusdna.fernuni-hagen.de/.../praesentationen/1-1-1_Apriori-Algorithmus.pdf · Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 4 Was ist Data

Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 26

Der Apriori-Algorithmus: Beispiel Geforderte minimale Unterstützungsgrad für eine häufige Attributwertmenge ist min_sup=50%

Transaktionen 1. Iteration TID Gekaufte Artikel C1 – Menge 100 {a, b, c} Itemset Support 200 {a, b, d} {a} 5/6 = 83,3 % L1 – Menge 300 {a, e} {b} 4/6 = 66,6 % Itemset Support 400 {a, b, c} {c} 3/6 = 50 % {a} 5/6 = 83,3 % 500 {a, b, c, d} {d} 2/6 = 33,3 % {b} 4/6 = 66,6 % 600 {e} {e} 2/6 = 33,3 % {c} 3/6 = 50 %

2. Iteration 3. Iteration C2 – Menge L2 – Menge Itemset Support Itemset Support {a, b} 4/6 = 66,6 % {a, b} 4/6 = 66,6 % C3 – Menge L3 – Menge {a, c} 3/6 = 50 % {a, c} 3/6 = 50 % Itemset Support Itemset Support {b, c} 3/6 = 50 % {b, c} 3/6 = 50 % {a, b, c} 3/6 = 50 % {a, b, c} 3/6 = 50 %

4. Iteration

C4 – Menge L4 – Menge Itemset Support Itemset Support {} {}

Page 27: Thema 1.1.1 Der Apriori-Algorithmusdna.fernuni-hagen.de/.../praesentationen/1-1-1_Apriori-Algorithmus.pdf · Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 4 Was ist Data

Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 27

Erkennung der Assoziationsregeln

Gegebenen (II Phase des Apriori-Verfahrens): sämtliche häufige Muster (X Y) eines Datenbestandes, wo support(X Y) min_sup

Gesucht: die Regeln (X Y) mit confidence(X Y) min_conf

Vorgehen:

Für jede häufige Attributwertmenge l werden nicht leere Teilmengen von l gebildet Für jede nicht leere Teilmenge s von l wird die Regel „s (l-s)“ generiert, falls

support(l) ≥ min_conf support(s)

Page 28: Thema 1.1.1 Der Apriori-Algorithmusdna.fernuni-hagen.de/.../praesentationen/1-1-1_Apriori-Algorithmus.pdf · Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 4 Was ist Data

Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 28

Erkennung der Assoziationsregeln: Beispiel (Fortführung des Apriori- Beispiels) Als Ergebnis des Gesamtverfahrens werden nur diejenigen Assoziationsregeln ausgegeben, welche mindestens den vorgegebenen Vertrauensgrad min_conf=75 % besitzen.

Regeln mit Support

Erfüllende Transaktionen

Unterstützungsgrad (support)

Vertrauensgrad (confidence)

{a} → {b} 100, 200, 400, 500 66 % 80 % {b} → {a} 100, 200, 400, 500 66 % 100 % {b} → {c} 100, 400, 500 50 % 75 % {c} → {b} 100, 400, 500 50 % 100 % {a} → {c} 100, 400, 500 50 % 60 % {c} → {a} 100, 400, 500 50 % 100 %

{a, c} → {b} 100, 400, 500 50 % 100 % {b, a} → {c} 100, 400, 500 50 % 75 % {c,b} → {a} 100, 400, 500 50 % 100 % {b} → {a, c} 100, 400, 500 50 % 75 % {c} → {b, a} 100, 400, 500 50 % 100 % {a} → {b, c} 100, 400, 500 50 % 60 %

Page 29: Thema 1.1.1 Der Apriori-Algorithmusdna.fernuni-hagen.de/.../praesentationen/1-1-1_Apriori-Algorithmus.pdf · Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 4 Was ist Data

Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 29

6. Apriori-Erweiterungen

Page 30: Thema 1.1.1 Der Apriori-Algorithmusdna.fernuni-hagen.de/.../praesentationen/1-1-1_Apriori-Algorithmus.pdf · Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 4 Was ist Data

Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 30

Laufzeitverhalten des Apriori: gut bei kleinen und mittleren Datenmengen schlecht bei sehr großen Datenmengen

Abhilfe durch die Apriori-Modifikationen: AprioriTID AprioriHybrid

Page 31: Thema 1.1.1 Der Apriori-Algorithmusdna.fernuni-hagen.de/.../praesentationen/1-1-1_Apriori-Algorithmus.pdf · Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 4 Was ist Data

Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 31

AprioriTID Die Datenbank D wird nach dem ersten Durchlauf nicht mehr für die Berechnung der

Unterstützung benutzt. Die Kandidaten werden als Hilfsmenge C’k kodiert. Jeder Kandidat ist als Eintrag der Form <TID, {Xk}> kodiert, wo Xk eine potentiell häufige k-

Attributwertmenge in Transaktion TID ist. Bei k=1 wird die gesamte Datenbank als C’1 aufgefasst. Jede weitere Iteration k+1 nutzt dann nicht die Datenbank, sondern die Hilfsmenge C’k Der Vorteil: die Anzahl der Datenbankzugriffe wird gesenkt. Der Nachteil: bei der ersten Iterationen wird viel Speicherplatz benötigt.

Page 32: Thema 1.1.1 Der Apriori-Algorithmusdna.fernuni-hagen.de/.../praesentationen/1-1-1_Apriori-Algorithmus.pdf · Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 4 Was ist Data

Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 32

AprioriTID-Algorithmus: Beispiel (min_sup=50%) Datenbank C’1 L1 TID Attributen TID Hilfsmenge der Itemsets Itemset Support 100 a, c, d 100 {{a},{c},{d}} {a} 2/4 = 50% 200 b, c, e 200 {{b},{c},{e}} {b} 3/4 = 75% 300 a, b, c, e 300 {{a},{b},{c},{e}} {c} 3/4 = 75% 400 b, e 400 {{b},{e}} {e} 3/4 = 75%

C2 Itemset C’2 {a b} TID Hilfsmenge der Itemsets L2 {a c} 100 {{a c}} Itemset Support {a e} 200 {{b c},{b e}, {c e}} {a c} 2/4 = 50% {b c} {b c} 2/4 = 50% {b e}

300 {{a b},{a c},{a e},{b c}, {b e},{c e}} {b e} 3/4 = 75%

{c e} 400 {{b e}} {c e} 2/4 = 50%

C3 C’3 Itemset TID Hilfsmenge der Itemsets L3 {b c e} 200 {{ b c e }} Itemset Support 300 {{ b c e }} { b c e } 2/4 = 50%

Page 33: Thema 1.1.1 Der Apriori-Algorithmusdna.fernuni-hagen.de/.../praesentationen/1-1-1_Apriori-Algorithmus.pdf · Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 4 Was ist Data

Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 33

AprioriHybrid

kombiniert die besten Eigenschaften von Apriori und AprioriTID in einem Verfahren. Apriori-Algorithmus wird in früheren Iterationen verwendet. Wechsel zum AprioriTID-Algorithmus in späteren Iterationen. Wechsel zum AprioriTID-Algorithmus wenn die Hilfsmenge C’k für die kodierten Kandidaten

in den operativen Speicher passt. Nachteil beim Wechsel: Verbrauch zusätzlicher Ressourcen

Page 34: Thema 1.1.1 Der Apriori-Algorithmusdna.fernuni-hagen.de/.../praesentationen/1-1-1_Apriori-Algorithmus.pdf · Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 4 Was ist Data

Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 34

7. Sonstige Ansätze zur Effizienzsteigerung von Apriori

Page 35: Thema 1.1.1 Der Apriori-Algorithmusdna.fernuni-hagen.de/.../praesentationen/1-1-1_Apriori-Algorithmus.pdf · Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 4 Was ist Data

Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 35

Hauptansätze für die Effizienzsteigerung des Apriori-Verfahrens: Reduktion der Anzahl der Datenbankzugriffe/Datenbankscans Reduktion der Anzahl der Kandidaten Beschleunigung der Berechnung des Unterstützungsgrads für die Kandidaten

Algorithmen für die Effizienzsteigerung des Apriori-Verfahrens: Hashbasierte Techniken (DHP) Reduzierung der Transaktionen Partitionierung Sampling Dynamische Aufzählung der Attributwertmenge (DIC)

Page 36: Thema 1.1.1 Der Apriori-Algorithmusdna.fernuni-hagen.de/.../praesentationen/1-1-1_Apriori-Algorithmus.pdf · Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 4 Was ist Data

Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 36

Hashbasierte Techniken (DHP - „direkt hashing and pruning“) Autoren: J. Park, M. Chen and P. Yu, 1995 Reduzierung der potentiell häufigen k-Attributwertmenge Ck für k>1. Verfahren:

- Jede k-Attributwertmenge X Ck für k>1 kommt zusätzlich in den Hash-Behälter HBX; - Zähler (HBX) < min_sup X kann nicht häufig sein und wird aus Ck entfernt.

Page 37: Thema 1.1.1 Der Apriori-Algorithmusdna.fernuni-hagen.de/.../praesentationen/1-1-1_Apriori-Algorithmus.pdf · Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 4 Was ist Data

Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 37

Reduzierung der Transaktionen

Reduzierung der Anzahl der Transaktionen, die in den künftigen Iterationen gescannt werden. Verfahren:

- Eine Transaktion T’ ohne häufigen k-Attributwertmengen kann auch keine häufigen k+1-Attributwertmengen beinhalten und wird besonders gekennzeichnet. - Bei den nachfolgenden DB-Durchläufe für j-Attributwertmengen bei j>k werden alle besonders gekennzeichneten Transaktion ignoriert.

Page 38: Thema 1.1.1 Der Apriori-Algorithmusdna.fernuni-hagen.de/.../praesentationen/1-1-1_Apriori-Algorithmus.pdf · Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 4 Was ist Data

Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 38

Partitionierung

Autoren: A. Savasere, E. Omiecinski and S. Navathe, 1995. Jede häufige Attributwertmenge in D soll mindestens in einer der Partitionen von D als häufig

vorkommen. Benötigt nur 2 DB-Durchläufe. Verfahren (2 Phasen) :

- 1. Phase: verteilt die Transaktionen von D in n disjunkte Partitionen und sucht nach lokalen häufigen Attributwertmengen in jeder Partition. Bei der Bestimmung der lokalen häufigen Attributwertmengen wird für jede Partition X die folgende angepasste Grösse vom minimal geforderten Unterstützungsgrad min_sup verwendet: min_sup(Partition X) = min_sup * (|X| / |D|) - 2. Phase: berechnet die tatsächliche Unterstützung aller lokalen häufigen Attributwertmengen in D und leitet daraus die Menge der globalen häufigen Attributwertmengen.

Page 39: Thema 1.1.1 Der Apriori-Algorithmusdna.fernuni-hagen.de/.../praesentationen/1-1-1_Apriori-Algorithmus.pdf · Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 4 Was ist Data

Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 39

Sampling

Autor: H. Toivonen, 1996 Erhöhung der Effizienz auf Kosten der Genauigkeit. Verfahren:

- Bildung einer Teilmenge S der gegebenen Daten D durch die Stichproben. - Recherchen auf S und Ermittlung aller häufigen Attributwertmengen LS mit einem geringeren Unterstützungsgrad als der ursprünglich geforderte minimale Unterstützungsgrad min_sup. - DB-Durchlauf zur Berechnung der tatsächlichen Häufigkeit jeder Attributwertmenge aus LS.

Page 40: Thema 1.1.1 Der Apriori-Algorithmusdna.fernuni-hagen.de/.../praesentationen/1-1-1_Apriori-Algorithmus.pdf · Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 4 Was ist Data

Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 40

Dynamische Aufzählung der Attributwertmenge (DIC)

Autoren: S. Brin, R. Motwani, J. Ullman und S. Tsur, 1997 DIC= „dynamic itemset counting“ Die Berechnung des Unterstützungsgrads in der Kandidatengenerierungsphase wird gestoppt,

sobald eine Attributwertmenge eine Unterstützung größer als den vorgegebenen Unterstützungsgrad min_sup besitzt.

Page 41: Thema 1.1.1 Der Apriori-Algorithmusdna.fernuni-hagen.de/.../praesentationen/1-1-1_Apriori-Algorithmus.pdf · Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 4 Was ist Data

Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 41

8. Fazit

Page 42: Thema 1.1.1 Der Apriori-Algorithmusdna.fernuni-hagen.de/.../praesentationen/1-1-1_Apriori-Algorithmus.pdf · Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 4 Was ist Data

Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 42

Die Assoziationsregeln stellen eine wichtige Analysemöglichkeit für Datenbestände dar. Wir haben diverse Ansätze zur Entdeckung der Assoziationsregeln kenngelernt. Der Apriori-Algorithmus ist eine gut anwendbare und verständliche Methode zur Entdeckung

von Assoziationsregeln, die in Vergleich zur früheren Ansätzen (AIS, SETM) mit hoher Performanz arbeitet.

Auch der Apriori ist noch nicht optimal. Hierfür existieren diverse Erweiterungen des Apriori–

Algorithmus wie AprioriTID und AprioriHybrid, sowie weitere Ansätze zur Reduzierung der Anzahl der Datenbankzugriffe, Reduzierung der Kandidatengenerierung, usw.

Page 43: Thema 1.1.1 Der Apriori-Algorithmusdna.fernuni-hagen.de/.../praesentationen/1-1-1_Apriori-Algorithmus.pdf · Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 4 Was ist Data

Olga Riener. Thema 1.1.1. Der Apriori-Algorithmus Seite 43

Diskussion