Sei sulla pagina 1di 30

Comparazione sistemi di apprendimento

Michele Filannino

21 Febbraio 2010
Indice

1 Introduzione 2
1.1 Sistemi di apprendimento . . . . . . . . . . . . . . . . . . . . . . 2
1.1.1 C4.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1.2 ITI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Data set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.1 Car Evaluation Data Set . . . . . . . . . . . . . . . . . . . 4
1.2.2 Tic-Tac-Toe Endgame Data Set . . . . . . . . . . . . . . . 5

2 Elaborazione dei data set 6


2.1 Manipolazione dei data set . . . . . . . . . . . . . . . . . . . . . 6
2.2 K-fold Cross Validation . . . . . . . . . . . . . . . . . . . . . . . 6
2.3 Esecuzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

3 Analisi ed interpretazione dei dati 8


3.1 Car Evaluation Data Set . . . . . . . . . . . . . . . . . . . . . . . 8
3.1.1 C4.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.1.1.1 Risultati in output . . . . . . . . . . . . . . . . . 10
3.1.1.2 Tabella riepilogativa . . . . . . . . . . . . . . . . 12
3.1.2 ITI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.1.2.1 Risultati in output . . . . . . . . . . . . . . . . . 13
3.1.2.2 Tabella riepilogativa . . . . . . . . . . . . . . . . 15
3.1.3 Test delle ipotesi . . . . . . . . . . . . . . . . . . . . . . . 15
3.2 Tic-Tac-Toe Endgame Data Set . . . . . . . . . . . . . . . . . . . 17
3.2.1 C4.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2.1.1 Risultati in output . . . . . . . . . . . . . . . . . 19
3.2.1.2 Tabella riepilogativa . . . . . . . . . . . . . . . . 20
3.2.2 ITI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2.2.1 Risultati in output . . . . . . . . . . . . . . . . . 21
3.2.2.2 Tabella riepilogativa . . . . . . . . . . . . . . . . 23
3.2.3 Test delle ipotesi . . . . . . . . . . . . . . . . . . . . . . . 24

4 Conclusioni 27

A Allegati 28

1
Capitolo 1

Introduzione

Il presente documento ha lo scopo di illustrare il processo mediante il quale è


stata condotta l’analisi e la comparazione di due sistemi di apprendimento.
In questa relazione si documenteranno le caratteristiche di ciascun sistema,
le caratteristiche di ciascun data set ed il metodo con il quale saranno condotte
le elaborazioni dei singoli data set su ciascun sistema.
In fine, saranno presentati i risultati di tutte le singole elaborazioni per cia-
scun data set su ciascun sistema di apprendimento ed, per ognuno, sarà condotto
il test delle ipotesi in modo da verificare l’esistenza di differenze statisticamente
rilevanti in termini di qualità dei risultati di classificazione.

1.1 Sistemi di apprendimento


Come già detto, i sistemi presi in esame generano degli alberi di decisione
partendo da un insieme di esempi forniti in input.
Un albero di decisione, più formalmente, è una struttura ad albero nella quale
i nodi foglia rappresentano le classi, e le ramificazioni rappresentano l’insieme
delle proprietà che portano alle rispettive classificazioni. Conseguentemente,
ogni nodo interno risulta essere una macro-classe costituita dall’unione delle
classi associate ai suoi nodi figli.
Il predicato che si associa ad ogni nodo interno, sulla base del quale avviene
la ripartizione dei dati, è chiamato condizione di split.
In altri termini l’albero di decisione è una disgiunzione di congiunzioni
di vincoli espressi sulle singole istanze (generalmente rappresentate da coppie
attributo-valore).
I due sistemi scelti per questa comparazione, oltre che condividere il fine
(generazione di alberi di decisione), condividono lo stesso formato dei dati in
input. Questa caratteristica ha evitato la creazione di apposite routine per la
manipolazione strutturale dei dati, o in taluni casi la riscrittura manuale di
alcune porzioni di essi.

2
CAPITOLO 1. INTRODUZIONE 3

1.1.1 C4.5
C4.5 [1] è un algoritmo creato da Ross Quinlan come estensione del suo prece-
dente algoritmo ID3 [2].
Gli alberi di decisione generati da C4.5 possono essere utilizzati per la clas-
sificazione, e per questa ragione tale algoritmo viene spesso utilizzato come
classificatore statistico.
C4.5 costruisce gli alberi di decisione da istanze di un set di training nello
stesso modo di ID3, utilizzando il concetto di entropia dell’informazione. I
dati di training sono un insieme S = s1, s2, ... di istanze pre-classificate. Ogni
istanza si = x1 , x2 , ... è un vettore dove le x rappresentano gli attributi o le
caratteristiche di ogni singola istanza.
Oltre ai dati di training è necessario disporre di un vettore C = c1 , c2 , ...
dove c1 , c2 , ... rappresentano le classi all’interno delle quali possono ricadere le
istanze. La particolarità di C4.5 è la capacità di trattare istanze con valori non
disponibili e valori continui per gli attributi.
Oltre a ciò esso fornisce la possibilità di alleggerire l’albero di decisione
utilizzando una serie di strumenti probabilistici e consente anche di derivare
direttamente regole di decisione.

1.1.2 ITI
E’ uno strumento capace di indurre incrementalmente alberi di decisione a par-
tire da un set di istanze pre-classificate. L’incrementalità è una caratteristica
particolarmente apprezzata di questo tool, poiché consente di modificare oppor-
tunamente alberi di decisione precedentemente calcolati, senza ricostruirli da
zero.
ITI, come C4.5, gestisce valori simbolici, valori mancanti ed include anche
un meccanismo di pruning, in vero meno raffinato di quello di C4.5.
In virtù della caratteristica di incrementalità esso può costruire alberi sia in
modalità batch che in modalità incrementale. All’arrivo di una nuova istanza
opera delle manipolazioni strutturali all’albero di decisione, riadattandolo. Il
risultato delle due modalità (batch ed incrementale) è uguale.

1.2 Data set


