4. Assoziationsregeln Itemmenge, Transaktion und Datenbasis

Werbung
4. Generieren von Assoziationsregeln
Grundbegriffe
4. Generieren von Assoziationsregeln
4. Assoziationsregeln
Support
• Assoziationsregeln beschreiben gewisse Zusammenhänge und Regelmäßigkeiten zwischen verschiedenen Dingen, z.B. den Artikeln
eines Warenhauses.
• Die Zusammenhänge sind allgemeiner Art und nicht notwendigerweise kausal bedingt.
• Man unterstellt aber, daß implizite strukturelle Abhängigkeiten vorliegen. Diese möchte man erkennen.
• Typischer Anwendungsbereich: Verkaufsdatenanalyse
Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 03/04
4. Generieren von Assoziationsregeln
Grundbegriffe
141
Grundbegriffe
Definition 4.2. Es sei X ⊆ I eine Itemmenge. Der Support von X ist
der Anteil aller Transaktionen aus D, die X enthalten:
support(X) :=
|{t ∈ D | X ⊆ t}|
|D|
Beispiel 4.1. Bei der Verkaufsdatenanalyse eines Supermarktes sind
Items die Artikel aus dem Sortiment.
Die Transaktionen entsprechen den Einkäufen von Kunden.
Die Datenbasis besteht aus den Einkäufen der Kunden eines bestimmten Zeitraums.
Der Support der Itemmenge {M ilch} ist dann der Anteil der Einkäufe,
bei denen u.a. Milch gekauft wurde.
Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 03/04
4. Generieren von Assoziationsregeln
143
Grundbegriffe
Itemmenge, Transaktion und Datenbasis
Assoziationsregel
Definition 4.1. Die Dinge, deren Beziehungen zueinander analysiert
werden sollen, werden als Items bezeichnet. Es sei I = {i1, . . . , in}
eine endliche Menge von Items.
Definition 4.3. Gegeben seien zwei disjunkte Itemmengen X, Y , also
X, Y ⊆ I und X ∩ Y = ∅.
Eine Teilmenge X ⊆ I heißt Itemmenge. Eine k-Itemmenge ist eine
Itemmenge mit k Elementen.
Eine Transaktion t ⊆ I ist eine Itemmenge.
Eine Assoziationsregel hat die Form X → Y .
Eine Transaktion erfüllt die Regel X → Y gdw. X ∪ Y ⊆ t gilt, d.h. t
enthält alle Items der Assoziationsregel.
Der Support von X → Y ist der Support der Itemmenge X ∪ Y
Die Datenbasis D = {d1, . . . , dm} ist eine Menge von Transaktionen.
support(X → Y ) := support(X ∪ Y )
Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 03/04
142
Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 03/04
144
4. Generieren von Assoziationsregeln
Grundbegriffe
Konfidenz
=
• Support und Konfidenz sind Parameter mit denen die Relevanz einer
Regel beurteilt wird.
|{t ∈ D|X ∪ Y ⊆ t}|
|{t ∈ D|X ⊆ t}
• Beide Maßzahlen sollten möglichst groß sein.
support(X → Y )
support(X)
• Finde alle Assoziationsregeln, die in der betrachteten Datenbasis
Bemerkung 4.1. Die Konfidenz ist eine bedingte Häufigkeit bzw. bedingte Wahrscheinlichkeit.
Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 03/04
4. Generieren von Assoziationsregeln
145
Grundbegriffe
– einen Support ≥ minsupp und
– eine Konfidenz ≥ minconf haben.
Die Werte minsupp und minconf sind dabei benutzerdefiniert.
Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 03/04
4. Generieren von Assoziationsregeln
147
Apriori-Algorithmus
Das Problem wird in zwei Teilprobleme zerlegt:
Beispiel 4.2.
Transaktion
1
2
3
4
5
6
Apriori-Algorithmus
Suche nach Assoziationsregeln
Definition 4.4. Gegeben sei die Assoziationsregel X → Y . Die Konfidenz von X → Y conf idence(X → Y ) ist definiert durch
conf idence(X → Y ) :=
4. Generieren von Assoziationsregeln
Items
Brot, Kaffee, Milch, Kuchen
Kaffee, Milch, Kuchen
Brot, Butter, Kaffee, Milch
Milch, Kuchen
Brot, Kuchen
Brot
• Finde alle Itemmengen, deren Support ≥ minsupp ist. Diese Itemmengen heißen häufige Itemmengen (frequent itemsets).
• Finde in jeder häufigen Itemmenge I alle Assoziationsregeln
I0 → I \ I0
mit I 0 ⊂ I und mit Konfidenz ≥ minconf .
support({Kaffee, Milch}) = 0.5 = 50%
Die wesentliche Schwierigkeit besteht in der Lösung des ersten Teilproblems.
support({Kaffee, Kuchen, Milch}) = 0.33 = 33%
support({Milch, Kaffee} → {Kuchen}) = 0.33 = 33%
Enthält die Menge I insgesamt n Items, so sind prinzipiell 2n Itemmengen auf ihren Support hin zu untersuchen.
conf idence({Milch, Kaffee} → {Kuchen}) = 0.67 = 67%
Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 03/04
146
Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 03/04
148
4. Generieren von Assoziationsregeln
Apriori-Algorithmus
Apriori-Algorithmus
Algorithmus 4.1. [Apriori-Algorithmus]
Apriori-Algorithmus
Der sogenannte Apriori-Algorithmus nutzt folgendes bei der Suche nach
häufigen Itemmengen aus:
Für zwei Itemmengen I1, I2 mit I1 ⊆ I2 gilt
support(I2) ≤ support(I1)
Somit folgt:
• Alle Teilmengen einer häufigen Itemmenge sind ebenfalls häufige
Itemmengen.
• Alle Obermengen einer nicht häufigen Itemmenge sind ebenfalls
nicht häufig.
Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 03/04
4. Generieren von Assoziationsregeln
4. Generieren von Assoziationsregeln
149
Apriori-Algorithmus
L1 := { häufige 1-Itemmengen }
k := 2
while Lk−1 6= ∅ do
Ck := AprioriGen(Lk−1)
for all Transaktionen t ∈ D do
Ct := {c ∈ Ck |c ⊆ t}
for all Kandidaten c ∈ Ct do
c.count := c.count + 1
end
end
Lk := {c ∈ Ck |c.count ≥ |D| · minsupp}
k := k + 1
end
return ∪k Lk
Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 03/04
4. Generieren von Assoziationsregeln
151
Apriori-Algorithmus
Grober Ablauf des Apriori-Algorithmus:
Algorithmus 4.2. [AprioriGen]
• Der Apriori-Algorithmus bestimmt zunächst die einelementigen häufigen Itemmengen.
Ck := ∅
for all p, q ∈ Lk−1 mit p 6= q do
if |p ∩ q| = k − 2 and p = {e1, . . . , ek−2 , ep} and q = {e1, . . . , ek−2 , eq } then
Ck := Ck ∪ {e1, . . . , ek−2 , ep, eq }
end
for all c ∈ Ck do
for all (k − 1)-Teilmengen s von c do
if s ∈
/ Lk−1 then
Ck := Ck \ {c}
end
end
return Ck
• In jedem weiteren Durchlauf werden die Obermengen mit k + 1 Elementen von häufigen k-Itemmengen darauf untersucht, ob sie ebenfalls häufig sind.
• Die Obermengen der häufigen k-Itemmengen werden mit dem Algorithmus AprioriGen ermittelt.
• Werden keine häufigen k + 1-Itemmengen mehr gefunden, bricht der
Algorithmus ab.
☞ Voraussetzung: Itemmengen sind lexikographisch geordnet.
Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 03/04
150
Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 03/04
152
4. Generieren von Assoziationsregeln
Apriori-Algorithmus
Beispiel 4.3. minsupp = 40%
Transaktion
1
2
3
4
4. Generieren von Assoziationsregeln
Datenstrukturen f ¨ur die Teilmengenoperation
Unterstützung der Teilmengenoperation
Items
Itemm.
ACD
{A}
−→ {B}
BCE
ABCE
{C}
{D}
BE
{E}
C1
Support
50%
75%
75%
25%
75%
Itemm.
{A}
{B}
{C}
{E}
L1
Support
50%
75%
75%
75%
• Im Apriori- und im AprioriGen-Algorithmus werden sehr häufig Teilmengen überprüft.
• Um diese Tests effizient durchführen zu können, werden die Kandidatenmengen in einem Hash-Baum verwaltet.
• Struktur eines Hash-Baums:
– Innerer Knoten: Hashtabelle bezüglich Hashfunktion h; Buckets
der Hashtabelle verweisen auf die Sohnknoten.
– Blattknoten: enthält Liste von Itemmengen
Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 03/04
153
4. Generieren von Assoziationsregeln
Itemm.
{A,B}
{A,C}
{A,E}
{B,C}
{B,E}
{C,E}
C2
Support
Itemm.
{A,B}
{A,C}
−→
{A,E}
{B,C}
{B,E}
{C,E}
C2
Support
25%
50%
25%
50%
75%
50%
Support −→
Itemm.
{B,C,E}
Itemm.
{A,C}
{B,C}
{B,E}
{C,E}
L2
Support
50%
50%
75%
50%
Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 03/04
Datenstrukturen f ¨ur die Teilmengenoperation
– Innerer Knoten auf Ebene d: Anwendung der Hashfunktion h auf
id
– Das Ergebnis von h legt den Zweig fest, der weiter verfolgt wird.
– Blatt: Suche in der Liste der Itemmengen
• Einfügen einer Itemmenge X = {i1, . . . , ik }:
L3
Support
50%
4. Generieren von Assoziationsregeln
155
• Suchen einer Itemmenge X = {i1, . . . , ik }:
C3
C3
Itemm.
{B,C,E}
Apriori-Algorithmus
Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 03/04
Itemm.
{B,C,E}
Support
50%
154
– Zunächst erfolgt eine Suche für X bis zu einem Blatt, in das die
Itemmenge eingefügt werden soll.
– Ist in dem Blatt Platz für eine weitere Itemmenge vorhanden, dann
wird X dort eingefügt.
– Kann das Blatt keine Itemmenge mehr aufnehmen, dann wird es
zu einem inneren Knoten und die Einträge werden gemäß h auf
neue Blätter verteilt.
Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 03/04
156
4. Generieren von Assoziationsregeln
Datenstrukturen f ¨ur die Teilmengenoperation
Kapazität der Blätter = 3
{3,6,7}
{3,4,15}
0 1 2
0 1 2
0 1 2
{3,5,7}
{7,9,12}
{1,4,11}
{7,8,9}
{2,3,8}
{3,5,11}
{1,6,11}
{1,7,9}
{1,8,11}
{5,6,7}
{3,7,11}
{3,4,11}
{3,4,8}
Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 03/04
4. Generieren von Assoziationsregeln
Datenstrukturen f ¨ur die Teilmengenoperation
t = {1, 3, 7, 9, 12}
h(K) = K mod 3
0 1 2
0 1 2
4. Generieren von Assoziationsregeln
0 1 2
0 1 2
{2,5,6}
{3,6,7}
{2,5,7}
{5,8,11}
{2,4,6}
{2,4,7}
{2,7,9}
{5,7,10}
Datenstrukturen f ¨ur die Teilmengenoperation
0 1 2
0 1 2
{3,5,7}
{7,9,12}
{1,4,11}
{7,8,9}
{2,3,8}
{3,5,11}
{1,6,11}
{1,7,9}
{1,8,11}
{5,6,7}
0 1 2
{2,5,6}
{2,5,7}
{5,8,11}
{3,4,15}
157
0 1 2
h(K) = K mod 3
0 1 2
{3,7,11}
{2,4,6}
{2,4,7}
{3,4,11}
{3,4,8}
{2,7,9}
{5,7,10}
Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 03/04
4. Generieren von Assoziationsregeln
159
Ermittlung der Assoziationsregeln
Suchen aller Itemmengen X, die von einer Transaktion t = {t1, . . . , tm}
erfüllt werden:
Bestimmung der Assoziationsregeln
• Wurzel: Für jedes ti ∈ t wird h(ti) bestimmt und in den resultierenden Söhnen wird weitergesucht.
Nach der Bestimmung der häufigen Itemmengen müssen noch die Assoziationsregeln mit einer Konfidenz ≥ minconf bestimmt werden. Diese werden aus den häufigen Itemmengen generiert.
• Innerer Knoten: Hat man den Knoten durch h(ti) erreicht, dann wird
h(tj ) für jedes tj mit j > i bestimmt.
Gegeben seien Itemmengen X, Y mit Y ⊂ X. Dann gilt:
Auf die so resultierenden Söhne wird das Verfahren in gleicher Weise
fortgesetzt, bis ein Blatt erreicht wird.
• Blatt: Prüfung, welche der in dem Blatt enthaltenen Itemmengen die
Transaktion t erfüllen.
conf idence((X \ Y ) → Y ) ≥ minconf
=⇒ conf idence((X \ Y 0) → Y 0) ≥ minconf für alle Y 0 ⊆ Y
Bei der Regelgenerierung nutzt man wiederum die Umkehrung aus.
Man beginnt mit einer möglichst kleinen Menge Y 0 und schließt alle
Obermengen von Y 0 aus, falls gilt:
conf idence((X \ Y 0) → Y 0) < minconf
Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 03/04
158
Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 03/04
160
4. Generieren von Assoziationsregeln
Ermittlung der Assoziationsregeln
4. Generieren von Assoziationsregeln
Ermittlung der Assoziationsregeln
• Man erzeugt aus einer häufigen Itemmenge X zunächst alle Assoziationsregeln mit einelementiger Konklusion (rechter Seite).
Wir setzen: minsupp = 0.4, minconf = 0.7
• Alle Regeln mit Konfidenz ≥ minconf werden ausgegeben.
C2 Tafel ✎.
• Sei Hm die Menge der Konklusionen häufiger Itemmengen mit m
Elementen. Wir setzen Hm+1 := AprioriGen(Hm).
L2 = {{B, C}, {B, D}, {B, J}, {B, L}, {C, J}, {C, L}}
• Für alle Konklusionen hm+1 ∈ Hm+1 überprüft man nun, ob
L1 = {{A}, {B}, {C}, {D}, {E}, {J}, {L}}
C3 vor Teilmengencheck:
{{B, C, D}, {B, C, J}, {B, C, L}, {B, D, J}, {B, D, L}, {B, J, L}, {C, J, L}}
C3 nach Teilmengencheck: {{B, C, J}, {B, C, L}}
conf idence((X \ hm+1) → hm+1) ≥ minconf
L3 = {{B, C, J}, {B, C, L}}
gilt. Falls ja, dann wird die Regel ausgegeben, ansonsten wird hm+1
aus Hm+1 entfernt.
Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 03/04
161
4. Generieren von Assoziationsregeln
Ermittlung der Assoziationsregeln
Beispiel 4.4. [Warenkorbanalyse]
Artikel
Seife
Shampoo
Haarspülung
Duschgel
Zahnpasta
Zahnbürste
Haarfärbung
Haargel
Deodorant
Parfüm
Kosmetikartikel
t1
x
x
t2
t3
t4
x
x
x
x
x
x
x
x
x
x
x
x
x
t5
x
t6
x
x
x
x
x
t7
x
x
Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 03/04
x
x
t8
x
x
x
x
x
x
t9
x
x
x
x
t10
x
x
x
x
x
x
x
Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 03/04
4. Generieren von Assoziationsregeln
163
Ermittlung der Assoziationsregeln
Für die Generierung der Assoziationsregeln beginnen wir mit L2. Wir
erhalten: B → C, C → B, D → B, L → B, L → C
Warenkorbanalyse
ID
A
B
C
D
E
F
G
H
J
K
L
C4 = L 4 = ∅
x
x
x
x
x
support
0.4
0.8
0.6
0.6
0.4
0.2
0.3
0.1
0.6
0.2
0.5
162
Aus {B, C, J} aus L3 ergeben sich die Regeln (Konfidenz in Klammern):
BC → J[0.67], BJ → C[1.00], CJ → B[1.00] und H1 = {{B}, {C}}
H2 = AprioriGen(H1) = {{B, C}}, aber J → BC[0.67] erfüllt nicht das
Konfidenzkriterium.
Aus {B, C, L} ergeben sich die Regeln:
BC → L[0.67], BL → C[0.8], CL → B[1.00]
Mit H2 = {{B, C}} ergibt sich L → BC[0.8]
Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 03/04
164
4. Generieren von Assoziationsregeln
Ermittlung der Assoziationsregeln
Shampoo
Haarspülung
Duschgel
Kosmetik
Kosmetik
Shampoo, Deodorant
Haarspülung, Deodorant
Shampoo, Kosmetik
Haarspülung, Kosmetik
Kosmetik
Regel
→
→
→
→
→
→
→
→
→
→
Haarspülung
Shampoo
Shampoo
Shampoo
Haarspülung
Haarspülung
Shampoo
Haarspülung
Shampoo
Shampoo, Haarspülung
Support
0.6
0.6
0.5
0.5
0.4
0.4
0.4
0.4
0.4
0.4
Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 03/04
4. Generieren von Assoziationsregeln
Konfidenz
0.75
1.00
0.83
1.00
0.80
1.00
1.00
0.80
1.00
0.80
165
Zusammenfassung
Zusammenfassung
• Entscheidungsbäume
–
–
–
–
Aufbau einer Klassifikationshierarchie für eine Trainingsmenge
top-down, rekursives Verfahren
Wesentlich ist die Attributauswahl
ID3-Algorithmus: Attributauswahl auf Basis der Entropie
• Assoziationsregeln
–
–
–
–
Wesentlich: Berechnung häufiger Itemmengen
Apriori-Algorithmus zur Berechnung häufiger Itemmengen
Unterstützung des Apriori-Algorithmus durch Hash-Trees
Aus den häufigen Itemmengen werden unter Einsatz von AprioriGen die Assoziationsregeln generiert.
Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 03/04
166
Herunterladen