Data Mining Tutorial - dbs.ifi.lmu.de · Data Mining Tutorial E. Schubert, A. Zimek Aufgabe 10-1...

Post on 16-Sep-2019

12 views 0 download

Transcript of Data Mining Tutorial - dbs.ifi.lmu.de · Data Mining Tutorial E. Schubert, A. Zimek Aufgabe 10-1...

Data MiningTutorial

E. Schubert,A. Zimek

Aufgabe 10-1

Aufgabe 10-2

Aufgabe 10-3

Data Mining TutorialKlassifikation I

Erich Schubert, Arthur Zimek

Ludwig-Maximilians-Universität München

2015-06-24 — KDD Übung

Data MiningTutorial

E. Schubert,A. Zimek

Aufgabe 10-1

Aufgabe 10-2

Aufgabe 10-3

Evaluierung von Klassifikatoren

Konfusionsmatrix aufbauen:

A B C Ci

A

4 0 1 5

B

2 2 1 5

C

1 1 3 5

Ki

7 3 5 15

|TP| |FP| |FN|

4 3 12 1 33 2 2

Data MiningTutorial

E. Schubert,A. Zimek

Aufgabe 10-1

Aufgabe 10-2

Aufgabe 10-3

Evaluierung von Klassifikatoren

Konfusionsmatrix aufbauen:

A B C Ci

A

4 0 1 5

B

2 2 1 5

C

1 1 3 5

Ki

7 3 5 15

|TP| |FP| |FN|

4 3 12 1 33 2 2

Data MiningTutorial

E. Schubert,A. Zimek

Aufgabe 10-1

Aufgabe 10-2

Aufgabe 10-3

Evaluierung von Klassifikatoren

Konfusionsmatrix aufbauen:

A B C Ci

A 4 0 1

5

B 2 2 1

5

C 1 1 3

5

Ki

7 3 5 15

|TP| |FP| |FN|

4 3 12 1 33 2 2

Data MiningTutorial

E. Schubert,A. Zimek

Aufgabe 10-1

Aufgabe 10-2

Aufgabe 10-3

Evaluierung von Klassifikatoren

Konfusionsmatrix aufbauen:

A B C Ci

A 4 0 1 5B 2 2 1 5C 1 1 3 5

Ki 7 3 5

15

|TP| |FP| |FN|

4 3 12 1 33 2 2

Data MiningTutorial

E. Schubert,A. Zimek

Aufgabe 10-1

Aufgabe 10-2

Aufgabe 10-3

Evaluierung von Klassifikatoren

Konfusionsmatrix aufbauen:

A B C Ci

A 4 0 1 5B 2 2 1 5C 1 1 3 5

Ki 7 3 5 15

|TP| |FP| |FN|

4 3 12 1 33 2 2

Data MiningTutorial

E. Schubert,A. Zimek

Aufgabe 10-1

Aufgabe 10-2

Aufgabe 10-3

Evaluierung von Klassifikatoren

Konfusionsmatrix aufbauen:

A B C Ci

A 4 0 1 5B 2 2 1 5C 1 1 3 5

Ki 7 3 5 15

|TP| |FP| |FN|

4 3 12 1 33 2 2

Data MiningTutorial

E. Schubert,A. Zimek

Aufgabe 10-1

Aufgabe 10-2

Aufgabe 10-3

Evaluierung von Klassifikatoren

Konfusionsmatrix aufbauen:

A B C Ci

A 4 0 1 5B 2 2 1 5C 1 1 3 5

Ki 7 3 5 15

|TP| |FP| |FN|4

3 1

2

1 3

3

2 2

Data MiningTutorial

E. Schubert,A. Zimek

Aufgabe 10-1

Aufgabe 10-2

Aufgabe 10-3

Evaluierung von Klassifikatoren

Konfusionsmatrix aufbauen:

A B C Ci

A 4 0 1 5B 2 2 1 5C 1 1 3 5

Ki 7 3 5 15

|TP| |FP| |FN|4 3 12

1 3

3

2 2

Data MiningTutorial

E. Schubert,A. Zimek

Aufgabe 10-1

Aufgabe 10-2