I data set sui quali saranno testati i due algoritmi di apprendimento sono: Car
Evaluation Data Set e Tic-Tac-Toe Endgame Data Set. Entrambi i data set
sono liberamente utilizzabili e scaricabili attraverso il UCI Machine Learning
Repository [4] che mette a disposizione diversi data set utili ai task di machine
learning.
Le possibilità di scelta dei data set offerte dal repository online sono molto
grandi. Tuttavia, molti dei data set disponibili riguardavano domini personal-
mente molto poco noti, questi sono stati scartati per evitare errori di valutazione,
prima ancora che di comprensione. Altri data set sono stati scartati per via del
formato di memorizzazione: Covertype Data Set o Statlog (Shuttle) Data Set,
CAPITOLO 1. INTRODUZIONE 4

per esempio, richiedevano diversi interventi di trasformazione (specialmente il


secondo). Infine, altri data set sono stati scartati per via della loro altissima
numerosità di istanze: Poker Hand Data Set (conta 4 milioni di istanze).
I data set scelti sono stati selezionati in virtù delle loro caratteristiche simili.
I due scelti, presentano un numero simile di attributi (minore di 10) ed un
dominio dei singoli attributi uguale: categorico.
Vi sono delle differenze in termini di numerosità dei campioni (il primo ha
una numerosità doppia rispetto al secondo) ed in termini di numerosità delle
categorie predittive (il primo ne conta 4, il secondo soltanto 2).
Di seguito descriverò brevemente il dominio e le caratteristiche salienti dei
data set scelti.

1.2.1 Car Evaluation Data Set


Questo data set è stato reso disponibile nel 1997 ed è stato derivato da un
semplice modello di decisione gerarchico realizzato per una dimostrazione di
DEX. Il modello valutava le automobili in base ad alcune caratteristiche di
prezzo e di comfort. Il compito di DEX era quello di attribuire a ciascuna
automobile una categoria a scelta tra le seguenti:
1. inaccettabile (unacc);
2. accettabile (acc);

3. buona (good);
4. molto buona (vgood).
Car Evaluation Data Set è composto da 1728 istanze descritte da 6 attributi
tutti di tipo categorico:

1. costo d’acquisto (buying): molto alto (vhigh), alto (high), medio (med),
basso (low);
2. costo di manutenzione (maint): molto alto (vhigh), alto (high), medio
(med), basso (low);

3. numero di porte (doors): 2, 3, 4, 5 o più (5-more);


4. capacità in termini di persone trasportabili (persons): 2, 4, più (more);
5. dimensione del bagagliaio (lug_boot): piccolo (small), medio (med),
grande (big);

6. sicurezza del veicolo (safety): bassa (low), media (med), alta (high).
Il data set non contiene valori mancanti.
CAPITOLO 1. INTRODUZIONE 5

1.2.2 Tic-Tac-Toe Endgame Data Set


Il data set contiene tutte le possibili configurazioni della tavola da gioco prima
dell’ultima mossa, dove la prima si assume che sia stata operata dalla “x”.
Il concetto obiettivo è “vittoria di x” che è vero quando il simbolo x riesce a
realizzare una delle 8 configurazioni per creare un tris in linea.
Per tal ragione le categorie predittive sono solo due:
1. positiva (positive);

2. negativa (negative).
Tic-Tac-Toe Endgame Data Set è composto da 958 istanze descritte da 9 attri-
buti tutti di tipo categorico:
1. casella in alto a sinistra (top-left-square): x, o, b (blank);

2. casella in alto al centro (top-middle-square): x, o, b (blank);


3. casella in alto a destra (top-right-square): x, o, b (blank);
4. casella nel centro a sinistra (middle-left-square): x, o, b (blank);

5. casella nel centro al centro (middle-middle-square): x, o, b (blank);


6. casella nel centro a destra (middle-right-square): x, o, b (blank);
7. casella in basso a sinistra (bottom-left-square): x, o, b (blank);
8. casella in basso al centro (bottom-middle-square): x, o, b (blank);

9. casella in basso a destra (bottom-right-square): x, o, b (blank).


Il data set non contiene valori mancanti.
Capitolo 2

Elaborazione dei data set

In questa sezione si descriveranno le scelte operative che precedono l’esecuzione


concreta degli algoritmi di apprendimento sui data set scelti.
La prima operazione che si è resa necessaria per l’esecuzione è stata quella
di operare degli interventi di manipolazione dei data set (così come scaricati da
UCI Machine Learning Repository) al fine di renderli compatibili con il formato
di input previsto dai singoli sistemi di apprendimento presi in esame in questo
documento.
La fase di esecuzione è per sua natura influenzata dal tipo di tecnica statistica
utilizzata per rendere i risultati il più possibile generali: indipendenti dai data
set scelti per ogni singola esecuzione.

2.1 Manipolazione dei data set


I data set scelti non presentavano alcun problema di struttura nell’elaborazione
con C4.5. Al contrario per ITI, oltre che raccogliere i file in apposite cartelle, è
stato necessario procedere al cambio del valore di alcuni attributi.
Ciò si è reso indispensabile poiché quando ITI incontra un valore di attri-
buto che può sintatticamente essere associato ad un tipo numerico questo viene
interpretato come numero generando un errore qualora si trattasse del nome di
una categoria.
Più specificatamente, ad esempio, la categoria 2 di persons in Cars Eva-
luation Data Set restituisce un errore poiché viene interpretato come attributo
numerico e non categorico.
Al fine di superare questo problema, è stato necessario modificare l’intera
dichiarazione del file .data.

2.2 K-fold Cross Validation


I test statistici utilizzabili per il confronto di algoritmi di apprendimento super-
visionato sono diversi e tutti ascrivibili all’interno delle categoria della Cross-

6
CAPITOLO 2. ELABORAZIONE DEI DATA SET 7

validation analysis [5]:


