6. Data Mining - swl.htwsaar.de · § Data Mining and Knowledge Discovery zielt darauf ab,...

30
6. Data Mining

Transcript of 6. Data Mining - swl.htwsaar.de · § Data Mining and Knowledge Discovery zielt darauf ab,...

Page 1: 6. Data Mining - swl.htwsaar.de · § Data Mining and Knowledge Discovery zielt darauf ab, verwertbare Einsichten aus Daten zu gewinnen § Klassifikation ordnet neue Datenpunkte in

6. Data Mining

Page 2: 6. Data Mining - swl.htwsaar.de · § Data Mining and Knowledge Discovery zielt darauf ab, verwertbare Einsichten aus Daten zu gewinnen § Klassifikation ordnet neue Datenpunkte in

2

Inhalt§ 6.1 Motivation

§ 6.2 Klassifikation

§ 6.3 Clusteranalyse

§ 6.4 Assoziationsregeln

Page 3: 6. Data Mining - swl.htwsaar.de · § Data Mining and Knowledge Discovery zielt darauf ab, verwertbare Einsichten aus Daten zu gewinnen § Klassifikation ordnet neue Datenpunkte in

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

Page 4: 6. Data Mining - swl.htwsaar.de · § Data Mining and Knowledge Discovery zielt darauf ab, verwertbare Einsichten aus Daten zu gewinnen § Klassifikation ordnet neue Datenpunkte in

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)

Page 5: 6. Data Mining - swl.htwsaar.de · § Data Mining and Knowledge Discovery zielt darauf ab, verwertbare Einsichten aus Daten zu gewinnen § Klassifikation ordnet neue Datenpunkte in

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

Page 6: 6. Data Mining - swl.htwsaar.de · § Data Mining and Knowledge Discovery zielt darauf ab, verwertbare Einsichten aus Daten zu gewinnen § Klassifikation ordnet neue Datenpunkte in

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

Page 7: 6. Data Mining - swl.htwsaar.de · § Data Mining and Knowledge Discovery zielt darauf ab, verwertbare Einsichten aus Daten zu gewinnen § Klassifikation ordnet neue Datenpunkte in

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

Page 8: 6. Data Mining - swl.htwsaar.de · § Data Mining and Knowledge Discovery zielt darauf ab, verwertbare Einsichten aus Daten zu gewinnen § Klassifikation ordnet neue Datenpunkte in

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)

Page 9: 6. Data Mining - swl.htwsaar.de · § Data Mining and Knowledge Discovery zielt darauf ab, verwertbare Einsichten aus Daten zu gewinnen § Klassifikation ordnet neue Datenpunkte in

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

Page 10: 6. Data Mining - swl.htwsaar.de · § Data Mining and Knowledge Discovery zielt darauf ab, verwertbare Einsichten aus Daten zu gewinnen § Klassifikation ordnet neue Datenpunkte in

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

Page 11: 6. Data Mining - swl.htwsaar.de · § Data Mining and Knowledge Discovery zielt darauf ab, verwertbare Einsichten aus Daten zu gewinnen § Klassifikation ordnet neue Datenpunkte in

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)

Page 12: 6. Data Mining - swl.htwsaar.de · § Data Mining and Knowledge Discovery zielt darauf ab, verwertbare Einsichten aus Daten zu gewinnen § Klassifikation ordnet neue Datenpunkte in

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

Page 13: 6. Data Mining - swl.htwsaar.de · § Data Mining and Knowledge Discovery zielt darauf ab, verwertbare Einsichten aus Daten zu gewinnen § Klassifikation ordnet neue Datenpunkte in

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}

Page 14: 6. Data Mining - swl.htwsaar.de · § Data Mining and Knowledge Discovery zielt darauf ab, verwertbare Einsichten aus Daten zu gewinnen § Klassifikation ordnet neue Datenpunkte in

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________

________\