Aufgabe 10-3

Evaluierung von Klassifikatoren

Konfusionsmatrix aufbauen:

A B C Ci

A 4 0 1 5B 2 2 1 5C 1 1 3 5

Ki 7 3 5 15

|TP| |FP| |FN|4 3 12 1 33

2 2

Data MiningTutorial

E. Schubert,A. Zimek

Aufgabe 10-1

Aufgabe 10-2

Aufgabe 10-3

Evaluierung von Klassifikatoren

Konfusionsmatrix aufbauen:

A B C Ci

A 4 0 1 5B 2 2 1 5C 1 1 3 5

Ki 7 3 5 15

|TP| |FP| |FN|4 3 12 1 33 2 2

Data MiningTutorial

E. Schubert,A. Zimek

Aufgabe 10-1

Aufgabe 10-2

Aufgabe 10-3

Evaluierung von Klassifikatoren

Konfusionsmatrix aufbauen:

A B C Ci

A 4 0 1 5B 2 2 1 5C 1 1 3 5

Ki 7 3 5 15

|TP| |FP| |FN|4 3 12 1 33 2 2

Precision(K,A) = 4/7Precision(K,B) = 2/3Precision(K,C) = 3/5

Recall(K,A) = 4/5Recall(K,B) = 2/5Recall(K,C) = 3/5

F1(K,A) = 2/3F1(K,B) = 1/2F1(K,C) = 3/5

Precision(K, i) =|{o ∈ Ki |K(o) = C(o)}|

|Ki|=

|TPi||TPi|+ |FPi|

Data MiningTutorial

E. Schubert,A. Zimek

Aufgabe 10-1

Aufgabe 10-2

Aufgabe 10-3

Evaluierung von Klassifikatoren

Konfusionsmatrix aufbauen:

A B C Ci

A 4 0 1 5B 2 2 1 5C 1 1 3 5

Ki 7 3 5 15

|TP| |FP| |FN|4 3 12 1 33 2 2

Precision(K,A) = 4/7Precision(K,B) = 2/3Precision(K,C) = 3/5

Recall(K,A) = 4/5Recall(K,B) = 2/5Recall(K,C) = 3/5

F1(K,A) = 2/3F1(K,B) = 1/2F1(K,C) = 3/5

Recall(K, i) =|{o ∈ Ci |K(o) = C(o)}|

|Ci|=

|TPi||TPi|+ |FNi|

Data MiningTutorial

E. Schubert,A. Zimek

Aufgabe 10-1

Aufgabe 10-2

Aufgabe 10-3

Evaluierung von Klassifikatoren

Konfusionsmatrix aufbauen:

A B C Ci

A 4 0 1 5B 2 2 1 5C 1 1 3 5

Ki 7 3 5 15

|TP| |FP| |FN|4 3 12 1 33 2 2

Precision(K,A) = 4/7Precision(K,B) = 2/3Precision(K,C) = 3/5

Recall(K,A) = 4/5Recall(K,B) = 2/5Recall(K,C) = 3/5

F1(K,A) = 2/3F1(K,B) = 1/2F1(K,C) = 3/5

F1(K, i) =2 · Recall(K, i) · Precision(K, i)Recall(K, i) + Precision(K, i)(

nicht allgemeingültig: =2|TPi|

2|TPi|+ |FPi|+ |FNi|

)

Data MiningTutorial

E. Schubert,A. Zimek

Aufgabe 10-1

Aufgabe 10-2

Aufgabe 10-3

Evaluierung von Klassifikatoren

Konfusionsmatrix aufbauen:

A B C Ci

A 4 0 1 5B 2 2 1 5C 1 1 3 5

Ki 7 3 5 15

|TP| |FP| |FN|4 3 12 1 33 2 2

Mittlere Precision, Recall und F1:Mittelwert Precision: 1

3(4/7 + 2/3 + 3/5) ≈ 0.613Mittelwert Recall: 1

3(4/5 + 2/5 + 3/5) = 0.6F1 ≈ 2·0.6·0.613

0.6+0.613 ≈ 0.606.

Data MiningTutorial

E. Schubert,A. Zimek

