data mining tutorial - dbs.ifi.lmu.de · data mining tutorial e. schubert, a. zimek aufgabe 10-1...
TRANSCRIPT
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