Klassifikations/Entscheidungsbaumstaab/lehre/ws0506/db1/Kapitel19data... · vielversprechendste...

20
Data Mining Klassifikation Assoziationsregeln Clustering Klassifikationsregeln Vorhersageattribute V1, V2, ..., Vn Vorhergesagtes Attribut A Klassifikationsregel P1(V1) P2(V2) ... Pn(Vn) A = c Prädikate P1, P2, .., Pn Konstante c Beispielregel (wieAlt>35) (Geschlecht =`m´) (Autotyp=`Coupé´) (Risiko=´hoch´) Klassifikations/Entscheidungsbaum Geschlecht wiealt Autotyp geringes Risiko m >35 w <=35 hohes Risiko geringes Risiko hohes Risiko Coupe Van Klassifikations/Entscheidungsbaum Geschlecht wiealt Autotyp geringes Risiko m >35 w <=35 hohes Risiko geringes Risiko hohes Risiko Coupe Van

Transcript of Klassifikations/Entscheidungsbaumstaab/lehre/ws0506/db1/Kapitel19data... · vielversprechendste...

Page 1: Klassifikations/Entscheidungsbaumstaab/lehre/ws0506/db1/Kapitel19data... · vielversprechendste Attribut ausgewählt (Greedy Algorithmus): verwende das Attribut, das am meisten Information

Data Mining

Klassifikation

Assoziationsregeln

Clustering

KlassifikationsregelnVorhersageattribute

V1, V2, ..., VnVorhergesagtes Attribut AKlassifikationsregel

P1(V1) ∧ P2(V2) ∧ ... ∧ Pn(Vn) A = cPrädikate P1, P2, .., PnKonstante c

Beispielregel

(wieAlt>35) ∧ (Geschlecht =`m´) ∧ (Autotyp=`Coupé´) (Risiko=´hoch´)

Klassifikations/Entscheidungsbaum

Geschlecht

wiealt

Autotyp

geringesR isiko

m

>35

w

<=35

hohesR isiko

geringesR isiko

hohesR isiko

Coupe Van

Klassifikations/Entscheidungsbaum

Geschlecht

wiealt

Autotyp

geringesR isiko

m

>35

w

<=35

hohesR isiko

geringesR isiko

hohesR isiko

Coupe Van

Page 2: Klassifikations/Entscheidungsbaumstaab/lehre/ws0506/db1/Kapitel19data... · vielversprechendste Attribut ausgewählt (Greedy Algorithmus): verwende das Attribut, das am meisten Information

Klassifikations/Entscheidungsbaum

Geschlecht

wiealt

Autotyp

geringesR isiko

m

>35

w

<=35

hohesR isiko

geringesR isiko

hohesR isiko

Coupe Van

(wieAlt>35) ∧ (Geschlecht =`m´) ∧(Autotyp=`Coupé´) (Risiko=´hoch´)

Konstruktion von Entscheidungsbäumen(Langley 1996, Quinlan 1993 )

Grundlagen- Entscheidungsbäume sind eine spezielle Formvon Konzepthierarchien

- Grundidee:• aus gegebenen Trainingsbeispielen wird

Entscheidungsbaum aufgebaut• Entscheidungsbaum liefert intensionale

Beschreibung der vorgegebenen Klassen• Entscheidungsbaum ordnet neue Beispiele mit

gewisser Fehlerrate einer der vorgegebenen Klassen zu

Konstruktion von Entscheidungsbäumen

Generelle Voraussetzungen:

• Beispiele werden in Form von Attribut-Wert-Paarenbeschrieben

- Attribut hat Name und Wertebereich- Wertebereich ist nominal, diskret oder kontinuierlich- jedes Beispiel wird durch dieselben Attribute

beschrieben (vgl. relationale Datenbanken )

• Menge von Klassen (Konzepten) ist vordefiniert; i.a. ist die Anzahl der Klassen sehr viel kleinerals die Zahl der Trainingsbeispiele

Konstruktion von Entscheidungsbäumen

Abbildung VI.1-1: Training instancesfrom a cell domain involving fourattributes and three distinct classes. ( Langley 1996 )

Attributes:number of nuclei (values: 1,2)number of tails (values: 1,2)color ( values: light, dark)wall (values: thin, thick)

Page 3: Klassifikations/Entscheidungsbaumstaab/lehre/ws0506/db1/Kapitel19data... · vielversprechendste Attribut ausgewählt (Greedy Algorithmus): verwende das Attribut, das am meisten Information

Konstruktion von Entscheidungsbäumen

Abbildung VI.1-2: A decision treegenerated by the DDT algorithm for thetraining instances from Abbildung VI.1-1. Each terminal node specifies an associated class name and the numberof training cases covered. Numbersnext to the notes indicate the order in which the algorithm generated them. The notation (a), which associatesattributes with nodes and values withlinks, is equivalent to (b), which showsthe instances that each node covers. (Langley 1996)

Konstruktion von Entscheidungsbäumen

° Von jedem Trainingsbeispiel ist (idealerweise)die Klassenzugehörigkeit bekannt

• überwachtes Lernen (supervised learning)• ein Attribut spezifiziert jeweils die Klassenzugehörigkeit

(vgl. auch Holländer- Klassifizierung)

° Klassen müssen durch Entscheidungsbäume oder Produktionsregeln beschreibbar sein

• typischerweise Beschreibungen der Form