Aufgabe 10-1

Aufgabe 10-2

Aufgabe 10-3

Evaluierung von Klassifikatoren

Konfusionsmatrix aufbauen:

A B C Ci

A 4 0 1 5B 2 2 1 5C 1 1 3 5

Ki 7 3 5 15

|TP| |FP| |FN|4 3 12 1 33 2 2

Mittelwert der F1(K, . . .) ≈ 0.589. Es ist aber sinnvoller,

F1(Mittlere Precision(K),Mittlerer Recall(K))

zu verwenden. Precision und Recall sind wichtigeKennzahlen, und F1 ist “nur” eine Reduktion dieser zweiKennzahlen auf eine einzige.

Data MiningTutorial

E. Schubert,A. Zimek

Aufgabe 10-1

Aufgabe 10-2

Aufgabe 10-3

Bewertung von Klassifikatoren

Optimaler Klassifikator (nur für zufällige Klassenlabel!):

Immer als die häufigste (Mehrheits-) Klasse klassifizieren.

Erwartete Fehlerrate?

Da |A| = |B| = |D|/2, ist die Fehlerrate 50%.

Data MiningTutorial

E. Schubert,A. Zimek

Aufgabe 10-1

Aufgabe 10-2

Aufgabe 10-3

Bewertung von Klassifikatoren

Optimaler Klassifikator (nur für zufällige Klassenlabel!):

Immer als die häufigste (Mehrheits-) Klasse klassifizieren.

Erwartete Fehlerrate?

Da |A| = |B| = |D|/2, ist die Fehlerrate 50%.

Data MiningTutorial

E. Schubert,A. Zimek

Aufgabe 10-1

Aufgabe 10-2

Aufgabe 10-3

Bewertung von KlassifikatorenLeave-one-out Validierung

Leave-one-out Validierung:Erwartete Fehlerrate?

Die “falsche” Klasse wird jetzt zur Mehrheitsklasse, da wirja nur das Testobjekt weglassen.

Der erwarteter Fehler wird 100%!Das ist natürlich zu pessimistisch.

Data MiningTutorial

E. Schubert,A. Zimek

Aufgabe 10-1

Aufgabe 10-2

Aufgabe 10-3

Bewertung von KlassifikatorenLeave-one-out Validierung

Leave-one-out Validierung:Erwartete Fehlerrate?

Die “falsche” Klasse wird jetzt zur Mehrheitsklasse, da wirja nur das Testobjekt weglassen.

Der erwarteter Fehler wird 100%!Das ist natürlich zu pessimistisch.

Data MiningTutorial

E. Schubert,A. Zimek

Aufgabe 10-1

Aufgabe 10-2

Aufgabe 10-3

Bewertung von KlassifikatorenBootstrap Methode

Bootstrap durch “Ziehen mit Zurücklegen”:Jedes Objekt wird mit einer Wahrscheinlichkeit von ca.(1− 1

n

)n ≈ 0.368 nie gezogen, also nur ca. 63.2% derObjekte werden zum Training verwendet.(Bei 10-facher Kreuzvalidierung werden 90% verwendet!)Die normale Fehlerschätzung wäre pessimistisch.

Üblicher Ansatz: man integriert auch den beobachtetenKlassifikationsfehler (auf den Trainingsdaten!):

Fehlerrate = 0.632 · Fehler auf Testdaten

+ 0.368 · Fehler auf Trainingsdaten

Das wird mehrmals wiederholt (mit unterschiedlichenStichproben) und dann darüber gemittelt.

Data MiningTutorial

E. Schubert,A. Zimek

Aufgabe 10-1

Aufgabe 10-2

Aufgabe 10-3

Bewertung von KlassifikatorenBootstrap Methode

Bootstrap durch “Ziehen mit Zurücklegen”:Jedes Objekt wird mit einer Wahrscheinlichkeit von ca.(1− 1

n

)n ≈ 0.368 nie gezogen, also nur ca. 63.2% derObjekte werden zum Training verwendet.(Bei 10-facher Kreuzvalidierung werden 90% verwendet!)Die normale Fehlerschätzung wäre pessimistisch.