Page 15: 6. Data Mining - swl.htwsaar.de · § Data Mining and Knowledge Discovery zielt darauf ab, verwertbare Einsichten aus Daten zu gewinnen § Klassifikation ordnet neue Datenpunkte in

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

Page 16: 6. Data Mining - swl.htwsaar.de · § Data Mining and Knowledge Discovery zielt darauf ab, verwertbare Einsichten aus Daten zu gewinnen § Klassifikation ordnet neue Datenpunkte in

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

Page 17: 6. Data Mining - swl.htwsaar.de · § Data Mining and Knowledge Discovery zielt darauf ab, verwertbare Einsichten aus Daten zu gewinnen § Klassifikation ordnet neue Datenpunkte in

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

Page 18: 6. Data Mining - swl.htwsaar.de · § Data Mining and Knowledge Discovery zielt darauf ab, verwertbare Einsichten aus Daten zu gewinnen § Klassifikation ordnet neue Datenpunkte in

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

Page 19: 6. Data Mining - swl.htwsaar.de · § Data Mining and Knowledge Discovery zielt darauf ab, verwertbare Einsichten aus Daten zu gewinnen § Klassifikation ordnet neue Datenpunkte in

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}

Page 20: 6. Data Mining - swl.htwsaar.de · § Data Mining and Knowledge Discovery zielt darauf ab, verwertbare Einsichten aus Daten zu gewinnen § Klassifikation ordnet neue Datenpunkte in

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

Page 21: 6. Data Mining - swl.htwsaar.de · § Data Mining and Knowledge Discovery zielt darauf ab, verwertbare Einsichten aus Daten zu gewinnen § Klassifikation ordnet neue Datenpunkte in

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

Page 22: 6. Data Mining - swl.htwsaar.de · § Data Mining and Knowledge Discovery zielt darauf ab, verwertbare Einsichten aus Daten zu gewinnen § Klassifikation ordnet neue Datenpunkte in

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

Page 23: 6. Data Mining - swl.htwsaar.de · § Data Mining and Knowledge Discovery zielt darauf ab, verwertbare Einsichten aus Daten zu gewinnen § Klassifikation ordnet neue Datenpunkte in

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}}

Page 24: 6. Data Mining - swl.htwsaar.de · § Data Mining and Knowledge Discovery zielt darauf ab, verwertbare Einsichten aus Daten zu gewinnen § Klassifikation ordnet neue Datenpunkte in

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 = ÿ

Page 25: 6. Data Mining - swl.htwsaar.de · § Data Mining and Knowledge Discovery zielt darauf ab, verwertbare Einsichten aus Daten zu gewinnen § Klassifikation ordnet neue Datenpunkte in

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

Page 26: 6. Data Mining - swl.htwsaar.de · § Data Mining and Knowledge Discovery zielt darauf ab, verwertbare Einsichten aus Daten zu gewinnen § Klassifikation ordnet neue Datenpunkte in

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;

Page 27: 6. Data Mining - swl.htwsaar.de · § Data Mining and Knowledge Discovery zielt darauf ab, verwertbare Einsichten aus Daten zu gewinnen § Klassifikation ordnet neue Datenpunkte in

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______

______\

Page 28: 6. Data Mining - swl.htwsaar.de · § Data Mining and Knowledge Discovery zielt darauf ab, verwertbare Einsichten aus Daten zu gewinnen § Klassifikation ordnet neue Datenpunkte in

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

Page 29: 6. Data Mining - swl.htwsaar.de · § Data Mining and Knowledge Discovery zielt darauf ab, verwertbare Einsichten aus Daten zu gewinnen § Klassifikation ordnet neue Datenpunkte in

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.ä.

Page 30: 6. Data Mining - swl.htwsaar.de · § Data Mining and Knowledge Discovery zielt darauf ab, verwertbare Einsichten aus Daten zu gewinnen § Klassifikation ordnet neue Datenpunkte in

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