6. Data Mining - swl.htwsaar.de · § Data Mining and Knowledge Discovery zielt darauf ab,...
Transcript of 6. Data Mining - swl.htwsaar.de · § Data Mining and Knowledge Discovery zielt darauf ab,...
6. Data Mining
2
Inhalt§ 6.1 Motivation
§ 6.2 Klassifikation
§ 6.3 Clusteranalyse
§ 6.4 Assoziationsregeln
3
6.1 Motivation§ Data Mining and Knowledge Discovery zielt darauf ab,
verwertbare Einsichten (actionable insights) ausverfügbaren Daten zu gewinnen
§ Überlappung mit dem Gebiet des maschinellen Lernens(machine learning), wo jedoch die Vorhersagekraft,anstelle von Einsichten, im Vordergrund steht
§ Begriff „Data Mining“ kam in den frühen 1990er Jahren auf, verwendete Verfahren sind teilweise älter
4
Aufgaben (tasks)§ Drei gängige Aufgaben (tasks) im Data Mining sind:
§ Klassifikation, d.h. Datenpunkte (z.B. Dokumente) und ihre Klassen (z.B. Themen) sind bekannt; finde heraus, was Datenpunkte einer bestimmten Klasse auszeichnet, umso neue Datenpunkte klassifizieren zu können
§ Clusteranalyse, d.h. Datenpunkte (z.B. Dokumente) sind bekannt; teile die Datenpunkte in (eine bestimmte Anzahl)von homogenen Gruppen (cluster) ein
§ Mustererkennung, d.h. Daten (z.B. Einkäufe) sind bekannt;finde darin Muster (z.B. häufig zusammen gekaufte Artikel)
5
6.2 Klassifikation§ Datenpunkte (z.B. Dokumente) mit ihren Klassen (z.B.
Themen) sind gegeben; finde für neue Datenpunktedie passende Klasse heraus
§ Drei Arten von Verfahren zur Klassifikation
§ distanzbasierte (z.B. k-Nächste-Nachbarn)
§ probabilistische (z.B. Naïve Bayes)
§ diskriminative (z.B. Entscheidungsbäume)
§ Verfahren unterscheiden sich u.a. darin, ob sie erklären können, was eine bestimmte Klasse auszeichnet
6
Anwendungsbeispiele§ Klassifikation von Zeitungsartikeln oder Blogposts
in Politik, Sport, Kultur, Reise und Auto
§ Klassifikation von E-Mailsin Spam und Nicht-Spam
§ Segmentierung von Kundenin Schnäppchenjäger, Normalos und Luxusliebhaber
§ Produktempfehlungen für bestimmten Kunden durch Klassifikation in Interessant und Nicht-Interessant
§ Handschrifterkennung auf Überweisungsträgern durch Klassifikation der gescannten Zeichen in Klassen 0-9
7
k-Nächste Nachbarn§ Klassifikation anhand der k nächsten Nachbarn ist ein
distanzbasiertes Verfahren, welches mehr alszwei Klassen unterstützt
§ Idee: Neuer Datenpunkt wird klassifiziert, indem
§ die k nächsten Datenpunkte mit bekannter Klassegemäß geeignetem Distanzmaß bestimmt werden
§ die häufigste aus deren Klassen ausgewählt wird
§ Typische Werte für k sind {5, 10, 15, 25}; im Fall binärer Klassifikation ist Wahl eines ungeraden Werts sinnvoll
Entscheidungsunterstützende Systeme / Kapitel 5: Klassifikation
8
Euklidische Distanz§ Datenpunkte als Vektoren in m-dimensionalen Vektorraum
§ Euklidische Distanz (L2-Distanz) als Distanzmaßzwischen zwei Vektoren xi und xj
Entscheidungsunterstützende Systeme / Kapitel 5: Klassifikation
d(xi, xj) =ııÙ
mÿ
k=1
!x(i,k) ≠ x(j,k)
"2
xi
xj
d(xi, xj)
9
k-Nächste Nachbarn§ Beispiel: Autos mit metrischen Merkmalen Gewicht und
Hubraum sowie nominalem Merkmal Herkunft
§ Auto mit Gewicht 1000 kgund Hubraum 3L istzu klassifizieren
Entscheidungsunterstützende Systeme / Kapitel 5: Klassifikation
800 1000 1200 1400 1600 1800 2000
12
34
56
7
Gewicht
Hubraum
U.S.A.EuropaJapan
10
k-Nächste Nachbarn
§ Auto wird alsHerkunftU.S.A.klassifiziert
Entscheidungsunterstützende Systeme / Kapitel 5: Klassifikation
800 1000 1200 1400 1600 1800 2000
12
34
56
7
Gewicht
Hubraum
U.S.A.EuropaJapan
k = 3
11
6.3 Clusteranalyse§ Datenpunkte (z.B. Dokumente) sind in homogene
Gruppen (cluster) einzuordnen, dabei gilt
§ Datenpunkte der gleichen Gruppe sollen möglichstkleine Distanz zueinander haben
§ Datenpunkt in verschiedenen Gruppen sollen möglichstgroße Distanz zueinander haben
§ Drei Arten von Verfahren zur Clusteranalyse
§ repräsentantenbasierte (z.B. k-Means)
§ hierarchische (z.B. HAC, HDC)
§ dichtebasierte (z.B. DBScan)
12
k-Means§ k-Means teilt die gegebenen Datenpunkte xi in k Gruppen
C1, …, Ck ein; jede Gruppe wird durch einenVektor µj repräsentiert
§ beginne mit zufälligen Vektoren µj
§ solange sich die Vektoren µj verändern§ betrachte jeden Datenpunkt xi und weise ihn der Gruppe Cj zu,
so dass die Distanz zum Vektor µj minimal ist
§ berechne Vektoren µj neu als Zentroid der Datenpunkte in Cj
µ
j
= 1|C
j
|ÿ
xiœCj
x
i
13
6.4 Assoziationsregeln§ Assoziationsregeln (association rules) beschreiben
Zusammenhänge zwischen gemeinsamauftretenden Merkmalen
§ Warenkorbanalyse als typische Anwendung;Assoziationsregeln dann z.B.
{Chips, Windeln} ∆ {Bier}
{Salsa, Guacamole} ∆ {Nachos}
{Harry Potter 1} ∆ {Hobbit 1 , Hobbit 2}
14
Transaktionsdatenbank§ Betrachte eine Menge von bekannten Artikeln (items)
§ Transaktionsdatenbank D ist eine Menge von Transaktionen der Form (t, X ) mit
§ als eindeutige Transaktions-ID§ als Menge enthaltener Artikel (itemset)
§ Beispiel:
I = { x1, x2, . . . , xm }
X ™ It œ N
I =;
Brezeln, Bier , Chips, Cola,Wurst, Kaese, Brot, Birnen,
<D =
Y________]
________[
(1, {Bier , Cola}),(2, {Wurst, Chips, Birnen}),
(3, {Bier , Cola}),(4, {Kaese, Bier , Cola}),
(6, {Brot, Wurst, Kaese}),(7, {Brot, Wurst, Birnen}),
(8, {Birnen, Brot}),
Z________
________\
15
Support einer Artikelmenge§ Betrachten wir eine Artikelmenge C, so bezeichnet ihr
(absoluter) Support die Anzahl von Transaktionen, in deren Artikelmengen C enthalten ist
sup(C, D) = | { (t, X) œ D : C ™ X } |
D =
Y________]
________[
(1, {Bier , Cola}),(2, {Wurst, Chips, Birnen}),
(3, {Bier , Cola}),(4, {Kaese, Bier , Cola}),
(6, {Brot, Wurst, Kaese}),(7, {Brot, Wurst, Birnen}),
(8, {Birnen, Brot}),
Z________
________\
sup({Bier}, D) = 3
sup({Brot, Wurst}, D) = 2
sup({Birnen, Bier}, D) = 0
sup({Cola}, D) = 3
sup({Cola, Bier}, D) = 3
16
Support einer Assoziationsregel§ Betrachten wir eine Assoziationsregel A ⟹ B mit
Artikelmengen A und B, so istihr Support definiert als
sup(A ∆ B) = sup(A fi B, D)
D =
Y________]
________[
(1, {Bier , Cola}),(2, {Wurst, Chips, Birnen}),
(3, {Bier , Cola}),(4, {Kaese, Bier , Cola}),
(6, {Brot, Wurst, Kaese}),(7, {Brot, Wurst, Birnen}),
(8, {Birnen, Brot}),
Z________
________\
sup({Bier} ∆ {Cola}) = 3
sup({Bier , Cola} ∆ {Kaese}) = 1
17
Konfidenz einer Assoziationsregel§ Betrachten wir eine Assoziationsregel A ⟹ B mit
Artikelmengen A und B, so ist ihre Konfidenz(confidence) definiert als
conf (A ∆ B) = sup(A fi B, D)sup(A, D)
D =
Y________]
________[
(1, {Bier , Cola}),(2, {Wurst, Chips, Birnen}),
(3, {Bier , Cola}),(4, {Kaese, Bier , Cola}),
(6, {Brot, Wurst, Kaese}),(7, {Brot, Wurst, Birnen}),
(8, {Birnen, Brot}),
Z________
________\
conf ({Bier} ∆ {Cola}) = 33
conf ({Bier , Cola} ∆ {Kaese}) = 13
18
Bestimmen von Assoziationsregeln§ Man möchte nun für eine Transaktionsdatenbank D alle
Assoziationsregeln A⟹ B bestimmen, so dass gilt
§ , d.h. man ist an Assoziationsregeln,die häufiger als der Parameter minsup beobachtet wurden
§ , d.h. nur Assoziationsregeln mitKonfidenz höher als Parameter minconf zu bestimmen
§ Vorgehensweise:
1. Bestimme häufige Artikelmengen C mit
2. Leite aus häufigen Artikelmengen Assoziationsregeln ab
sup(A ∆ B) Ø minsup
conf (A ∆ B) Ø minconf
sup(C) Ø minsup
19
Bestimmen häufiger Artikelmengen§ Bestimmen häufiger Artikelmengen (frequent itemset
mining) nutzt Anti-Monotonie des Supports aus; für zwei beliebige Artikelmengen X und Y gilt
§ Beispiel: Betrachten wir die beiden Artikelmengen
so wissen wir, dass die Artikelmenge Y höchstensso häufig vorkommen kann wie die Artikelmenge X
X ™ Y ∆ sup(X) Ø sup(Y )
Y = {Bier , Cola}X = {Bier}
20
Bestimmen häufiger Artikelmengen§ Anti-Monotonie erlaubt die betrachteten Artikelmengen
stark einzuschränken (pruning); wissen wir, dass die Artikelmenge X weniger häufig als minsup vorkommt,so wissen wir dass alle Übermengen Y⊇ Xauch weniger häufig vorkommen
21
A-Priori Algorithmus§ A-Priori Algorithmus findet alle Artikelmengen
(frequent itemsets) in einer Transaktionsdatenbank,die häufiger als minsup vorkommen
§ iterativer Algorithmus, der sich in der i-ten IterationArtikelmengen der Kardinalität i anschaut
§ jede Iteration besteht aus zwei Phasen§ Generierung von Kandidaten-Artikelmengen der Größe i
aus häufigen Artikelmengen der Größe (i-1)
§ Ausputzen (pruning) der Kandidaten-Artikelmengen mittelsDurchlaufs durch die Transaktionsdatenbank; nur jene mit Support größer gleich minsup bleiben erhalten
§ stoppt, wenn in einer Iteration keine häufigenArtikelmengen gefunden wurden
22
A-Priori Algorithmus
1 // Ha ufige Artikelmengen mit einem Element bestimmen2 F1 = {{i} : i œ I · sup({i}, D) Ø minsup};3
4 // Artikelmengen steigender Kardinalit at betrachten5 int k = 2;6 while (Fk≠1 ”= ÿ) {7
8 // Generiere Kandidaten - Artikelmengen der Gr oße k9 Ck = {a fi b : a œ Fk≠1 · b œ Fk≠1 · |a fl b| = (k ≠ 2)};
10
11 // Ausputzen der Kandidaten - Artikelmengen12 Fk = {a œ Ck : sup(a, D) Ø minsup};13
14 k = k + 1;15 }16
17 return F =tk≠1
i=1 Fi
23
Beispiel A-Priori Algorithmus§ Die folgende Transaktionsdatenbank sei gegeben
es sollen Artikelmengen für minsup = 2 bestimmt werden
D =
Y______]
______[
(1, {A, B, C}), (2, {B, C}),(3, {A, C}), (4, {A, D}),(5, {C, D}), (6, {A, C, D}),(7, {A, C, D}), (8, {A, B, D}),(9, {A, B}), (10, {B, C, E})
Z______
______\
F1 = {{A}, {B}, {C}, {D}}
24
Beispiel A-Priori Algorithmus§ Erste Iteration (k=2)
§ Zweite Iteration (k=3)
§ Dritte Iteration (k=4)
F2 = {{A, B}, {A, C}, {A, D}, {B, C}, {C, D}}
C2 = {{A, B}, {A, C}, {A, D}, {B, C}, {B, D}, {C, D}}
C3 = {{A, B, C}, {A, B, D}, {A, C, D}, {B, C, D}}
F3 = {{A, C, D}}
C4 = ÿ F4 = ÿ
25
Ableiten von Assoziationsregeln§ Assoziationsregeln lassen sich aus den gefundenen
häufigen Artikelmengen wie folgt ableiten
§ betrachte jede häufige Artikelmenge X§ für jede echte Teilmenge Y⊂ X, überprüfe die Konfidenz
der Assoziationsregel Y => (X \ Y), d.h. berechne den Wertsup(X, D) / sup(Y, D), und behalte die Assoziationsregel,wenn der Wert größer gleich minconf ist
§ Jede so aus einer häufigen Artikelmengen X generierteAssoziationsregel ist ebenfalls häufig, d.h. es giltsup(Y => (X \ Y)) ≥ minsup
26
Ableiten von Assoziationsregeln1 // Menge gefundener Assoziationsregeln
2 AR = ÿ;
3
4 // Betrachte h
¨
aufige Artikelmengen
5 for (X œ F : |X| Ø 2) {
6
7 // Betrachte echte Teilmengen
8 for(Y µ X) {
9
10 // Bestimme Konfidenz der Regel Y => (Y \ X)
11 c = sup(X, D)/sup(Y, D);
12
13 // Konfidenz gr
¨
oßer gleich minconf ?
14 if (c >= minconf ) {
15 AR = AR fi { Y ∆ (X \ Y ) }16 }
17 }
18 }
19
20 return AR;
27
Beispiel Ableiten von Assoziationsregeln§ Die folgende Transaktionsdatenbank sei gegeben
es sollen Assoziationsregeln für minsup = 2und minconf = 0.6 bestimmt werden
D =
Y______]
______[
(1, {A, B, C}), (2, {B, C}),(3, {A, C}), (4, {A, D}),(5, {C, D}), (6, {A, C, D}),(7, {A, C, D}), (8, {A, B, D}),(9, {A, B}), (10, {B, C, E})
Z______
______\
28
Beispiel Ableiten von Assoziationsregeln§ Folgende häufigen Artikelmengen wurden bestimmt
§ Daraus lassen sich die folgenden Assoziationsregelnmit Konfidenz größer gleich minconf = 0.6 ableiten
F =
Y_]
_[
{A} : 7, {B} : 5, {C} : 7, {D} : 5,
{A, B} : 3, {A, C} : 5, {A, D} : 4, {B, C} : 3, {C, D} : 3{A, C, D} : 2
Z_
_\
{B} ∆ {A} : 3/5 {A} ∆ {C} : 5/7{C} ∆ {A} : 5/7 {D} ∆ {A} : 4/5{B} ∆ {C} : 3/5 {D} ∆ {C} : 3/5
{C, D} ∆ {A} : 2/3
29
Zusammenfassung§ Data Mining and Knowledge Discovery zielt darauf ab,
verwertbare Einsichten aus Daten zu gewinnen
§ Klassifikation ordnet neue Datenpunkte in Klassen ein,deren Charakteristika vorab anhand von Trainingsdatenbestimmt wurden
§ Clustering gruppiert Datenpunkte in Gruppen, so dass Datenpunkte innerhalb einer Gruppe homogen, überGruppen hinweg jedoch heterogen sind
§ Assoziationsregeln decken Zusammenhänge in Daten auf (z.B. Warenkörbe) – für Produktempfehlungen o.ä.
30
Literatur[1] C. D. Manning, P. Raghavan, H. Schütze:
Information Retrieval, Cambridge University Press, 2008(Kapitel 14 & 16)
[2] M. J. Zaki und W. Meira Jr.: Data Mining and Analysis,Cambridge University Press, 2014 (Kapitel 8, 13 & 18)http://www.dataminingbook.info