• Repeated random sub-sampling validation (RRSSV): questo metodo pre-
vede la suddivisione arbitraria e ripetuta del data set completo in insieme
di test ed insieme di training. Il vantaggio di questo metodo sta nell’arbi-
trarietà della scelta di proporzione tra dimensione del set di training e di-
mensione del set di test, nonché nella possibilità di sovrapporre i differenti
test set;
• K-fold cross-validation: questo metodo prevede la suddivisione del data
set originale in k sotto-insiemi. Di questi k sotto-insiemi se ne sceglie uno
e lo si usa come training set, tutti gli altri si utilizzano come test set.
La procedura si ripete esattamente per k volte, cambiando ogni volta il
training set. In tal modo, al termine delle k iterate, tutti i k sotto-insiemi
saranno stati utilizzati come training-set una sola volta;
• Leave-one-out cross-validation (LOOCV): questo metodo è una variante
del K-fold cross-validation per il quale il valore di k è pari al numero
complessivo delle istanze presenti nel data set originale. In altri termini il
training set è sempre composto da una sola istanza e tale processo, con-
seguentemente, deve essere iterato per tante volte quante sono le istanze
complessive del data set originale.
Per questa sperimentazione si utilizzerà il metodo del K-fold cross validation.
Tale scelta è giustificata dal fatto che la LOOCV è troppo onerosa in termini
di costo computazionale oltre che costo uomo per l’esecuzione di tanti test quante
sono le istanze di ogni singolo data set (per ogni sistema di apprendimento).
La tecnica RRSSV non è stata presa in considerazione poiché non si è
ritenuta importante la possibilità di sovrapposizione dei test set.
Il fattore k è stato fissato a 10 per ottenere un discreto numero di risultati ed
al tempo stesso seguire la linea ampiente condivisa [6] nella comunità scientifica.

2.3 Esecuzione
Sia C4.5 che ITI utilizzano lo stesso tipo di file in ingresso. L’unica differenza
tra i due sistemi riguarda il percorso nel quale collocare i file: ITI ha bisogno di
un’apposita cartella inserita all’interno della directory data.
Entrambi i sistemi necessitano di 3 file:
[nome_file].names: contiene la descrizione formale circa gli attributi che
caratterizzano ogni istanza del data set;
[nome_file].data: contiene un elenco degli esempi di training;
[nome_file].test: contiene l’elenco degli esempi di test.
Capitolo 3

Analisi ed interpretazione dei


dati

In questa sezione saranno presentati i risultati relativi all’esecuzione di cia-


scun data set su entrambi i sistemi di apprendimento e si presenteranno le
interpretazioni di tali dati in funzione dei test statistici.
Il test statistico scelto per interpretare i dati è il Mann-Whitney-Wilcoxon
(MWW). Si tratta di un insieme di tecniche statistiche (parte della statistica
inferenziale) che permettono di confrontare due gruppi di dati riordinando i
ranghi interni.
L’ipotesi nulla solitamente prevede che i dati di tutti i gruppi abbiano la
stessa distribuzione stocastica e che le differenze osservate tra i gruppi siano
dovute solo al caso.
La scelta è ricaduta su tale tipo di test poiché l’obiettivo di questo studio è
proprio quello di capire se le differenze tra i due sistemi di apprendimento sono
statisticamente rilevanti o meno.
Il tool utilizzato per eseguire, da un punto di vista operativo i test, si chiama
R [7] ed è stato utilizzato per via del fatto che è open-source, multi-piattaforma
ed anche molto semplice [8]. Al fine di non commettere errori di valutazione,
ho validato ulteriormente i risultati di R con un tool disponibile gratuitamente
online presso il sito della University of Texas Southwestern Medical Center [8].

3.1 Car Evaluation Data Set


Car Evaluation Data Set contiene 1728 istanze suddivise in 10 fold ognuno dei
quali contiene 172 istanze (l’ultimo 180). Ogni fold è stato utilizzato come test
set e le restanti istanze hanno formato il training set.

8
CAPITOLO 3. ANALISI ED INTERPRETAZIONE DEI DATI 9

3.1.1 C4.5
Le informazioni raccolte in questa sezione rappresentano una sintesi rispetto a
quelle prodotte dall’esecuzione del sistema di apprendimento.
Le informazioni che si sono ritenute opportune per la valutazione della
qualità del sistema sono:
• numero di foglie dell’albero di decisione generato;
• percentuale di errore commesso nella classificazione delle istanze di test;
• accuratezza media di classificazione;
• tempo di esecuzione della costruzione dell’albero di decisione e del test.
Il tempo di esecuzione è stato calcolato grazie al comando time di UNIX. Tale
comando restituisce il tempo, espresso in secondi, che intercorre dalla creazione
del processo lanciato alla sua terminazione. In particolare, dei tre tempi resti-
tuiti (reale, utente e sistema) si è convenuto utilizzare per tutti i test il tempo di
sistema (poiché risulta essere più vicino alla stima effettiva del tempo impiegato
dall’algoritmo).
L’accuratezza è stata calcolata a partire dalla percentuale di istanze classi-
ficate correttamente per ogni classe predittiva. Su queste percentuali è stata
calcolata la media aritmetica.

Evaluation on training data (1556 items):


Before Pruning After Pruning
---------------- ---------------------------
Size Errors Size Errors Estimate
182 60( 3.9%) 146 80( 5.1%) (13.5%) <‌<

Evaluation on test data (172 items):


Before Pruning After Pruning
---------------- ---------------------------
Size Errors Size Errors Estimate
182 38(22.1%) 146 44(25.6%) (13.5%) <‌<

In alto è presente uno stralcio del risultato ottenuto dall’elaborazione di C4.5 su


Cars Evaluation Data Set. Il fold set contiene 1556 istanze per l’addestramento
e 172 per la fase di test. L’albero generato contiene 146 foglie e l’errore sui dati
è pari al 25,6%: 44 istanze del data set su 172 vengono classificate in modo
errato.

(a) (b) (c) (d) <-classified as accuracy


---- ---- ---- ----
128 44 (a): class unacc 74,42%
(b): class acc n/a
(c): class good n/a
(d): class vgood n/a
CAPITOLO 3. ANALISI ED INTERPRETAZIONE DEI DATI 10

Questo stralcio rappresenta il risultato della classificazione, evidenziando il nu-


mero di istanze classificate correttamente e quelle errate. In questo caso vi sono
128 istanze classificate correttamente e 44 errate poiché appartenenti alla ca-
tegoria a ma classificate nella categoria b. Il livello di accuratezza è pertanto,
esprimendolo in percentuale, calcolato come:
istanzeCorrette 128
= = 0, 74419 ' 74, 42%.
istanzeT otaliClasse 128 + 44

foglie errore accuratezza media tempo


146 25,6% 74,42% 0,040s

Questa tabella è la sintesi dei dati che verrà mostrata nella tabella riepilo-
gativa generale (vedi pagina12).