Üblicher Ansatz: man integriert auch den beobachtetenKlassifikationsfehler (auf den Trainingsdaten!):

Fehlerrate = 0.632 · Fehler auf Testdaten

+ 0.368 · Fehler auf Trainingsdaten

Das wird mehrmals wiederholt (mit unterschiedlichenStichproben) und dann darüber gemittelt.

Data MiningTutorial

E. Schubert,A. Zimek

Aufgabe 10-1

Aufgabe 10-2

Aufgabe 10-3

Evaluierung von KlassifikatorenBootstrap-Methode

Die Fehlerrate des konstanten Klassifikators ist ≈ 50%.

Neuer “bester” Klassifikator auf den Trainingsdaten:“auswendig lernen”!Auf den Trainingsdaten kann der “auswendig lernen”Ansatz eine Präzision von bis zu 100% erreichen!

Dann ergibt sich:

Fehlerrate = 0.632 · 50%+ 0.368 · 0% = 31.6%

was eine zu optimistische Schätzung ist.

Data MiningTutorial

E. Schubert,A. Zimek

Aufgabe 10-1

Aufgabe 10-2

Aufgabe 10-3

Evaluierung von KlassifikatorenBootstrap-Methode

Die Fehlerrate des konstanten Klassifikators ist ≈ 50%.

Neuer “bester” Klassifikator auf den Trainingsdaten:“auswendig lernen”!Auf den Trainingsdaten kann der “auswendig lernen”Ansatz eine Präzision von bis zu 100% erreichen!

Dann ergibt sich:

Fehlerrate = 0.632 · 50%+ 0.368 · 0% = 31.6%

was eine zu optimistische Schätzung ist.

Data MiningTutorial

E. Schubert,A. Zimek

Aufgabe 10-1

Aufgabe 10-2

Aufgabe 10-3

Evaluierung von KlassifikatorenBootstrap-Methode

Die Fehlerrate des konstanten Klassifikators ist ≈ 50%.

Neuer “bester” Klassifikator auf den Trainingsdaten:“auswendig lernen”!Auf den Trainingsdaten kann der “auswendig lernen”Ansatz eine Präzision von bis zu 100% erreichen!

Dann ergibt sich:

Fehlerrate = 0.632 · 50%+ 0.368 · 0% = 31.6%

was eine zu optimistische Schätzung ist.

Data MiningTutorial

E. Schubert,A. Zimek

Aufgabe 10-1

Aufgabe 10-2

Aufgabe 10-3

Naïve Bayes

Wetter Schnee Ski? Wetter Schnee Ski?Sonne < 50 nein Schnee < 50 neinRegen < 50 nein Sonne ≥ 50 jaRegen ≥ 50 nein Schnee ≥ 50 jaSchnee ≥ 50 ja Regen < 50 ja

A priori- und bedingte Wahrscheinlichkeiten:

Data MiningTutorial

E. Schubert,A. Zimek

Aufgabe 10-1

Aufgabe 10-2

Aufgabe 10-3

Naïve Bayes

Wetter Schnee Ski? Wetter Schnee Ski?Sonne < 50 nein Schnee < 50 neinRegen < 50 nein Sonne ≥ 50 jaRegen ≥ 50 nein Schnee ≥ 50 jaSchnee ≥ 50 ja Regen < 50 ja

A priori- und bedingte Wahrscheinlichkeiten:

P(Ski) = 1/2

P(¬Ski) = 1/2

Data MiningTutorial

E. Schubert,A. Zimek

Aufgabe 10-1

Aufgabe 10-2

Aufgabe 10-3

Naïve Bayes

Wetter Schnee Ski? Wetter Schnee Ski?Sonne < 50 nein Schnee < 50 neinRegen < 50 nein Sonne ≥ 50 jaRegen ≥ 50 nein Schnee ≥ 50 jaSchnee ≥ 50 ja Regen < 50 ja

A priori- und bedingte Wahrscheinlichkeiten:

P(Wetter = Sonne|Ski) = 1/4

P(Wetter = Schnee|Ski) = 2/4

P(Wetter = Regen|Ski) = 1/4

