Download materiale

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Business Intelligence
Alberi decisionali
© Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
‹n.›
Examples of Classification Task
● Predicting tumor
cells as benign or malignant
● Classifying credit
card transactions
as legitimate or fraudulent
● Classifying secondary structures of
protein
as alpha-helix, beta-sheet, or random
coil
● Categorizing
news stories as finance,
weather, entertainment, sports, etc
© Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
‹n.›
Classification Techniques
● Decision
Tree based Methods
● Rule-based Methods
● Memory based reasoning
● Neural Networks
● Naïve Bayes and Bayesian Belief Networks
● Support Vector Machines
© Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
‹n.›
Alberi Decisionali
L’Albero Decisionale è una tecnica di classificazione o di
regressione ad albero.
● Tecnica di data mining prescrittivo (cluster: descrittivo,
impossibile uso automatico dei risultato)
● Tecnica di classificazione a priori
(-) descrive bene i casi per cui è costruito, difficile
generalizzare (problema overfitting)
(+) semplice interpretazione dei risultati
© Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
‹n.›
Alberi Decisionali
●
Nodi (escluse le foglie): domande (decisioni da prendere)
Foglie: decisioni
Rami: valori degli attributi
Cammino: regola
●
Albero: È una sequenza di regole, di condizioni:
●
●
●
Se .. à allora.. Se età > 18 allora decisione: si
© Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
‹n.›
Alberi Decisionali
●
●
Quando l’albero viene applicato ai dati di ingresso, ogni
dato viene analizzato dall’albero lungo un percorso
stabilito da una serie di test sugli attributi (features) del
dato stesso, finchè il dato non raggiunge un nodo foglia
Ogni nodo è associato ad una classe. Quando arriva alla
foglia, al dato viene assegnata:
– una etichetta di classe (class label) nel caso di
alberi di classificazione,
– un valore numerico alla sua variabile target
nel caso di alberi di regressione
© Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
‹n.›
Alberi di classificazione
●
Dato un’insieme di classi con descrizione di un insieme di
feature
Dato un oggetto stabilire a che classe appartiene
C1 ruote=4, motore=si classificazione=auto
C2 ruote=2, motore= si classificazione=moto
C3 ruote=2, motore= no classificazione=bici
●
No. di ruote
2
4
motore
si
auto
no
moto
bici
7
●
Esempio [Russel, Norvig]: entrare in un ristorante?
no. clienti
nessuno
no
alcuni
si
stima attesa
>60
30-60
no
prenotazione
si
fame
no
si
no
si
Ven/Sab
0-10
10-30
alternative
no
no
pieno
si
si
alternative
no
si
si
piove
Bar
no
no
si
no
si
si
no
no
si
si
si
si
si e no sono le due classi di decisione
8
© Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
‹n.›
●
Apprendimento: costruire l’albero a partire da esempi
– esempi di decisioni
usi/no nel
caso di decisioni binarie
– esempi delle varie classi corrispondenti alle fogli:
Es.
x1
x2
x3
x4
x5
x6
x7
x8
x9
x10
x11
x12
alt.
si
si
no
si
si
no
no
no
no
si
no
si
bar
no
no
si
no
no
si
si
no
si
si
no
si
9
© Tan,Steinbach, Kumar
V/S
no
no
no
si
si
no
no
no
si
si
no
si
fame
si
si
no
si
no
si
no
si
no
si
no
si
attributi
noC
prez
alc
£££
pieno
£
alc
£
pieno
£
pieno £££
alc
££
ness
£
alc
££
pieno
£
pieno £££
ness
£
pieno
£
Dec
piov
no
no
no
no
no
si
si
si
si
no
no
no
pren
si
no
no
no
si
si
no
si
no
si
no
no
tipo
F
Thai
hamb
Thai
F
I
hamb
Thai
hamb
I
Thai
hamb
Introduction to Data Mining
att
0-10
30-60
0-10
10-30
>60
0-10
0-10
0-10
>60
10-30
0-10
30-60
4/18/2004
●
Una soluzione banale
– costruire un ramo per ognuno degli esempi
●
Obiettivo
Si
No
Si
Si
No
Si
No
Si
No
No
No
Si
‹n.›
– costruire un albero “semplice”
– Occam’s razor: il più semplice tra quelli
consistenti con gli esempi
10
© Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
‹n.›
Decision Tree Induction
● Many
–
–
–
–
Algorithms:
Hunt’s Algorithm
CART
ID3, C4.5
SLIQ,SPRINT
© Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
‹n.›
Algoritmo ID3[Quinlan]
if non ci sono esempi then termina
if tutti gli esempi hanno la stessa classificazione
then etichetta il nodo con la classificazione
else if nessun attrubuto rimasto then termina
seleziona attributo ai che discrimina meglio
dividi gli esempi in base ai valori di ai
costruisci un nodo etichettato con ai e con un ramo
in uscita per ogni valore vj di ai
richiama ricorsivamente per ogni vj con gli esempi
12
© Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
‹n.›
●
Attributo ideale ai da selezionare ad ogni passo
– discrimina completamente tra gli esempi, ossia
udati
valori v1, …, vk
uper
ogni vj, tutti gli esempi con lo stesso valore vj
hanno la stessa classificazione
13
© Tan,Steinbach, Kumar
●
Introduction to Data Mining
4/18/2004
‹n.›
Esempio
– attributo noClienti: per due valori discrimina completamente
nessuno
noClienti
si: --no: x7, x11
–
si: x3, x12
no: x7, x19
14
si: x4, x12
no: x2, x5, x9, x10
si: x1, x3, x6, x8
no: ---
attributo tipo: discrimina male per tutti i valori
burg
–
–
alcuni
pieno
tipo
I
si: x6
no: x10
Thai
F
si: x1
no: x5
si: x4, x8
no: x2, x11
Tra i due noClienti è la scelta migliore
in generale tra tutti è quello con entropia più bassa
© Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
‹n.›
– Algoritmo procede ricorsivamente considerando il valore “pieno” di
noClienti e considerando gli esempi per quel valore
usi
analizzano gli altri attributi
usi
seleziona quello che discrimina meglio
nel caso “fame”: per uno dei due valori si ha classificazione
completa
noClienti
nessuno
alcuni
pieno
si: --no: x7, x11
si: x1, x3, x6, x8
no: ---
si: x4, x12
no: x2, x5, x9, x10
fame
si
no
si: x4, x12
no: x2, x10
–
si: --no: x5, x9
Analogamente si procede ricorsivamente su ramo “si”
15
© Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
‹n.›
– Alla fine albero risultante (diverso da quello visto prima)
noClienti
nessuno
alcuni
pieno
si: --no: x7, x11
no
si
fame
si
no
si: x4, x12
no: x2, x10
burg
si: x12
no: --si
si: x1, x3, x6, x8
no: ---
si: x4, x12
no: x2, x5, x9, x10
si: --no: x5, x19
tipo
I
Thai
F
si: --no: x10
no
si: x4
no: x2
si: --no:--si
Ven/Sab
si
si: x4
no: ---
16
© Tan,Steinbach, Kumar
si
no
Introduction to Data Mining
no
si: --no: x2
si
4/18/2004
‹n.›
How to determine the Best Split
Before Splitting: 10 records of class 0,
10 records of class 1
Own
Car?
Yes
Car
Type?
No
Family
Student
ID?
Luxury
c1
Sports
C0: 6
C1: 4
C0: 4
C1: 6
C0: 1
C1: 3
C0: 8
C1: 0
C0: 1
C1: 7
C0: 1
C1: 0
...
c10
c11
C0: 1
C1: 0
C0: 0
C1: 1
c20
...
C0: 0
C1: 1
Which test condition is the best?
© Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
‹n.›
How to determine the Best Split
● Greedy approach:
– Nodes with homogeneous class distribution
are preferred
● Need a measure of node impurity:
C0: 5
C1: 5
C0: 9
C1: 1
Non-homogeneous,
Homogeneous,
High degree of impurity
Low degree of impurity
© Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
‹n.›
Measures of Node Impurity
● Entropy
● Gini
Index
● Misclassification error
© Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
‹n.›
Measure of Impurity: GINI
●
Gini Index for a given node t :
GINI (t ) = 1 − ∑[ p( j | t )]2
j
(NOTE: p( j | t) is the relative frequency of class j at node t).
– Maximum (1 - 1/nc) when records are equally
distributed among all classes, implying least
interesting information
– Minimum (0.0) when all records belong to one class,
implying most interesting information
C1
C2
0
6
Gini=0.000
© Tan,Steinbach, Kumar
C1
C2
1
5
Gini=0.278
C1
C2
2
4
Gini=0.444
Introduction to Data Mining
C1
C2
3
3
Gini=0.500
4/18/2004
‹n.›
Splitting Criteria based on INFO
●
Entropy at a given node t:
Entropy(t ) = −∑ p( j | t ) log p( j | t )
j
(NOTE: p( j | t) is the relative frequency of class j at node t).
– Measures homogeneity of a node.
u Maximum
(log nc) when records are equally distributed
among all classes implying least information
u Minimum (0.0) when all records belong to one class,
implying most information
© Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
‹n.›
Classification task
●
Given a collection of records (training set )
– Each record contains a set of attributes, one of the
attributes is the class.
●
●
Find a model for class attribute as a function
of the values of other attributes.
Goal: previously unseen records should be
assigned a class as accurately as possible.
– A test set is used to determine the accuracy of the
model. Usually, the given data set is divided into
training and test sets, with training set used to build
the model and test set used to validate it.
© Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
‹n.›
Illustrating Classification Task
Tid
Attrib1
1
Yes
Large
Attrib2
125K
Attrib3
No
2
No
Medium
100K
No
3
No
Small
70K
No
4
Yes
Medium
120K
No
5
No
Large
95K
Yes
6
No
Medium
60K
No
7
Yes
Large
220K
No
8
No
Small
85K
Yes
9
No
Medium
75K
No
10
No
Small
90K
Yes
Learning
algorithm
Class
Induction
Learn
Model
Model
10
Training Set
Tid
Attrib1
11
No
Small
Attrib2
55K
Attrib3
?
12
Yes
Medium
80K
?
13
Yes
Large
110K
?
14
No
Small
95K
?
15
No
Large
67K
?
Apply
Model
Class
Deduction
10
Test Set
© Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
‹n.›
Example of a Decision Tree
Tid Refund Marital
Status
Taxable
Income Cheat
1
Yes
Single
125K
No
2
No
Married
100K
No
3
No
Single
70K
No
4
Yes
Married
120K
No
5
No
Divorced 95K
Yes
6
No
Married
No
7
Yes
Divorced 220K
No
8
No
Single
85K
Yes
9
No
Married
75K
No
10
No
Single
90K
Yes
60K
Splitting Attributes
Refund
Yes
No
NO
MarSt
Single, Divorced
TaxInc
< 80K
NO
Married
NO
³80K
YES
10
Model: Decision Tree
Training Data
© Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
‹n.›
Another Example of Decision Tree
Tid Refund Marital
Status
Taxable
Income Cheat
1
Yes
Single
125K
No
2
No
Married
100K
No
3
No
Single
70K
No
4
Yes
Married
120K
No
5
No
Divorced 95K
Yes
6
No
Married
No
7
Yes
Divorced 220K
No
8
No
Single
85K
Yes
9
No
Married
75K
No
10
No
Single
90K
Yes
60K
MarSt
Married
NO
Single,
Divorced
Refund
No
Yes
NO
TaxInc
< 80K
³80K
YES
NO
There could be more than one tree that
fits the same data!
10
© Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
‹n.›
Decision Tree Classification Task
Tid
Attrib1
Attrib2
Attrib3
1
Yes
Large
125K
No
2
No
Medium
100K
No
3
No
Small
70K
No
4
Yes
Medium
120K
No
5
No
Large
95K
Yes
6
No
Medium
60K
No
7
Yes
Large
220K
No
8
No
Small
85K
Yes
9
No
Medium
75K
No
10
No
Small
90K
Yes
Tree
Induction
algorithm
Class
Induction
Learn
Model
Model
10
Training Set
Tid
Attrib1
11
No
Small
Attrib2
55K
Attrib3
?
12
Yes
Medium
80K
?
13
Yes
Large
110K
?
Apply
Model
Class
14
No
Small
95K
?
15
No
Large
67K
?
Decision
Tree
Deduction
10
Test Set
© Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
‹n.›
Apply Model to Test Data
Test Data
Start from the root of tree.
Refund
Yes
Refund Marital
Status
Taxable
Income Cheat
No
80K
Married
?
10
No
NO
MarSt
Single, Divorced
TaxInc
< 80K
Married
NO
> 80K
YES
NO
© Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
‹n.›
Apply Model to Test Data
Test Data
Refund
Yes
Refund Marital
Status
Taxable
Income Cheat
No
80K
Married
?
10
No
NO
MarSt
Single, Divorced
TaxInc
< 80K
NO
© Tan,Steinbach, Kumar
Married
NO
> 80K
YES
Introduction to Data Mining
4/18/2004
‹n.›
Apply Model to Test Data
Test Data
Refund
Yes
Refund Marital
Status
Taxable
Income Cheat
No
80K
Married
?
10
No
NO
MarSt
Single, Divorced
TaxInc
< 80K
Married
NO
> 80K
YES
NO
© Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
‹n.›
Apply Model to Test Data
Test Data
Refund
Yes
Refund Marital
Status
Taxable
Income Cheat
No
80K
Married
?
10
No
NO
MarSt
Single, Divorced
TaxInc
< 80K
NO
© Tan,Steinbach, Kumar
Married
NO
> 80K
YES
Introduction to Data Mining
4/18/2004
‹n.›
Apply Model to Test Data
Test Data
Refund
Yes
Refund Marital
Status
Taxable
Income Cheat
No
80K
Married
?
10
No
NO
MarSt
Single, Divorced
TaxInc
< 80K
Married
NO
> 80K
YES
NO
© Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
‹n.›
Apply Model to Test Data
Test Data
Refund
Yes
Refund Marital
Status
Taxable
Income Cheat
No
80K
Married
?
10
No
NO
MarSt
Single, Divorced
TaxInc
< 80K
NO
© Tan,Steinbach, Kumar
Married
Assign Cheat to “No”
NO
> 80K
YES
Introduction to Data Mining
4/18/2004
‹n.›
Decision Tree Classification Task
Tid
Attrib1
Attrib2
Attrib3
1
Yes
Large
125K
No
2
No
Medium
100K
No
3
No
Small
70K
No
4
Yes
Medium
120K
No
5
No
Large
95K
Yes
6
No
Medium
60K
No
7
Yes
Large
220K
No
Tree
Induction
algorithm
Class
8
No
Small
85K
Yes
9
No
Medium
75K
No
10
No
Small
90K
Yes
Induction
Learn
Model
Model
10
Training Set
Tid
Attrib1
11
No
Small
Attrib2
55K
Attrib3
?
12
Yes
Medium
80K
?
13
Yes
Large
110K
?
14
No
Small
95K
?
15
No
Large
67K
?
Apply
Model
Class
Decision
Tree
Deduction
10
Test Set
© Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
‹n.›
Decision Tree Based Classification
● Advantages:
–
–
–
–
Inexpensive to construct
Extremely fast at classifying unknown records
Easy to interpret for small-sized trees
Accuracy is comparable to other classification
techniques for many simple data sets
© Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
‹n.›
Valutazione delle prestazioni
●
Conoscenza appresa influenzata dagli esempi
– potrebbe classificare in modo sbagliato nuove
istanze
– esempi devono essere un buon campione della
popolazione
35
© Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
‹n.›
Alberi Decisionali
●
●
È importante sottolineare che in questo contesto è già
noto a priori il tipo di classificazione che si vuole
realizzare: si vuole classificare tra le classi predefinite dal
training set e dal test set.
Questo tipo di classificatori sono molto utili per
applicazioni tipo diagnosi di malattie, ma non permettono
di individuare cluster di record che definiscono una nuova
classe (ad es. una nuova malattia).
© Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
‹n.›
Alberi Decisionali
●
La parte più intensa, dal punto di vista computazionale, risulta la
generazione dell’albero, problema di trovare il più piccolo albero
decisionale.
●
Fortunatamente, con delle semplici euristiche si riescono a trovare
alberi di decisione capaci di descrivere un gran numero di casi in
maniera concisa.
L’idea fondamentale alla base di questi algoritmi consiste nel cercare
di verificare per primi gli attributi più importanti (attributi
discriminativo).
Per più “importanti” si intende quelli che fanno più differenza nella
classificazione dei dati (la quale differenza viene misurata, con
opportuni indici detti indici di diversità come entropia). In questo modo
possiamo sperare di arrivare alla classificazione corretta con un
piccolo numero di test.
●
●
© Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
‹n.›
I decision tree sono relativamente veloci, confrontati con
altri metodi di classificazione e regressione, e sono di
semplice interpretazione.
Questa proprietà ne indica il campo di applicazione nel Data
Mining: vengono impiegati quando lo scopo che ci si
prefigge è la generazione di regole (di classificazione o
regressione) chiare e semplici.
© Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
‹n.›
Bibliography
●
●
●
●
●
●
●
●
Survey: W. Buntine. Learning classification trees. In Artificial
Intelligence Frontiers in Statistics. Chapman & Hall, 1993.
CART: L. Breiman, J.H. Friedman, R. Olshen, C.J. Stone.
Classification and regression trees. Chapman & Hall, 1984.
ID3: J.R.Quinlan. Discovering rules by induction from large collection
of examples. In Expert Systems in the Micro Electronic Age. 1979.
C. Schaffer. Overfitting avoidance as bias. Machine Learning, #10.
1993.
R.Kohavi. A study on cross-validation and boostrap for accuracy
estimation and model selection. In Proc. IJCAI, 1995.
M.Mehta, R.Agrawal, J. Rissanen. SLIQ: A fast scalable classifier for
data mining. In Proc. EDBT, 1996.
H.Wang, C.Zaniolo. CMP: A fast decision tree classifier using
multivariate predictions. In Proc. ICDE, 2000.
J. Gehrke, R.Ramakrishnan, V.Ganti. RainForest: A framework for
fast decision tree construction of large datasets. DAMI (4-2/3), 2000.
© Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
‹n.›