3.1.1.1 Risultati in output


Fold 1
(a) (b) (c) (d) <-classified as accuracy
---- ---- ---- ----
128 44 (a): class unacc 74,42%
(b): class acc n/a
(c): class good n/a
(d): class vgood n/a

Fold 2
(a) (b) (c) (d) <-classified as accuracy
---- ---- ---- ----
129 3 (a): class unacc 97,73%
32 8 (b): class acc 20,00%
(c): class good n/a
(d): class vgood n/a

Fold 3
(a) (b) (c) (d) <-classified as accuracy
---- ---- ---- ----
113 27 (a): class unacc 80,71%
23 9 (b): class acc 28,13%
(c): class good n/a
(d): class vgood n/a

Fold 4
(a) (b) (c) (d) <-classified as accuracy
---- ---- ---- ----
123 5 (a): class unacc 96,09%
CAPITOLO 3. ANALISI ED INTERPRETAZIONE DEI DATI 11

44 (b): class acc 100,00%


(c): class good n/a
(d): class vgood n/a

Fold 5
(a) (b) (c) (d) <-classified as accuracy
---- ---- ---- ----
109 1 1 (a): class unacc 98,20%
17 41 3 (b): class acc 67,21%
(c): class good n/a
(d): class vgood n/a

Fold 6
(a) (b) (c) (d) <-classified as accuracy
---- ---- ---- ----
101 15 1 (a): class unacc 86,32%
44 11 (b): class acc 80,00%
(c): class good n/a
(d): class vgood n/a

Fold 7
(a) (b) (c) (d) <-classified as accuracy
---- ---- ---- ----
101 1 (a): class unacc 99,02%
7 47 1 (b): class acc 85,45%
1 1 (c): class good 50,00%
13 (d): class vgood 00,00%

Fold 8
(a) (b) (c) (d) <-classified as accuracy
---- ---- ---- ----
96 9 (a): class unacc 91,43%
3 17 4 9 (b): class acc 51,52%
17 4 (c): class good 19,05%
7 6 (d): class vgood 00,00%

Fold 9
(a) (b) (c) (d) <-classified as accuracy
---- ---- ---- ----
101 2 1 1 (a): class unacc 96,19%
1 26 10 10 (b): class acc 45,61%
3 2 (c): class good 60,00%
15 (d): class vgood 100,00%

Fold 10
(a) (b) (c) (d) <-classified as accuracy
CAPITOLO 3. ANALISI ED INTERPRETAZIONE DEI DATI 12

---- ---- ---- ----


97 1 (a): class unacc 98,98%
9 8 (b): class acc 47,06%
3 34 4 (c): class good 09,76%
6 13 5 (d): class vgood 00,00%

3.1.1.2 Tabella riepilogativa

fold foglie errore accuratezza media tempo


1 146 25,6% 74,42% 0,040s
2 175 20,3% 58,86% 0,052s
3 156 29,1% 54,42% 0,044s
4 182 2,9% 98,05% 0,036s
5 172 12,8% 82,71% 0,048s
6 178 15,7% 83,16% 0,040s
7 168 13,4% 78,16% 0,048s
8 155 32,0% 54,00% 0,048s
9 176 15,7% 75,45% 0,048s
10 134 39,4% 38,95% 0,052s
Media 164,2 20,69% 69,82% 0s 46ms

3.1.2 ITI
In questa sezione vengono presentati i risultati dell’esecuzione sul sistema di
apprendimento ITI di Car Evaluation Data Set.
I dati che verrano presentati in questo caso sono:
• numero di foglie dell’albero di decisione generato;
• l’accuratezza complessiva;
• il tempo necessario alla generazione dell’albero;

ITI 3.10 - (C) Copyright, U. of Massachusetts, 23 March 2001,


All Rights Reserved
Loading variable names ... 6 loaded
Loading training set from data/car/car.data ... 1556 loaded

Tree constructed (0.25 cpu seconds)


Loading testing set from data/car/test.data ... 172 loaded
CAPITOLO 3. ANALISI ED INTERPRETAZIONE DEI DATI 13

Leaves: 90, xtests: 5.50, instances: 1556, accuracy: 95.349,


cpu: 0.2500, transps: 14997 (dmti-by-leaves)

Come si evince da questo stralcio di risultati, il data set caricato è composto da


6 attributi e 1556 istanze. L’albero di decisione generato ha 90 foglie ed è stato
costruito in 0,25 secondi; testato su 172 istanze con un’accuratezza del 95,35%.
Il metodo per la generazione dell’albero è dmti-by-leaves.

foglie accuratezza media tempo


90 95,35% 0,25s

3.1.2.1 Risultati in output


Fold 1
Loading variable names ... 6 loaded
Loading training set from data/car/car.data ... 1556 loaded
Tree constructed (0.25 cpu seconds)
Loading testing set from data/car/test.data ... 172 loaded
Leaves: 90, xtests: 5.50, instances: 1556, accuracy: 95.349,
cpu: 0.2500, transps: 14997 (dmti-by-leaves)

Fold 2
Loading variable names ... 6 loaded
Loading training set from data/car/car.data ... 1556 loaded
Tree constructed (0.27 cpu seconds)
Loading testing set from data/car/test.data ... 172 loaded
Leaves: 81, xtests: 5.03, instances: 1556, accuracy: 86.628,
cpu: 0.2700, transps: 20861 (dmti-by-leaves)

Fold 3
Loading variable names ... 6 loaded
Loading training set from data/car/car.data ... 1556 loaded
Tree constructed (0.23 cpu seconds)
Loading testing set from data/car/test.data ... 172 loaded
Leaves: 90, xtests: 5.16, instances: 1556, accuracy: 91.860,
cpu: 0.2300, transps: 17657 (dmti-by-leaves)

Fold 4
Loading variable names ... 6 loaded
Loading training set from data/car/car.data ... 1556 loaded
Tree constructed (0.25 cpu seconds)
Loading testing set from data/car/test.data ... 172 loaded
Leaves: 83, xtests: 5.34, instances: 1556, accuracy: 88.372,
cpu: 0.2500, transps: 18174 (dmti-by-leaves)
CAPITOLO 3. ANALISI ED INTERPRETAZIONE DEI DATI 14