P(Wetter = Sonne|¬Ski) = 1/4

P(Wetter = Schnee|¬Ski) = 1/4

P(Wetter = Regen|¬Ski) = 2/4

Data MiningTutorial

E. Schubert,A. Zimek

Aufgabe 10-1

Aufgabe 10-2

Aufgabe 10-3

Naïve Bayes

Wetter Schnee Ski? Wetter Schnee Ski?Sonne < 50 nein Schnee < 50 neinRegen < 50 nein Sonne ≥ 50 jaRegen ≥ 50 nein Schnee ≥ 50 jaSchnee ≥ 50 ja Regen < 50 ja

A priori- und bedingte Wahrscheinlichkeiten:

P(Schnee ≥ 50|Ski) = 3/4

P(Schnee < 50|Ski) = 1/4

P(Schnee ≥ 50|¬Ski) = 1/4

P(Schnee < 50|¬Ski) = 3/4

Data MiningTutorial

E. Schubert,A. Zimek

Aufgabe 10-1

Aufgabe 10-2

Aufgabe 10-3

Naive Bayes

Wetter Schneea priori Sonne Schnee Regen ≥ 50 < 50

Ski 1/2 1/4 2/4 1/4 3/4 1/4¬ Ski 1/2 1/4 1/4 2/4 1/4 3/4

Data MiningTutorial

E. Schubert,A. Zimek

Aufgabe 10-1

Aufgabe 10-2

Aufgabe 10-3

Naive Bayes

Wetter Schneea priori Sonne Schnee Regen ≥ 50 < 50

Ski 1/2 1/4 2/4 1/4 3/4 1/4¬ Ski 1/2 1/4 1/4 2/4 1/4 3/4

A)Wetter=Sonne, Schnee ≥ 50

P(Ski|Wetter = Sonne, Schnee ≥ 50)

=P(Wetter = Sonne|Ski) · P(Schnee ≥ 50|Ski) · P(Ski)

P(Wetter = Sonne, Schnee ≥ 50)

=14 ·

34 ·

12

P(Wetter = Sonne, Schnee ≥ 50)

=332

P(Wetter = Sonne, Schnee ≥ 50)

Data MiningTutorial

E. Schubert,A. Zimek

Aufgabe 10-1

Aufgabe 10-2

Aufgabe 10-3

Naive Bayes

Wetter Schneea priori Sonne Schnee Regen ≥ 50 < 50

Ski 1/2 1/4 2/4 1/4 3/4 1/4¬ Ski 1/2 1/4 1/4 2/4 1/4 3/4

A)Wetter=Sonne, Schnee ≥ 50

P(¬Ski|Wetter = Sonne, Schnee ≥ 50)

=P(Wetter = Sonne|¬Ski) · P(Schnee ≥ 50|¬Ski) · P(¬Ski)

P(Wetter = Sonne, Schnee ≥ 50)

=14 ·

14 ·

12

P(Wetter = Sonne, Schnee ≥ 50)

=1

32P(Wetter = Sonne, Schnee ≥ 50)

Data MiningTutorial

E. Schubert,A. Zimek

Aufgabe 10-1

Aufgabe 10-2

Aufgabe 10-3

Naive Bayes

Wetter Schneea priori Sonne Schnee Regen ≥ 50 < 50

Ski 1/2 1/4 2/4 1/4 3/4 1/4¬ Ski 1/2 1/4 1/4 2/4 1/4 3/4

A)Wetter=Sonne, Schnee ≥ 50

P(Ski|Wetter = Sonne, Schnee ≥ 50) =3

32P(. . .)

P(¬Ski|Wetter = Sonne, Schnee ≥ 50) =132

P(. . .)

⇒ Skifahren

Data MiningTutorial

E. Schubert,A. Zimek

Aufgabe 10-1

Aufgabe 10-2

Aufgabe 10-3

Naive Bayes

Wetter Schneea priori Sonne Schnee Regen ≥ 50 < 50

Ski 1/2 1/4 2/4 1/4 3/4 1/4¬ Ski 1/2 1/4 1/4 2/4 1/4 3/4