Beispiel: Klasse Healthy:[( number_of_tails = 2) ∧ (number_of_nuclei = 1)] ∨[( number_of_tails = 1) ∧ (color = dark) ∧(number_of_nuclei = 2)]

)] value(att) valueatt[(nn11 iiii =∧∧= K

Konstruktion von Entscheidungsbäumen

Struktur eines univariaten Entscheidungsbaums:

• Blattknoten werden mit jeweils einer Klasse benannt, alle anderen Knoten mit jeweils einem Test auf ein einziges Attribut

• wenn das Attribut eines Knotens k verschiedene Werte hat (bzw. in k Wertebereiche aufgeteilt wird), dann hat der Knoten k Sohnknoten

• Beispielmenge wird an dem Knoten in k disjunkteTeilmengen partitioniert in Abhängigkeit vom jeweiligen Wert des Attributs

• Die Extension eines Knotens ist immer eine Obermenge der Extension aller Sohnknoten

Konstruktion von Entscheidungsbäumen

• verbinde jeden Knoten mit all seinen Sohnknoten und beschrifte die Kanten mit ihren zugehörigen Attributwerten

• neue Fälle durchlaufen für ihre Klassifikation den Entscheidungsbaum von der Wurzel ausgehend bis zu einem Blattknoten

Graphisch:

- m Attribute a1, a2, ... am- Wertebereich

von Attribut ai: von Attribut al:

},...,{1 ikii aa

},...,{1 lkll aa

ia

la

1ia

2ia iki

a

1la

2la lkl

a

..........

..........

Page 4: Klassifikations/Entscheidungsbaumstaab/lehre/ws0506/db1/Kapitel19data... · vielversprechendste Attribut ausgewählt (Greedy Algorithmus): verwende das Attribut, das am meisten Information

Wie man in Holland Leute erkennt (ohne Gewähr) ...

Schuhe Lieblings-Käse

Wohn-wagen

Hollän-disch

1 Unbek. Gouda Ja +2 Unbek. Camembert Ja -3 Klompen Gouda Ja +4 Normal Gouda Nein -5 Klompen Camembert Ja +6 Unbek. Gouda Nein +7 Normal Gouda Ja -8 Klompen Gouda Nein +9 Unbek. Camembert Nein -

10 Normal Camembert Ja -Schuhe

HolländerNicht-

Holländer Käse

HolländerNicht-

Holländer

4, 7, 10 3, 5, 8

1, 6 2, 9

Normal UnbekanntKlompen

Gouda

Ein Entscheidungsbaum zur Klassifikation

Konstruktion von Entscheidungsbäumen

Grafische Veranschaulichung der Klassifikationsaufgabe:

-/- -/-

+/+ -/-

++ +/+

Normal

unbekannt

Klompen

Gouda Camembert Käse

Schu

he

Wohnwagen

+ : Holländer- : kein Holländer

Konstruktion von Entscheidungsbäumen

Konstruktion von Entscheidungsbäumen

- Beispielalgorithmus für Aufbau eines univariaten Entscheidungsbaums:DDT - Algorithmus: Divisive Induction of

Univariate Decision Trees

- DDT ist nicht-inkrementell:- alle Trainingsbeispiele müssen verfügbar sein

- DDT ist Greedy-Algorithmus (greedy=gierig):- lokal optimale Entscheidungen werden

getroffen- getroffene Entscheidungen können nicht

mehr zurückgenommen werden

Konstruktion von Entscheidungsbäumen

DDT Algorithm: Divisive Induction of Univariate Decision Trees

Inputs: The current node N of the decision tree.A set of classified training instances ISET.A set of symbolic attributes and their values ASET.

Output: A univariate decision tree.

Top-level call: DDT(root, ASET, ISET).

Page 5: Klassifikations/Entscheidungsbaumstaab/lehre/ws0506/db1/Kapitel19data... · vielversprechendste Attribut ausgewählt (Greedy Algorithmus): verwende das Attribut, das am meisten Information

Konstruktion von Entscheidungsbäumen

Procedure DDT(N, ASET, ISET)If the training set ISET is empty,

Then label terminal node N as DEFAULT.

Else IF all instances ISET are equal with respect to all attributes in ASET // neuer Blattknoten

// this is especially the case if ASET is empty // gefunden

Then label terminal node N with the class name.

Else for each attribute A in ASET,

Evaluate A according to its ability to // wähle „bestes“

discriminate the classes in ISET. // Attribut B

Select attribute B with the best evaluation score.

For each value V of B,

Create a new child C of node N. // expandiere

Label the edge from N to C with V. // aktuellen

Let JSET be the ISET instances having value V on B. // Knoten

Let KSET be ASET \ {B}.

DDT(C, KSET, JSET).

Konstruktion von Entscheidungsbäumen

Beispiel "Spielen im Freien":

Outlook Temp (F) Humidity (%) W indy? Classsunny 75 70 true Playsunny 80 90 true Dont´t Playsunny 85 85 false Dont´t Playsunny 72 95 false Dont´t Playsunny 69 70 false Play

overcast 72 90 true Playovercast 83 78 false Playovercast 64 65 true Playovercast 81 75 false Play

rain 71 80 true Dont´t Playrain 65 70 true Dont´t Playrain 75 80 false Playrain 68 80 false Playrain 70 96 false Play

Abbildung VI.1-3: A small training set (Quinlan 1993)

° 4 Attribute° 2 Klassen: Play

Don‘t Play

Konstruktion von Entscheidungsbäumen

Abbildung VI.1-4: Final partition of cases and corresponding decision tree

(Quinlan 1993)

Konstruktion von Entscheidungsbäumen

Graphische Darstellung des Entscheidungsbaumes zum Beispiel:

outlook

humidity Play windy

Play Don‘t Play Don‘t Play Play

sunnyrainover-

cast

true false≤ 75 > 75

Page 6: Klassifikations/Entscheidungsbaumstaab/lehre/ws0506/db1/Kapitel19data... · vielversprechendste Attribut ausgewählt (Greedy Algorithmus): verwende das Attribut, das am meisten Information

C4.5 - Algorithmus (Quinlan 1993)

- weitverbreiteter Algorithmus zum Aufbau vonEntscheidungsbäumen (oder entsprechendenProduktionsregeln)

- Spezielle Variante des DDT-Algorithmus:° Verwendung einer speziellen Bewertungsfunktion

für Auswahl des besten Attributs: gain ratio° beinhaltet zusätzlich Verfahren zur

nachträglichen Vereinfachung des erzeugtenEntscheidungsbaums: pruning

° aus Entscheidungsbaum können entsprechende Produktionsregeln erzeugt werden

⇒ alternative lesbarere Darstellung° Windowing - Technik für Handhabung einergroßen Anzahl von Beispielen

Konstruktion von Entscheidungsbäumen

a) Bewertungsfunktion für Attributauswahl

• für gegebene Menge von Trainingsbeispielen ist Anzahl der möglichen Entscheidungsbäume i.a. sehr groß

• Daher ist Generierung aller Entscheidungsbäume und dann Auswahl des Besten (exhaustive search) nicht möglich

• Daher wird in jedem Expansionsschritt das vielversprechendste Attribut ausgewählt (GreedyAlgorithmus): verwende das Attribut, das am meistenInformation liefert (im Sinne der Informationstheorie)

• C4.5 verwendet gain ratio als Kriterium. Es ist eine Abwandelung des im folgenden beschriebenen gaincriterion.

Konstruktion von Entscheidungsbäumen

gain criterion

- Bezeichnungen: S: Gesamtbeispielmenge

T: Menge der Trainingsbeispiele (T⊂ S)

T1, T2, ..., Tn: Partition von T

S T

T4

T1

T2

T3

•••• •••• •

••

••

••

••

••

••

••

••

••

••

Konstruktion von Entscheidungsbäumen

- Informationsgehalt einer Botschaft bi:

hat bi die Wahrscheinlichkeit pi ,

so ist der Informationsgehalt von bi ≡ -log2 (pi) bits

Beispiel: 8 gleichwahrscheinliche Botschaften b1, ... ,b8 :

jedes bi hat den Informationsgehalt

bits 3 bits )81(2log- =

Page 7: Klassifikations/Entscheidungsbaumstaab/lehre/ws0506/db1/Kapitel19data... · vielversprechendste Attribut ausgewählt (Greedy Algorithmus): verwende das Attribut, das am meisten Information

Konstruktion von Entscheidungsbäumen

T) von (Entropie

bits T

jC

2log * k

1j

Tj

C T

TT⎟⎟⎟⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜⎜⎜⎜

∩∑=

∩−=)info(

- Botschaft, die mitteilt, dass beliebig ausgewähltes Beispiel aus Menge T in Klasse ci liegt, hat den Informationsgehalt

bits T

iC

2log T

⎟⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜⎜

⎛∩

- Erwartungswert für den Informationsgehalt dieser Botschaften (bei k Klassen C1, ... ,Ck):

z.B.: k = 2

C1: play

C2: don‘t play

Konstruktion von Entscheidungsbäumen

)iinfo(T * n

1i Ti

T ∑

==(T)xinfo

- Sei X ein Test, der T in T1, ... , Tn partitioniert.

Dann ist der Erwartungswert für den Informationsgehalt einer Botschaft, die mitteilt, dass ein beliebig ausgewähltes Beispiel aus Ti in der Klasse Cj liegt (bei k Klassen C1 , ... , Ck ):

bits

iT

iT

jC

2log * k

1j iT

iT

jC

⎟⎟⎟⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜⎜⎜⎜

∩∑=

∩−=)iinfo(T

Damit ist der Erwartungswert über alle T1, ... , Tn:

z.B.: X: outlook; n = 3

T1: sunny

T2: overcast

T3: rain

z.B.: k = 2

C1: play

C2: don‘t play

Konstruktion von Entscheidungsbäumen

(T)xinfo - info(T) gain(x)

criterion gain

=

: -

Maß für den Informationsgewinn durch Partitionierung von T durch Test X:

• wähle Test X, so dass gain (X) maximiert wird, d.h. möglichstgroßer Informationsgewinn durch aussagekräftiges Attribut X

• mit info(T) fix wähle ein Attribut X mit möglichst kleinem infoX(T),d.h. Erwartungswert für noch benötigte Informationen zurKlassifikation ist möglichst klein

Konstruktion von Entscheidungsbäumen

(T)xinfo - info(T) gain(x)

criterion gain

=

: -

Bem.: Dies ist verwandt zum gemittelten Information Gain

nur dass dort nur die Vorhersage einer Klasse C und nicht die Vorhersage in die Einteilung der Klassen C1 , ... , Ck betrachtet wurde.

)|(1)())|()((1),(1),(

111i

s

ii

s

i

s

iigaingain AcH

scHAcHcH

sAcI

sAcI ∑∑∑

===

−=−==

Page 8: Klassifikations/Entscheidungsbaumstaab/lehre/ws0506/db1/Kapitel19data... · vielversprechendste Attribut ausgewählt (Greedy Algorithmus): verwende das Attribut, das am meisten Information

Konstruktion von Entscheidungsbäumen

bits 0.940

info(T)

bits 145

2log

145

149

2log *

149

bits T

Tj

C

2log * 2

1j T

Tj

C

=

+−=

∩∑=

∩−=

⎟⎟⎟

⎜⎜⎜

⎟⎟

⎜⎜

⎟⎟

⎜⎜

⎟⎟⎟⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜⎜⎜⎜

Fortführung des Beispiels "Spielen im Freien" :2 Klassen : Play, Don‘t PlayKlasse Play: 9 FälleKlasse Don‘t Play : 5 Fälle

damit:

(durchschnittlich benötigte Information zur Identifizierung der Klassenzugehörigkeit eines Beispiels aus T)

k = 2

C1: play

C2: don‘t play

Konstruktion von Entscheidungsbäumen

5 3

T rain outlook : 3T

4 2

T overcast outlook : 2T

5 1

T sunny outlook : 1T

==

==

==

⎯→⎯

⎯→⎯

⎯→⎯

bits 0.694

52

2log5

2 53

2log * 5

3 * 145

40

2log*

40

44

2log *

44 * 14

4 53

2log*5

3 52

2log * 5

2 * 145

)iinfo(T * 3

1i Ti

T T)(outlookinfo

=

−−+

−−+

−−=

∑=

=

⎟⎟⎟

⎜⎜⎜

⎟⎟

⎜⎜

⎟⎟

⎜⎜

⎟⎟⎟

⎜⎜⎜

⎟⎟

⎜⎜

⎟⎟

⎜⎜

⎟⎟⎟

⎜⎜⎜

⎟⎟

⎜⎜

⎟⎟

⎜⎜

- Attribut ‚outlook‘ erzeugt 3 Teilmengen:

Und liefert nach Definition damit:

X: outlook; n = 3

T1: sunny

T2: overcast

T3: rain

k = 2

C1: play

C2: don‘t play

Konstruktion von Entscheidungsbäumen

bits ) 0.6940.940 (

T)(outlookinfo info(T)

bits 0.246

ok)gain(outlo

=−=

−=

bits 0.048)gain(windy bits 0.892)(0.940 damit

bits 0.892 )iinfo(T * 2

1i Ti

T T)(windyinfo

8 2

T false windy: 2T

6 1

T true windy: 1T

=−=

==∑=

=

==

==

⎯→⎯

⎯→⎯

o

Ko

Daraus folgt:

Vergleich mit dem Attribut ‚windy‘:windy erzeugt 2 Teilmengen:

Also wird ‚outlook‘ als stärker diskriminierendes Merkmal weiter oben im Baum verwandt als ‚windy‘.

X: windy; n = 2

T1: true

T2: false

k = 2

C1: play

C2: don‘t play

Konstruktion von Entscheidungsbäumen

Das gain criterion bevorzugt Tests mit vielen verschiedenen Testwerten(Attribut mit großem Wertebereich), wie das folgende Beispiel zeigt.

⇒ Bildung von Teilmengen mit wenigen Fällen⇒ im Extremfall einelementige Teilmengen

⇒ infoX(T) = 0

Aber für Klassifizierungszwecke ist die Bildung derartiger Teilmengen unerwünscht (Overfitting)! Deswegen wird (nach dem Beispiel) die Variante gain ratio des gain criterionvorgestellt.

Page 9: Klassifikations/Entscheidungsbaumstaab/lehre/ws0506/db1/Kapitel19data... · vielversprechendste Attribut ausgewählt (Greedy Algorithmus): verwende das Attribut, das am meisten Information

Konstruktion von Entscheidungsbäumen

Fortführung des Beispiels "Spielen im Freien" :

- füge neues Attribut ‘‘Datum‘‘ hinzu

• Attribut mit vielen verschiedenen Werten

• Attribut ‘‘Datum‘‘ liefert sehr hohen Informationsgewinn

• Datumsangabe bestimmt eindeutig Wert desZielattributes, d.h. Klassenzugehörigkeit

• Attribut ‘‘Datum‘‘ würde als Wurzelattribut gewähltwerden

• Das Attribut ‘‘Datum‘‘ ist sehr gut geeignet für die Beschreibung der Trainingsdaten, aber nicht geeignet für Klassifikation neuer, bisher unbekannter Beispiele.

Konstruktion von Entscheidungsbäumen

bits Ti

T2log *

n

1i Ti

T

ert)partitioni nT,,1T Teilmengenin XTest durch wird(T liegt esausgewählt beliebig daß mitteilt, die

Botschaft,einer nsgehalt Informatiofür :info'split ' durch criterion'gain '-

⎟⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜⎜

∑=

−=info(x) split

iT Teilmenge in BeispielwertErwartungs

renormalisie :Idee

K

X. Testsmöglichen alleüber gain vonder ist wie groß so tens wenigs

gain dass gung,Nebenbedinunter :ist iT große für wenige info'split ' da -

info(x)split gain(x) :damit

ttswertDurchschniratio' gain' maximiere

kleinsehr

ratio(x) gain =

Konstruktion von Entscheidungsbäumen

0.156 1.5770.246

ok)info(outlosplit ok)gain(outlo

damit

bits 1.577 145

2log * 145

144

2log * 144

145

2log * 145 ok)info(outlosplit

damit ;Beispielen 5 und 4 5,mit Teilmengen 3erzeugt outlook''Attribut

==

=

=−

−−=

⎟⎟⎟

⎜⎜⎜

⎟⎟⎟

⎜⎜⎜

⎟⎟⎟

⎜⎜⎜

⎟⎟⎟

⎜⎜⎜

⎟⎟⎟

⎜⎜⎜

⎟⎟⎟

⎜⎜⎜

ook)ratio(outl gain

Anwendung auf das Beispiel:

Pruning

Original decision tree:physician fee freeze = n:

adoption of the budget resolution = y: democrat (151)adoption of the budget resolution = u: democrat (1)adoption of the budget resolution = n:

education spending = n: democrat (6) education spending = y: democrat (9) education spending = u: republican (1)

physician fee freeze = y:synfuels corporation cutback = n: republican (97/3)synfuels corporation cutback = u: republican (4)synfuels corporation cutback = y:

duty free exports = y: democrat (2) duty free exports = u: republican (1) duty free exports = n:

education spending = n: democrat (5/2) education spending = y: republican (13/2) education spending = u: democrat (1)

physician fee freeze = u:water project cost sharing = n: democrat (0)water project cost sharing = y: democrat (4)water project cost sharing = u:

mx missile = n: republican (0)mx missile = y: democrat (3/1)mx missile = u: republican (2) Abbildung VI.1-5: Decision tree before and

after pruning (Quinlan 1993 )

After pruning:physician fee freeze = n: democrat (168/2.6)physician fee freeze = y: republican (123/13.9)physician fee freeze = u:

mx missile = n: democrat (3/1.1)mx missile = y: democrat (4/2.2)mx missile = u: republican (2/1)

Page 10: Klassifikations/Entscheidungsbaumstaab/lehre/ws0506/db1/Kapitel19data... · vielversprechendste Attribut ausgewählt (Greedy Algorithmus): verwende das Attribut, das am meisten Information

Kapitel VI.1: Konstruktion von Entscheidungsbäumen

Erzeugung von Produktionsregeln

- Komplexe Entscheidungsbäume sind schwer zu verstehen, da jeder Test im Kontext aller vorhergehenden Tests zu interpretieren ist.

- Lösung:• Betrachte alle Tests auf Pfad von

Wurzel zu aktuellem Knoten• und transformiere die Pfadtests in Bedingungen für

Produktionsregeln der Form

IF test1 ∧ test2 ∧ .. ∧ testnTHEN class = C1

• Eine Klasse wird als Default-Klasse verwendet.

Kapitel VI.1: Konstruktion von Entscheidungsbäumen

Abbildung VI.1-9:

labor-neg decision tree in graph form (Quinlan 1993)

Kapitel VI.1: Konstruktion von Entscheidungsbäumen

Abbildung VI.1-10: Result of postprocessing to rules(Quinlan 1993)

Kapitel VI.1: Konstruktion von Entscheidungsbäumen

- Regeln können gegebenenfalls vereinfachtwerden durch Entfernen von Tests aus demBedingungsteil:Beispiel: In Regel 4 in Abbildung VI.1-10 ist die

Bedingung ‚statutary holidays 10‘entfernt worden.

- Vorgehensweise für Klassifikation einesneuen Beispiels:

° gehe Regeln der Reihe nach durch( Reihenfolge ist relevant )

° erste Regel, deren Bedingungsteilerfüllt ist, wird ausgewählt

° rechte Seite der Regel bestimmtKlassenzugehörigkeit für betrachtetes Beispiel

° ist von keiner Regel der Bedingungsteil erfüllt, wird Default-Klasse gewählt

Page 11: Klassifikations/Entscheidungsbaumstaab/lehre/ws0506/db1/Kapitel19data... · vielversprechendste Attribut ausgewählt (Greedy Algorithmus): verwende das Attribut, das am meisten Information

Kapitel VI.1: Konstruktion von Entscheidungsbäumen

e) Fazit- C4.5 weitverbreitetes Verfahren zur Erzeugungvon Entscheidungsbäumen und zugehörigenProduktionsregeln

- Verfahren abhängig von° Bewertungsfunktion für Attributauswahl° Schätzung der Fehlerrate bei Pruning° Schätzung der Fehlerrate bei Erzeugungund Vereinfachung von Produktionsregeln

- vergleichbare Verfahren° ID3 (Quinlan 1983)° CN2 (Clark/Niblatt 1989)

AssoziationsregelnBeispielregel

Wenn jemand einen PC kauft, dann kauft er/sie auch einen Drucker

ConfidenceDieser Wert legt fest, bei welchem Prozentsatz der Datenmenge, bei der die Voraussetzung (linke Seite) erfüllt ist, die Regel (rechte Seite) auch erfüllt ist. Eine Confidence von 80% für unsere Beispielregel sagt aus, dass vier Fünftel der Leute, die einen PC gekauft haben, auch einen Drucker dazu gekauft haben.

SupportDieser Wert legt fest, wieviele Datensätze überhaupt gefunden wurden, um die Gültigkeit der Regel zu verifizieren. Bei einem Support von 1% wäre also jeder Hundertste Verkauf ein PC zusammen mit einem Drucker.

Verkaufstransaktionen Warenkörbe

Finde alle Assoziationsregeln L R mit einem Support größer als minsupp

und einer Confidence von mindestens minconf

Dazu sucht man zunächst die sogenannten frequent itemsets, also Produktmengen, die in mindestens minsupp der Einkaufswägen/ Transaktionen enthalten sindDer A Priori-Algorithmus basiert auf der Erkenntnis, dass alle Teilmengen eines FI auch FIs sein müssen

Toner555Scanner555PC555Papier555Drucker555PC444Drucker444Toner333Papier333Drucker333Scanner222PC222Toner111PC111Papier111Drucker111ProduktTransID

VerkaufsTransaktionen A Priori Algorithmusfür alle Produkte

überprüfe ob es ein frequent itemset ist, also inmindestens minsupp Einkaufswägen enthalten ist

k:=1

iteriere solangefür jeden frequent itemset Ik mit k Produkten

generiere alle itemsets Ik+1 mit k+1 Produkten und Ik ⊂ Ik+1

lies alle Einkäufe einmal (sequentieller Scan auf der Datenbank) und überprüfe, welche der (k+1)-elementigen itemset-Kandidaten mindestens minsupp mal vorkommen

k:=k+1

bis keine neuen frequent itemsets gefunden werden

Page 12: Klassifikations/Entscheidungsbaumstaab/lehre/ws0506/db1/Kapitel19data... · vielversprechendste Attribut ausgewählt (Greedy Algorithmus): verwende das Attribut, das am meisten Information

A Priori-Algorithmus

Toner555Scanner555PC555Papier555Drucker555PC444Drucker444Toner333Papier333Drucker333Scanner222PC222Toner111PC111Papier111Drucker111ProduktTransID

VerkaufsTransaktionen

{Scanner, Toner}2{PC,Toner}

{PC, Scanner}3{Papier, Toner}

{Papier, Scanner}2{Papier, PC}3{Drucker, Toner}

{Drucker, Scanner}3{Drucker, PC}3{Drucker, Papier}3{Toner}2{Scanner}4{PC}3{Papier}4{Drucker}AnzahlFI-Kandidat

Zwischenergebnisse

Disqua-lifiziert

Minsupp=3

A Priori-Algorithmus

Toner555Scanner555PC555Papier555Drucker555PC444Drucker444Toner333Papier333Drucker333Scanner222PC222Toner111PC111Papier111Drucker111ProduktTransID

VerkaufsTransaktionen

2{Papier, PC, Toner}2{Drucker, PC, Toner}3{Drucker, Papier, Toner}2{Drucker, Papier, PC}

{Scanner, Toner}2{PC,Toner}

{PC, Scanner}3{Papier, Toner}

{Papier, Scanner}2{Papier, PC}3{Drucker, Toner}

{Drucker, Scanner}3{Drucker, PC}3{Drucker, Papier}AnzahlFI-Kandidat

Zwischenergebnisse

Ableitung von Assoziationsregeln aus den frequent itemsets

Betrachte jeden FI mit hinreichen viel supportBilde alle nicht-leeren Teilmengen L ⊂ FI und untersuche die Regel

L FI – L Die Confidence dieser Regel berechnet sich als

Condicence(L FI – L) = support(FI) / support(L)Wenn die Confidence ausreicht, also > minconf ist, behalte diese Regel

Betrachte FI = {Drucker, Papier, Toner}Support = 3

Regel: {Drucker} {Papier, Toner}Confidence = S({Drucker, Papier, Toner}) / S({Drucker})

= (3/5) / (4/5)= ¾ = 75 %

Erhöhung der ConfidenceVergrößern der linken Seite (dadurch Verkleinern der rechten Seite) führt zur Erhöhung der Confidence

Formal: L ⊂ L+ , R ⊂ R-

Confidence(L R) <= C(L+ R- )

Beispiel-Regel: {Drucker} {Papier, Toner}Confidence = S({Drucker, Papier, Toner}) / S({Drucker})

= (3/5) / (4/5)= ¾ = 75%

Beispiel-Regel: {Drucker,Papier} {Toner}Conf. = S({Drucker, Papier, Toner}) / S({Drucker,Papier})

= (3/5) / (3/5)= 1 = 100%

Page 13: Klassifikations/Entscheidungsbaumstaab/lehre/ws0506/db1/Kapitel19data... · vielversprechendste Attribut ausgewählt (Greedy Algorithmus): verwende das Attribut, das am meisten Information

Clustering

Alter der Fahrer

Schadens-höhe Outlier

Clusteranalyse(Bacher 1994)

• Zusammenfassung von Objekten in homogene Gruppen (Cluster, Klassen)

• Ziel dabei ist eine möglichst große• Homogenität innerhalb der Cluster• Heterogenität zwischen den Clustern

Clusteranalyse• geg. Menge von Objekten kann sich für Clusterbildung eignen,muss aber nicht:

Clusteranalyse• geg. Menge von Objekten kann sich für Clusterbildung eignen,muss aber nicht:

Page 14: Klassifikations/Entscheidungsbaumstaab/lehre/ws0506/db1/Kapitel19data... · vielversprechendste Attribut ausgewählt (Greedy Algorithmus): verwende das Attribut, das am meisten Information

Clusteranalyse• geg. Menge von Objekten kann sich für Clusterbildung eignen,muss aber nicht:

Clusteranalyse• geg. Menge von Objekten kann sich für Clusterbildung eignen,muss aber nicht:

Clusteranalyse• Clusteranalyseverfahren unterscheiden sich u.a.

• in den Zuordnungsprinzipien• exakte Zuordnung• probabilistische Zuordnung• possibilistische Zuordnung

• in den benutzten Informationen• partielle Verfahren

paarweiser Vergleich• globale Verfahren

Distanz aller Objekte wird für Clusterbildung genutzt.

• in der Vorgehensweise• hierarchisch• partitionierend• heuristisch• objective function based• begrifflich

Clusteranalyse• Zuordnungsprinzipien

• exakte Zuordnung• Objekte werden mit Wahrscheinlichkeit 1 einem Cluster

(nicht-überlappende Zuordnung) oder mehreren Clustern(überlappende Zuordnung) zugeordnet.

• probabilistische Zuordnung• Objekte werden mit einer zwischen 0 und 1 liegenden Wahrscheinlichkeit

einem oder mehrern Clustern zugeordnet• Verallgemeinerung der deterministischen Verfahren

• possibilistische Zuordnung• Objekte werden über eine Zugehörigkeitsfunktion, die Werte zwischen

0 und 1 annehmen kann, jedem Cluster zu einem bestimmten Zugehörigkeitsgrad zugeordnet.

Page 15: Klassifikations/Entscheidungsbaumstaab/lehre/ws0506/db1/Kapitel19data... · vielversprechendste Attribut ausgewählt (Greedy Algorithmus): verwende das Attribut, das am meisten Information

ClusteranalyseVorgehensweise

• legt fest, nach welcher Vorgehensweise ein Cluster erzeugt wird.

• Partitionierende Verfahren• zufällig gewählte Anfangspartition (Menge nicht-überlappender Cluster)

der zu clusternden Objekte wird schrittweise verbessert durchNeuzuordnung der Objekte in den Clustern

• im folgenden betrachtet:• K-Means Verfahren

• heuristische Vorgehensweise• Dimensionalität der zu clusternden Objekte wird reduziert, um eine auf zwei

bis drei Dimensionen reduzierte graphische Darstellung zu erreichen

• objective function based• kein prozedurales Vorgehen wie bei hierarchischen Verfahren• Basis bildet die Objektfunktion, die jedem Cluster einen

Qualitätswert zuordnet

Clusteranalyse• hierarchische Verfahren

hierarchische Verfahren werden unterschieden in

• agglomerative VerfahrenCluster werden bottom-up erzeugt, ausgehend voneinelementigen Clustern, den zu clusternden Objekten

• divisive VerfahrenCluster werden top-down erzeugt, ausgehend voneinem Cluster, das alle zu clusternden Objekte enthält

divisive Verfahren waren in der Vergangenheit eher weniger bedeutend, gewinnen aber gerade für das Clustering von Dokumenten an Bedeutung

ClusteranalyseHierarchisch agglomerativer Algorithmus

• bei n geg. Objekten werden (n-1) überlappungsfreieClusterlösungen berechnet

• Algorithmus kann mit verschiedenen Ähnlichkeitsmaßenbzw. Unähnlichkeitsmaßen arbeiten, u.a.

• Complete Linkage• Single Linkage

Clusteranalyse• Complete Linkage

• Unähnlichkeit zwischen zwei Clustern wird durchdas Maximum der paarweisen Unähnlichkeiten derClusterelemente bestimmt:

• für c1, c2 Cluster, d Abstandsmaß:),(max),(

21 ,21 yxdccDcycx ∈∈

=

• hohe Anforderungen an die Homogenität der zu bildenen Cluster

Page 16: Klassifikations/Entscheidungsbaumstaab/lehre/ws0506/db1/Kapitel19data... · vielversprechendste Attribut ausgewählt (Greedy Algorithmus): verwende das Attribut, das am meisten Information

Feature Based Similarity Simple Similarity QueriesSpecify query object and

Find similar objects – range queryFind the k most similar objects – nearest neighbor q.

Join Applications: Catalogue MatchingCatalogue matching

E.g. Astronomic catalogues

R

S

Join Applications: Clustering

Clustering (e.g. DBSCAN)

Similarity self-join

Page 17: Klassifikations/Entscheidungsbaumstaab/lehre/ws0506/db1/Kapitel19data... · vielversprechendste Attribut ausgewählt (Greedy Algorithmus): verwende das Attribut, das am meisten Information

R-tree Spatial Join (RSJ)

procedure r_tree_sim_join (R, S, ε)if IsDirpg (R) ∧ IsDirpg (S) then

foreach r ∈ R.children doforeach s ∈ S.children do

if mindist (r,s) ≤ ε thenCacheLoad(r); CacheLoad(s);r_tree_sim_join (r,s,ε) ;

else (* assume R,S both DataPg *)foreach p ∈ R.points do

foreach q ∈ S.points doif |p − q| ≤ ε then report (p,q);

ε

R S

Clusteranalyse• Single Linkage

• Unähnlichkeit zwischen zwei Clustern wird durchdas Minimum der paarweisen Unähnlichkeiten derClusterelemente bestimmt:

• für c1, c2 Cluster, d Abstandsmaß:

),(min),(21 ,21 yxdccD

cycx ∈∈=

• geringe Anforderungen an die Homogenität der zu bildenen Cluster

Clusteranalyse• Algorithmus (hierarchisch agglomerativ)

Schritt 1: Jedes Klassifikationsobjekt bildet zu Beginn ein selbständiges Cluster.Setze daher die Clusterzahl K gleich der Klassifikationsobjektzahl n.

Schritt 2: Suche das Clusterpaar ({p},{q}) mit der größten Ähnlichkeit bzw. der geringsten Unähnlichkeit, verschmelze das Clusterpaar zu einem neuen Cluster {p,q} und reduziere die Clusterzahl K um 1 (K=K-1).

Schritt 3: Prüfe, ob K gleich 1 ist. Ist das der Fall, beende den Algorithmus, da alle Klassifikationsobjekte einem einzigen Cluster angehören. Bei nein fahre mit Schritt 4 fort.

Schritt 4: Berechne die Ähnlichkeiten bzw. Unähnlichkeiten des neu gebildeten Clusters {p,q} zu den verbleibenden Clustern k.

Schritt 5: Gehe zu Schritt 2.

ClusteranalyseBeispiel (Bacher 1994): geg. Datenmatrix mit 9 Objekten und 2 Variablen

A B C D E F G H I02 0

10 16 08 10 2 0

13 13 5 1 017 9 25 13 10 026 16 32 18 13 1 037 25 41 25 18 4 1 040 26 50 32 25 5 2 1 0

Matrix der quadrierten euklidischen DistanzenX1 X2

A -2 1B -1 2C -1 -2D 0 -1E 1 -1F 2 2G 3 2H 4 2I 4 3

Datenmatrix

AB

CD

F

E

GIH

x1

x2

Page 18: Klassifikations/Entscheidungsbaumstaab/lehre/ws0506/db1/Kapitel19data... · vielversprechendste Attribut ausgewählt (Greedy Algorithmus): verwende das Attribut, das am meisten Information

ClusteranalyseK-Means Verfahren

• K-Means ist ein partitionierendes, globales Verfahren mit exakter Zuordnung, das Clusterzentren zur Clusterbildung verwendet

• Grundidee:• Annahme: Objekte g durch numerische Variablen j charakterisiert,

d.h. jedes Objekt ist ein Punkt im Rm

• berechne die Clusterzentren für K Cluster derart, dass Streuungsquadratsumme in den Clustern ein Minimum ist.

• sei K = Anzahl der zu bildenden Cluster (k = 1, ... , K)m = Anzahl der Variablen (j = 1, ... , m)

= Wert der Variablen j für Objekt g= Clusterzentrum für Variable j im Cluster k

damit: ( ) ∑∑∑∈

→−=k kg j

kjgjin xxKSQ (*)min)( 2

gjxkjx

Clusteranalyse• da für die quadrierte euklidische Distanz zwischen Objekt g und

Clusterzentrum k gilt, dass

kann Minimierungsaufgabe (*) spezifiziert werden als

• da die Gesamtstreuungsquadratsumme für einegeg. Objektmenge konstant ist, ergibt sich mit

: Streuungsquadratsumme in den Clustern: Streuungsquadratsumme zwischen den Clustern

• Minimierung von ist gleichbedeutend zur Maximierung von

∑ −=j

kjgjkg xxd ,)( 22,

min)( 2, →=∑∑

∈k kgkgin dKSQ

gesSQ

)(KSQin)(KSQzw

)()( KSQSQKSQ ingeszw −=

)(KSQin)(KSQzw

)()( KSQSQKSQ ingeszw −=

)()( KSQKSQSQ inzwges +=

∑∑=g j

gjges xSQ 2

Ohne Einschränkung der Allgemeinheit:

Annahme, dass Daten um (0,...0) zentriert sind

( ) ∑∑∑∈

−=k kg j

kjgjin xxKSQ 2)(

( ) ∑∑∑∑ ==∈ k

kk kg j

kjzw xkxKSQ || 22

Kapitel VII.1 Clusteranalyse Clusteranalyse• K-Means Alogrithmus:

(1) Lege Clusteranzahl K fest(2) Wahl von Startwerten für die Clusterzentren,

z.B. zufällig gewählte Werte(3) Zuordnung der Objekte zu den Clusterzentren:

• jedes Objekt g wird jenem Clusterzentrum kzugeordnet, zu dem die quadrierte euklidische Distanz minimal ist.

• damit: wird minimiert,

in dem in jedem Schritt

berechnet wird.

∑∑∈

=k kg

kgin dKSQ 2,)(

)(dkkg kg,,...,Kk

2min1

′=′

=⇔∈

∑= ′=′g

kgKk

in dKSQ 2,

,...,1min)(

Page 19: Klassifikations/Entscheidungsbaumstaab/lehre/ws0506/db1/Kapitel19data... · vielversprechendste Attribut ausgewählt (Greedy Algorithmus): verwende das Attribut, das am meisten Information

Clusteranalyse(4) Neuberechnung der Clusterzentren:

• nach der Zuordnung aller Objekte zu denK Clustern werden die Clusterzentren neu berechnet:

• sei nkj = Zahl der Objekte des Clusters k mit gültigem Angaben in der Variablen j

damit:

• ist Mittelwert für Variable j über alle Objekte g inCluster k

(5) Iteration:• sofern sich im Schritt (3) die Zuordnung der Objekte geändert hat, wird bei Schritt (3) fortgefahren;andernfalls endet der Algorithmus

kjx

∑∈

=kg kj

gjkj n

xx

Clusteranalyse• Bemerkung:

• in jedem Iterationsschritt wird die Streuungsquadratsummein den Clustern kleiner oder bleibt gleich

• Algorithmus findet für ein lokales Minimum. D.h. das Ergebnis ist von den gewählten Startwerten abhängig!! D. h. diese sind geeignet auszuwählen und das Ergebnis ist ggf.hinterher kritisch zu hinterfragen.

• diese Variante des K-Means Algorithmus wurde 1965 von Forgyentwickelt und wird deshalb auch als Forgy Methode bezeichnet

• zu dieser Basis-Variante des Algorithmus existieren verschiedeneModifikationen

• in K-Means können auch andere Distanzmaße verwendet werden (damit ist auch Behandlung nicht-numerischer Variablen möglich, wenn für diese die Durchschnittsbildung Bedeutung trägt.)

• Algorithmus hat geringe Komplexität, da nicht alle |G|² Distanzen berücksichtigt werden müssen. O(Kn) mit n Anzahl der Datenpunkte

)(KSQin

)(KSQin

ClusteranalyseBeispiel (Bacher 1994)

• geg. Datamatrix mit 9 Objekten und 2 Variablen:

• Bildung von 3 Clustern (K = 3)

X1 X2 A B C D E F G H IA -2 1 0B -1 2 2 0C -1 -2 10 16 0D 0 -1 8 10 2 0E 1 -1 13 13 5 1 0F 2 2 17 9 25 13 10 0G 3 2 26 16 32 18 13 1 0H 4 2 37 25 41 25 18 4 1 0I 4 3 40 26 50 32 25 5 2 1 0

Datenmatrix Matrix der quadrierten euklidischen Distanzen

Clusteranalyse• Anwendung des K-Means Algorithmus auf geg. Objekte

C1 C2 C3 C1 C2 C3 C1 C2 C3X1 -2,00 -1,00 -1,00 -2,00 2,40 0,00 -1,50 3,25 0,00X2 1,00 2,00 -2,00 1,00 2,20 -1,33 1,50 2,25 -1,33

X1 X2 Zuord. Zuord. Zuord.A -2 1 0,00 2,00 10,00 C1* 0,00 20,80 9,43 C1 0,50 29,13 9,43 C1B -1 2 2,00 0,00 16,00 C2* 2,00 11,60 12,09 C1* 0,50 18,13 12,09 C1C -1 -2 10,00 16,00 0,00 C3* 10,00 29,20 1,45 C3 12,50 36,13 1,45 C3D 0 -1 8,00 10,00 2,00 C3* 8,00 16,00 0,11 C3 8,50 21,13 0,11 C3E 1 -1 13,00 13,00 5,00 C3* 13,00 12,20 1,11 C3 12,50 15,63 1,11 C3F 2 2 17,00 9,00 25,00 C2* 17,00 0,20 15,09 C2 12,50 1,63 15,09 C2G 3 2 26,00 16,00 32,00 C2* 26,00 0,40 20,09 C2 20,50 0,13 20,09 C2H 4 2 37,00 25,00 41,00 C2* 37,00 2,60 27,09 C2 30,50 0,63 27,09 C2I 4 3 40,00 26,00 50,00 C2* 40,00 3,20 34,75 C2 32,50 1,13 34,75 C2

C1 C2 C3 C1 C2 C3 C1 C2 C3-2,00 2,40 0,00 -1,50 3,25 0,00 -1,50 3,25 0,001,00 2,20 -1,33 1,50 2,25 -1,33 1,50 2,25 -1,33

Zahl der Vertauschungen = 1

3. IterationClusterzentren

(Startwerte)

neue Clusterzentren

Zahl der Vertauschungen = 0

2. IterationClusterzentren

(Startwerte)

neue Clusterzentren

Clusterzentren(Startwerte)

1. Iteration

Zahl der Vertauschungen = 9

neue Clusterzentren

(Bacher 1994)

Page 20: Klassifikations/Entscheidungsbaumstaab/lehre/ws0506/db1/Kapitel19data... · vielversprechendste Attribut ausgewählt (Greedy Algorithmus): verwende das Attribut, das am meisten Information

Clusteranalyse• Erläuterungen:

• die Objekte A, B, C werden als Startwerte für Clusterzentren der Cluster C1, C2, C3 gewählt

• die restlichen Objekte werden jenem Cluster zugeordnet, zu dem es die kleinste quadrierte euklidische Distanz besitzt (fettgedruckte Werte)

• das neue Clusterzentrum für C2 ergibt sich in der 1. Iteration (C2 besteht aus den Objekten B, F, G, H, I):

• in der 2. Iteration wird das Objekt B einem neuen Cluster zugeordnet: C1

• in der 3. Iteration tritt keine Veränderung der Zuordnung mehr auf, Algorithmus stoppt

40.25/)44321(21 =++++−=x20.25/)32222(22 =++++=x