Fold 5
Loading variable names ... 6 loaded
Loading training set from data/car/car.data ... 1556 loaded
Tree constructed (0.22 cpu seconds)
Loading testing set from data/car/test.data ... 172 loaded
Leaves: 89, xtests: 4.95, instances: 1556, accuracy: 95.930,
cpu: 0.2200, transps: 18798 (dmti-by-leaves)

Fold 6
Loading variable names ... 6 loaded
Loading training set from data/car/car.data ... 1556 loaded
Tree constructed (0.24 cpu seconds)
Loading testing set from data/car/test.data ... 172 loaded
Leaves: 84, xtests: 5.82, instances: 1556, accuracy: 82.558,
cpu: 0.2400, transps: 18081 (dmti-by-leaves)

Fold 7
Loading variable names ... 6 loaded
Loading training set from data/car/car.data ... 1556 loaded
Tree constructed (0.27 cpu seconds)
Loading testing set from data/car/test.data ... 172 loaded
Leaves: 84, xtests: 5.28, instances: 1556, accuracy: 85.465,
cpu: 0.2700, transps: 18010 (dmti-by-leaves)

Fold 8
Loading variable names ... 6 loaded
Loading training set from data/car/car.data ... 1556 loaded
Tree constructed (0.19 cpu seconds)
Loading testing set from data/car/test.data ... 172 loaded
Leaves: 72, xtests: 4.31, instances: 1556, accuracy: 86.047,
cpu: 0.1900, transps: 14008 (dmti-by-leaves)

Fold 9
Loading variable names ... 6 loaded
Loading training set from data/car/car.data ... 1556 loaded
Tree constructed (0.23 cpu seconds)
Loading testing set from data/car/test.data ... 172 loaded
Leaves: 84, xtests: 5.01, instances: 1556, accuracy: 84.884,
cpu: 0.2300, transps: 15626 (dmti-by-leaves)

Fold 10
Loading variable names ... 6 loaded
Loading training set from data/car/car.data ... 1548 loaded
Tree constructed (0.23 cpu seconds)
Loading testing set from data/car/test.data ... 180 loaded
Leaves: 83, xtests: 4.66, instances: 1548, accuracy: 67.222,
CAPITOLO 3. ANALISI ED INTERPRETAZIONE DEI DATI 15

cpu: 0.2300, transps: 17874 (dmti-by-leaves)

3.1.2.2 Tabella riepilogativa

fold foglie accuratezza media tempo


1 90 95,35% 0,25s
2 81 86,63% 0,27s
3 90 91,86% 0,23s
4 83 88,37% 0,25s
5 89 95,93% 0,22s
6 84 82,56% 0,24s
7 84 85,47% 0,27s
8 72 86,05% 0,19s
9 84 84,88% 0,23s
10 83 67,22% 0,23s
Media 84 86,43% 0s 238ms

3.1.3 Test delle ipotesi


Si costruisce la tabella riepilogativa che mostra solo i risultati di accuratezza per
entrambi i sistemi scelti, a parità di data set: Car Evaluation Data Set (vedi
pagina 4).

fold Accuratezza media Accuratezza


C4.5 media
ITI
1 74,42% 95,35%
2 58,86% 86,63%
3 54,42% 91,86%
4 98,05% 88,37%
5 82,71% 95,93%
6 83,16% 82,56%
7 78,16% 85,47%
8 54,00% 86,05%
9 75,45% 84,88%
Media 69,82% 86,43%
CAPITOLO 3. ANALISI ED INTERPRETAZIONE DEI DATI 16

fold Accuratezza media Accuratezza


C4.5 media
ITI
10 38,95% 67,22%
Media 69,82% 86,43%

Mediamente l’accuratezza di ITI è superiore a quella di C4.5. Malgrado


il dato sia quantomeno evidente, è opportuno procedere con il test statistico
Mann-Whitney U (caso particolare del Wilcoxon test).
Tale scelta è giustificata dal fatto che i campioni sono solo 2, hanno una
numerosità bassa (distribuzione non parametrica) e sono tra loro indipendenti.
Questo tipo di test, inoltre, non è sensibile agli outliers (poiché lavoro con i
ranghi).
L’ipotesi nulla H0 , viene espressa asserendo che non vi è alcuna differenza
statisticamente significativa tra i due sistemi. In altri termini:

H0 : µC4.5 = µIT I .

L’ipotesi H1 , invece, asserisce l’esatto contrario: vi è una differenza statisti-


camente significativa tra i due sistemi.

H1 : µC4.5 6= µIT I .

> sampleC45 = c(74.42,58.86,54.42,98.05,82.71,83.16,78.16,54.00,75.45,38.95)


> sampleITI = c(95.35,86.63,91.86,88.37,95.93,82.56,85.47,86.05,84.88,67.22)
>
> wilcox.test(sampleC45, sampleITI)
Wilcoxon rank sum test
data: y1 and y2
W = 17, p-value = 0.01150

Mediante R è stato eseguito il test di Wilcoxon che in caso di sue campio-


ni è equivalente a quello di Mann-Whitney (anche noto come Mann-Whitney-
Wilcoxon). Il p-level è inferiore a 0,05 che è il valore di confidenza del test. In tal
caso il test prevede che sia possibile rigettare H0 ed asserire che c’è differenza
statisticamente significativa tra i due campioni.
Tale risultato è confermato dal secondo tool utilizzato (TU Southwest Me-
dical Center):

U Test Results
+------------------------------------------------------------+
| n1 | n2 | U | P (two-tailed) | P (one-tailed) |
|------------------------------------------------------------|
| 10 | 10 | 83.0 | 0.01149624 | 0.00574812 |
CAPITOLO 3. ANALISI ED INTERPRETAZIONE DEI DATI 17

|------------------------------------------------------------|
|normal approx z = 2.49457| 0.01261114*| 0.00630557* |
+------------------------------------------------------------+
*These values are approximate.
The difference between the two samples is marginally significant
(P < 0.05, two-tailed test).

Il box plot in alto visualizza graficamente la distribuzione dei dati raccolti


dall’esecuzione dei due sistemi. La media di ITI è più alta di quella di C4.5.
Nel caso dell’elaborazione con ITI vi è un outlier (il fold 10).
Alla luce della precendete statistica è ragionevole affermare che il sistema
ITI abbia registrato una performance (in termini di accuratezza) migliore di
quella di C4.5.