B)Wetter=Regen, Schnee < 50

P(Ski|Wetter = Regen, Schnee < 50)

=P(Wetter = Regen|Ski) · P(Schnee < 50|Ski) · P(Ski)

P(Wetter = Regen, Schnee < 50)

=14 ·

14 ·

12

P(Wetter = Regen, Schnee < 50)

=132

P(Wetter = Regen, Schnee < 50)

Data MiningTutorial

E. Schubert,A. Zimek

Aufgabe 10-1

Aufgabe 10-2

Aufgabe 10-3

Naive Bayes

Wetter Schneea priori Sonne Schnee Regen ≥ 50 < 50

Ski 1/2 1/4 2/4 1/4 3/4 1/4¬ Ski 1/2 1/4 1/4 2/4 1/4 3/4

B)Wetter=Regen, Schnee < 50

P(¬Ski|Wetter = Regen, Schnee < 50)

=P(Wetter = Regen|¬Ski) · P(Schnee < 50|¬Ski) · P(¬Ski)

P(Wetter = Regen, Schnee < 50)

=24 ·

34 ·

12

P(Wetter = Regen, Schnee < 50)

=6

32P(Wetter = Regen, Schnee < 50)

Data MiningTutorial

E. Schubert,A. Zimek

Aufgabe 10-1

Aufgabe 10-2

Aufgabe 10-3

Naive Bayes

Wetter Schneea priori Sonne Schnee Regen ≥ 50 < 50

Ski 1/2 1/4 2/4 1/4 3/4 1/4¬ Ski 1/2 1/4 1/4 2/4 1/4 3/4

B)Wetter=Regen, Schnee < 50

P(Ski|Wetter = Regen, Schnee < 50) =1

32P(. . .)

P(¬Ski|Wetter = Regen, Schnee < 50) =632

P(. . .)

⇒ nicht Skifahren

Data MiningTutorial

E. Schubert,A. Zimek

Aufgabe 10-1

Aufgabe 10-2

Aufgabe 10-3

Naive Bayes

Wetter Schneea priori Sonne Schnee Regen ≥ 50 < 50

Ski 1/2 1/4 2/4 1/4 3/4 1/4¬ Ski 1/2 1/4 1/4 2/4 1/4 3/4

C)Wetter=Schnee, Schnee < 50

P(Ski|Wetter = Schnee, Schnee < 50)

=P(Wetter = Schnee|Ski) · P(Schnee < 50|Ski) · P(Ski)

P(Wetter = Schnee, Schnee < 50)

=24 ·

14 ·

12

P(Wetter = Schnee, Schnee < 50)

=232

P(Wetter = Schnee, Schnee < 50)

Data MiningTutorial

E. Schubert,A. Zimek

Aufgabe 10-1

Aufgabe 10-2

Aufgabe 10-3

Naive Bayes

Wetter Schneea priori Sonne Schnee Regen ≥ 50 < 50

Ski 1/2 1/4 2/4 1/4 3/4 1/4¬ Ski 1/2 1/4 1/4 2/4 1/4 3/4

C)Wetter=Schnee, Schnee < 50

P(¬Ski|Wetter = Schnee, Schnee < 50)

=P(Wetter = Schnee|¬Ski) · P(Schnee < 50|¬Ski) · P(¬Ski)

P(Wetter = Schnee, Schnee < 50)

=14 ·

34 ·

12

P(Wetter = Schnee, Schnee < 50)

=3

32P(Wetter = Schnee, Schnee < 50)

Data MiningTutorial

E. Schubert,A. Zimek

Aufgabe 10-1

Aufgabe 10-2

Aufgabe 10-3

Naive Bayes

Wetter Schneea priori Sonne Schnee Regen ≥ 50 < 50

Ski 1/2 1/4 2/4 1/4 3/4 1/4¬ Ski 1/2 1/4 1/4 2/4 1/4 3/4

C)Wetter=Schnee, Schnee < 50

P(Ski|Wetter = Schnee, Schnee < 50) =232

P(. . .)

P(¬Ski|Wetter = Schnee, Schnee < 50) =3

32P(. . .)

⇒ nicht Skifahren