3.2 Tic-Tac-Toe Endgame Data Set


Tic-Tac-Toe Endgame Data Set contiene 958 istanze suddivise in 10 fold ognuno
dei quali contiene 95 istanze (l’ultimo 103). Il 65,3% delle istanze appartengono
alla classa positive.
CAPITOLO 3. ANALISI ED INTERPRETAZIONE DEI DATI 18

3.2.1 C4.5
Le informazioni raccolte in questa sezione rappresentano una sintesi rispetto a
quelle prodotte dall’esecuzione del sistema di apprendimento.
Le informazioni che si sono ritenute opportune per la valutazione della
qualità del sistema sono:
• numero di foglie dell’albero di decisione generato;

• percentuale di errore commesso nella classificazione delle istanze di test;


• accuratezza media di classificazione;
• tempo di esecuzione della costruzione dell’albero di decisione e del test.
Il tempo di esecuzione è stato calcolato grazie al comando time di UNIX. Tale
comando restituisce il tempo, espresso in secondi, che intercorre dalla creazione
del processo lanciato alla sua terminazione. In particolare, dei tre tempi resti-
tuiti (real, utente e sistema) si è convenuto utilizzare per tutti i test il tempo di
sistema (poiché risulta essere più vicino alla stima effettiva del tempo impiegato
dall’algoritmo).
L’accuratezza è stata calcolata a partire dalla percentuale di istanze classi-
ficate correttamente per ogni classe predittiva. Su queste percentuali è stata
calcolata la media aritmetica.

Evaluation on training data (863 items):


Before Pruning After Pruning
---------------- ---------------------------
Size Errors Size Errors Estimate
175 22( 2.5%) 133 33( 3.8%) (15.8%) <‌<

Evaluation on test data (95 items):


Before Pruning After Pruning
---------------- ---------------------------
Size Errors Size Errors Estimate
175 52(54.7%) 133 51(53.7%) (15.8%) <‌<

In alto è presente uno stralcio del risultato ottenuto dall’elaborazione di C4.5 su


Tic-Tac-Toe Endgame Data Set. Il fold set contiene 863 istanze per l’addestra-
mento e 95 per la fase di test. L’albero generato contiene 133 foglie e l’errore
sui dati è pari al 53,7%: 51 istanze del data set su 95 vengono classificate in
modo errato.

(a) (b) <-classified as accuracy


---- ----
44 51 (a): class positive 46,32%
(b): class negative n/a
CAPITOLO 3. ANALISI ED INTERPRETAZIONE DEI DATI 19

Questo stralcio rappresenta il risultato della classificazione, evidenziando il nu-


mero di istanze classificate correttamente e quelle errate. In questo caso vi sono
44 istanze classificate correttamente e 51 errate poiché appartenenti alla cate-
goria a ma classificate nella categoria b. Il livello di accuratezza è pertanto,
esprimendolo in percentuale, calcolato come:
istanzeCorrette 44
= = 0, 46316 ' 46, 32%.
istanzeT otaliClasse 44 + 51

foglie errore accuratezza media tempo


133 53,7% 46,32% 0,044s

Questa tabella è la sintesi dei dati che verrà mostrata nella tabella riepilo-
gativa generale (vedi pagina20).

3.2.1.1 Risultati in output


Fold 1
(a) (b) <-classified as accuracy
---- ----
44 51 (a): class positive 46,32%
(b): class negative n/a

Fold 2
(a) (b) <-classified as accuracy
---- ----
53 42 (a): class positive 55,79%
(b): class negative n/a

Fold 3
(a) (b) <-classified as accuracy
---- ----
79 16 (a): class positive 83,16%
(b): class negative n/a

Fold 4
(a) (b) <-classified as accuracy
---- ----
19 76 (a): class positive 20,00%
(b): class negative n/a

Fold 5
(a) (b) <-classified as accuracy
---- ----
40 55 (a): class positive 42,11%
CAPITOLO 3. ANALISI ED INTERPRETAZIONE DEI DATI 20

(b): class negative n/a

Fold 6
(a) (b) <-classified as accuracy
---- ----
83 12 (a): class positive 87,37%
(b): class negative n/a

Fold 7
(a) (b) <-classified as accuracy
---- ----
30 26 (a): class positive 53,57%
28 11 (b): class negative 28,21%

Fold 8
(a) (b) <-classified as accuracy
---- ----
(a): class positive n/a
62 33 (b): class negative 34,74%

Fold 9
(a) (b) <-classified as accuracy
---- ----
(a): class positive n/a
51 44 (b): class negative 46,32%

Fold 10
(a) (b) <-classified as accuracy
---- ----
(a): class positive n/a
92 11 (b): class negative 10,68%

3.2.1.2 Tabella riepilogativa

fold foglie errore accuratezza media tempo


1 133 53,7% 46,32% 0,044s
2 151 44,2% 55,79% 0,040s
3 139 16,8% 83,16% 0,052s
4 130 80,00% 20,00% 0,040s
5 142 57,9% 42,11% 0,048s
6 127 12,6% 87,37% 0,044s
Media 124,6 53,03% 46,738% 0s 44ms
CAPITOLO 3. ANALISI ED INTERPRETAZIONE DEI DATI 21

fold foglie errore accuratezza media tempo


7 115 56,8% 40,89% 0,044s
8 109 65,3% 34,74% 0,032s
9 103 53,7% 46,32% 0,048s
10 97 89,3% 10,68% 0,048s
Media 124,6 53,03% 46,738% 0s 44ms

3.2.2 ITI
In questa sezione vengono presentati i risultati dell’esecuzione sul sistema di
apprendimento ITI del data set Tic-Tac-Toe Endgame Data Set (vedi pagina
5).
I dati che verrano presentati in questo caso sono:
• numero di foglie dell’albero di decisione generato;
• l’accuratezza complessiva;
• il tempo necessario alla generazione dell’albero;

ITI 3.10 - (C) Copyright, U. of Massachusetts, 23 March 2001,


All Rights Reserved
Loading variable names ... 9 loaded
Loading training set from data/tictactoe/tictactoe.data ... 863 loaded

Tree constructed (0.27 cpu seconds)


Loading testing set from data/tictactoe/test.data ... 95 loaded
Leaves: 42, xtests: 4.77, instances: 863, accuracy: 52.632,
cpu: 0.2700, transps: 16844 (dmti-by-leaves)

Come si evince da questo stralcio di risultati, il data set caricato è composto da


9 attributi e 863 istanze. L’albero di decisione generato ha 42 foglie ed è stato
costruito in 0,27 secondi; testato su 95 istanze con un’accuratezza del 52,63%.
Il metodo per la generazione dell’albero è dmti-by-leaves.

foglie accuratezza media tempo


42 52,63% 0,27s

3.2.2.1 Risultati in output


Fold 1
Loading variable names ... 9 loaded
Loading training set from data/tictactoe/tictactoe.data ... 863 loaded
CAPITOLO 3. ANALISI ED INTERPRETAZIONE DEI DATI 22

Tree constructed (0.27 cpu seconds)


Loading testing set from data/tictactoe/test.data ... 95 loaded
Leaves: 42, xtests: 4.77, instances: 863, accuracy: 52.632,
cpu: 0.2700, transps: 16844 (dmti-by-leaves)

Fold 2
Loading variable names ... 9 loaded
Loading training set from data/tictactoe/tictactoe.data ... 863 loaded
Tree constructed (0.31 cpu seconds)
Loading testing set from data/tictactoe/test.data ... 95 loaded
Leaves: 59, xtests: 5.27, instances: 863, accuracy: 70.526,
cpu: 0.3100, transps: 21189 (dmti-by-leaves)

Fold 3
Loading variable names ... 9 loaded
Loading training set from data/tictactoe/tictactoe.data ... 863 loaded
Tree constructed (0.31 cpu seconds)
Loading testing set from data/tictactoe/test.data ... 95 loaded
Leaves: 51, xtests: 4.86, instances: 863, accuracy: 100.000,
cpu: 0.3100, transps: 20168 (dmti-by-leaves)

Fold 4
Loading variable names ... 9 loaded
Loading training set from data/tictactoe/tictactoe.data ... 863 loaded
Tree constructed (0.30 cpu seconds)
Loading testing set from data/tictactoe/test.data ... 95 loaded
Leaves: 51, xtests: 4.78, instances: 863, accuracy: 26.316,
cpu: 0.3000, transps: 18547 (dmti-by-leaves)

Fold 5
Loading variable names ... 9 loaded
Loading training set from data/tictactoe/tictactoe.data ... 863 loaded
Tree constructed (0.29 cpu seconds)
Loading testing set from data/tictactoe/test.data ... 95 loaded
Leaves: 55, xtests: 4.82, instances: 863, accuracy: 89.474,
cpu: 0.2900, transps: 18796 (dmti-by-leaves)

Fold 6
Loading variable names ... 9 loaded
Loading training set from data/tictactoe/tictactoe.data ... 863 loaded
Tree constructed (0.30 cpu seconds)
Loading testing set from data/tictactoe/test.data ... 95 loaded
Leaves: 58, xtests: 4.99, instances: 863, accuracy: 97.895,
cpu: 0.3000, transps: 20929 (dmti-by-leaves)

Fold 7
CAPITOLO 3. ANALISI ED INTERPRETAZIONE DEI DATI 23

Loading variable names ... 9 loaded


Loading training set from data/tictactoe/tictactoe.data ... 863 loaded
Tree constructed (0.31 cpu seconds)
Loading testing set from data/tictactoe/test.data ... 95 loaded
Leaves: 50, xtests: 5.20, instances: 863, accuracy: 81.053,
cpu: 0.3100, transps: 20768 (dmti-by-leaves)

Fold 8
Loading variable names ... 9 loaded
Loading training set from data/tictactoe/tictactoe.data ... 863 loaded
Tree constructed (0.29 cpu seconds)
Loading testing set from data/tictactoe/test.data ... 95 loaded
Leaves: 40, xtests: 4.87, instances: 863, accuracy: 50.526,
cpu: 0.2900, transps: 19094 (dmti-by-leaves)

Fold 9
Loading variable names ... 9 loaded
Loading training set from data/tictactoe/tictactoe.data ... 863 loaded
Tree constructed (0.24 cpu seconds)
Loading testing set from data/tictactoe/test.data ... 95 loaded
Leaves: 50, xtests: 4.76, instances: 863, accuracy: 64.211,
cpu: 0.2400, transps: 15189 (dmti-by-leaves)

Fold 10
Loading variable names ... 9 loaded
Loading training set from data/tictactoe/tictactoe.data ... 855 loaded
Tree constructed (0.25 cpu seconds)
Loading testing set from data/tictactoe/test.data ... 103 loaded
Leaves: 45, xtests: 4.76, instances: 855, accuracy: 81.553,
cpu: 0.2500, transps: 15166 (dmti-by-leaves)

3.2.2.2 Tabella riepilogativa

fold foglie accuratezza media tempo


1 42 52,63% 0,27s
2 59 70,53% 0,31s
3 51 100,00% 0,31s
4 51 26,32% 0,30s
5 55 89,47% 0,29s
6 58 97,90% 0,30s
Media 50,1 71,419% 0s 287ms
CAPITOLO 3. ANALISI ED INTERPRETAZIONE DEI DATI 24

fold foglie accuratezza media tempo


7 50 81,05% 0,31s
8 40 50,53% 0,29s
9 50 64,21% 0,24s
10 45 81,55% 0,25s
Media 50,1 71,419% 0s 287ms

3.2.3 Test delle ipotesi


Si costruisce la tabella riepilogativa che mostra solo i risultati di accuratezza per
entrambi i sistemi scelti, a parità di data set: Car Evaluation Data Set (vedi
pagina 4).

fold Accuratezza media Accuratezza


C4.5 media
ITI
1 46,32% 52,63%
2 55,79% 70,53%
3 83,16% 100,00%
4 20,00% 26,32%
5 42,11% 89,47%
6 87,37% 97,90%
7 40,89% 81,05%
8 34,74% 50,53%
9 46,32% 64,21%
10 10,68% 81,55%
Media 46,738% 71,419%

Mediamente l’accuratezza di ITI è superiore a quella di C4.5. Malgrado


il dato sia quantomeno evidente, è opportuno procedere con il test statistico
Mann-Whitney U (caso particolare del Wilcoxon test).
Tale scelta è giustificata dal fatto che i campioni sono solo 2, hanno una
numerosità bassa (distribuzione non parametrica) e sono tra loro indipendenti.
Questo tipo di test, inoltre, non è sensibile agli outliers (poiché lavoro con i
ranghi).
L’ipotesi nulla H0 , viene espressa asserendo che non vi è alcuna differenza
statisticamente significativa tra i due sistemi. In altri termini:
CAPITOLO 3. ANALISI ED INTERPRETAZIONE DEI DATI 25

H0 : µC4.5 = µIT I .

L’ipotesi H1 , invece, asserisce l’esatto contrario: vi è una differenza statisti-


camente significativa tra i due sistemi.

H1 : µC4.5 6= µIT I .

> sampleC45 = c(46.32,55.79,83.16,20.00,42.11,87.37,40.89,34.74,46.32,10.68)


> sampleITI = c(52.63,70.53,100.00,26.32,89.47,97.90,81.05,50.53,64.21,81.55)
>
> wilcox.test(sampleC45,sampleITI)
Wilcoxon rank sum test
data: y1 and y2
W = 22, p-value = 0.03546

Mediante R è stato eseguito il test di Wilcoxon che in caso di sue campio-


ni è equivalente a quello di Mann-Whitney (anche noto come Mann-Whitney-
Wilcoxon). Il p-level è inferiore a 0,05 che è il valore di confidenza del test. In tal
caso il test prevede che sia possibile rigettare H0 ed asserire che c’è differenza
statisticamente significativa tra i due campioni.
Tale risultato è confermato dal secondo tool utilizzato (TU Southwest Me-
dical Center):

U Test Results
+------------------------------------------------------------+
| n1 | n2 | U | P (two-tailed) | P (one-tailed) |
|------------------------------------------------------------|
| 10 | 10 | 78.0 | 0.035463 | 0.00177315 |
|------------------------------------------------------------|
|normal approx z = 2.1166 | 0.0342938* | 0.0171469* |
+------------------------------------------------------------+
*These values are approximate.
The difference between the two samples is marginally significant
(P < 0.05, two-tailed test).
CAPITOLO 3. ANALISI ED INTERPRETAZIONE DEI DATI 26

Il box plot in alto visualizza graficamente la distribuzione dei dati raccolti


dall’esecuzione dei due sistemi. La media di ITI è più alta di quella di C4.5.
Nel caso dell’elaborazione con C4.5 vi è un outlier (il fold 6).
Alla luce della precendete statistica è ragionevole affermare che il sistema
ITI abbia registrato una performance (in termini di accuratezza) migliore di
quella di C4.5.
Capitolo 4

Conclusioni

Il presente documento ha avuto lo scopo di confrontare le performance di due


sistemi di apprendimento su due data set: Car Evaluation Data Set e Tic-Tac-
Toe Endgame Data Set.
I data set presi in esame sono molto simili tra loro poiché condividono la
maggior parte delle caratteristiche: domini categorici, meno di 10 attributi
descrittivi e basso numero di categorie predittive.
L’unica differenza significativa tra i due data set è stata la numerosità delle
istanze: 1728 per il data set delle automobili e 958 per il gioco tic-tac-toe.
Questo fattore ha influito negativamente sulle performance generali di en-
trambi i sistemi: meno istanze, meno precisione di classificazione. Tuttavia, in
entrambi i casi, ITI è risultato essere più preciso a scapito del tempo: l’algoritmo
ITI, infatti, ha richiesto quasi dieci volte il tempo di esecuzione di C4.5.
In questo caso, trattandosi di data set piccoli, il tempo di esecuzione è passato
in secondo piano e ci si è concentrati più sulla qualità della classificazione. In
contesti di più grandi dimensioni è opportuno tener presente anche il fattore
tempo di esecuzione.
Alla luce delle forte similarità tra i data set può essere opportuno testare gli
stessi sistemi di apprendimento su data set con caratteristiche eterogenee.
L’unica conclusione, statisticamente supportata, che può essere desunta da
questa comparazione è che ITI classifica evidentemente meglio rispetto a C4.5
su data set con attributi categorici.
La differenza tra i due sistemi, oltre che essere statisticamente fondata, è
anche particolarmente evidente.
Per tali ragioni, si ritiene ITI consigliabile, nei casi menzionati, rispetto a
C4.5.

27
Appendice A

Allegati

Si allegano al presente i seguenti documenti:

1. Car Evaluation Data Set in formato C4.5;


2. Car Evaluation Data Set in formato ITI;
3. Tic-Tac-Toe Endgame Data Set in formato C4.5;
4. Tic-Tac-Toe Endgame Data Set in formato ITI;

5. risultati dettagliati dell’elaborazione di C4.5 su Cars Evaluation Data Set;


6. risultati dettagliati dell’elaborazione di ITI su Cars Evaluation Data Set;
7. risultati dettagliati dell’elaborazione di C4.5 su Tic-Tac-Toe Endgame
Data Set;

8. risultati dettagliati dell’elaborazione di ITI su Tic-Tac-Toe Endgame Data


Set;

28
Bibliografia

[1] Quinlan, J. R. C4.5: Programs for Machine Learning. Morgan Kaufmann


Publishers, 1993.

[2] Quinlan, J. R. Induction of Decision Trees. Mach. Learn. 1, 1 (Mar. 1986),


81-106, 1986.
[3] S.B. Kotsiantis, Supervised Machine Learning: A Review of Classification
Techniques, Informatica 31(2007) 249-268, 2007.

[4] D. Aha, UCI Machine Learning Repository,


http://archive.ics.uci.edu/ml/index.html, 2010.
[5] T..G. Dietterich, Approximate Statistical Tests for Comparing Supervised
Classification Learning Algorithms, 1998.

[6] GJ, McLachlan, K.A. Do, C. Ambroise, Analyzing microarray gene


expression data, Wiley, 2004.
[7] CRAN, http://rm.mirror.garr.it/mirrors/CRAN/index.html, 2009.
[8] UT Southwestern Medical Center, L. Avery,
http://elegans.swmed.edu/~leon/stats/utest.cgi, 2004

29

Potrebbero piacerti anche