30
Comparazione sistemi di apprendimento Michele Filannino 21 Febbraio 2010

Comparazione tra sistemi di apprendimento automatico

Embed Size (px)

DESCRIPTION

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.

Citation preview

Page 1: Comparazione tra sistemi di apprendimento automatico

Comparazione sistemi di apprendimento

Michele Filannino

21 Febbraio 2010

Page 2: Comparazione tra sistemi di apprendimento automatico

Indice

1 Introduzione 21.1 Sistemi di apprendimento . . . . . . . . . . . . . . . . . . . . . . 2

1.1.1 C4.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.1.2 ITI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2 Data set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2.1 Car Evaluation Data Set . . . . . . . . . . . . . . . . . . . 41.2.2 Tic-Tac-Toe Endgame Data Set . . . . . . . . . . . . . . . 5

2 Elaborazione dei data set 62.1 Manipolazione dei data set . . . . . . . . . . . . . . . . . . . . . 62.2 K-fold Cross Validation . . . . . . . . . . . . . . . . . . . . . . . 62.3 Esecuzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

3 Analisi ed interpretazione dei dati 83.1 Car Evaluation Data Set . . . . . . . . . . . . . . . . . . . . . . . 8

3.1.1 C4.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93.1.1.1 Risultati in output . . . . . . . . . . . . . . . . . 103.1.1.2 Tabella riepilogativa . . . . . . . . . . . . . . . . 12

3.1.2 ITI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123.1.2.1 Risultati in output . . . . . . . . . . . . . . . . . 133.1.2.2 Tabella riepilogativa . . . . . . . . . . . . . . . . 15

3.1.3 Test delle ipotesi . . . . . . . . . . . . . . . . . . . . . . . 153.2 Tic-Tac-Toe Endgame Data Set . . . . . . . . . . . . . . . . . . . 17

3.2.1 C4.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183.2.1.1 Risultati in output . . . . . . . . . . . . . . . . . 193.2.1.2 Tabella riepilogativa . . . . . . . . . . . . . . . . 20

3.2.2 ITI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213.2.2.1 Risultati in output . . . . . . . . . . . . . . . . . 213.2.2.2 Tabella riepilogativa . . . . . . . . . . . . . . . . 23

3.2.3 Test delle ipotesi . . . . . . . . . . . . . . . . . . . . . . . 24

4 Conclusioni 27

A Allegati 28

1

Page 3: Comparazione tra sistemi di apprendimento automatico

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 condottele 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à condottoil test delle ipotesi in modo da verificare l’esistenza di differenze statisticamenterilevanti in termini di qualità dei risultati di classificazione.

1.1 Sistemi di apprendimentoCome già detto, i sistemi presi in esame generano degli alberi di decisionepartendo da un insieme di esempi forniti in input.

Un albero di decisione, più formalmente, è una struttura ad albero nella qualei nodi foglia rappresentano le classi, e le ramificazioni rappresentano l’insiemedelle proprietà che portano alle rispettive classificazioni. Conseguentemente,ogni nodo interno risulta essere una macro-classe costituita dall’unione delleclassi associate ai suoi nodi figli.

Il predicato che si associa ad ogni nodo interno, sulla base del quale avvienela ripartizione dei dati, è chiamato condizione di split.

In altri termini l’albero di decisione è una disgiunzione di congiunzionidi vincoli espressi sulle singole istanze (generalmente rappresentate da coppieattributo-valore).

I due sistemi scelti per questa comparazione, oltre che condividere il fine(generazione di alberi di decisione), condividono lo stesso formato dei dati ininput. Questa caratteristica ha evitato la creazione di apposite routine per lamanipolazione strutturale dei dati, o in taluni casi la riscrittura manuale dialcune porzioni di essi.

2

Page 4: Comparazione tra sistemi di apprendimento automatico

CAPITOLO 1. INTRODUZIONE 3

1.1.1 C4.5C4.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 comeclassificatore statistico.

C4.5 costruisce gli alberi di decisione da istanze di un set di training nellostesso modo di ID3, utilizzando il concetto di entropia dell’informazione. Idati di training sono un insieme S = s1, s2, ... di istanze pre-classificate. Ogniistanza si = x1, x2, ... è un vettore dove le x rappresentano gli attributi o lecaratteristiche 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 leistanze. La particolarità di C4.5 è la capacità di trattare istanze con valori nondisponibili e valori continui per gli attributi.

Oltre a ciò esso fornisce la possibilità di alleggerire l’albero di decisioneutilizzando una serie di strumenti probabilistici e consente anche di derivaredirettamente regole di decisione.

1.1.2 ITIE’ uno strumento capace di indurre incrementalmente alberi di decisione a par-tire da un set di istanze pre-classificate. L’incrementalità è una caratteristicaparticolarmente apprezzata di questo tool, poiché consente di modificare oppor-tunamente alberi di decisione precedentemente calcolati, senza ricostruirli dazero.

ITI, come C4.5, gestisce valori simbolici, valori mancanti ed include ancheun meccanismo di pruning, in vero meno raffinato di quello di C4.5.

In virtù della caratteristica di incrementalità esso può costruire alberi sia inmodalità batch che in modalità incrementale. All’arrivo di una nuova istanzaopera delle manipolazioni strutturali all’albero di decisione, riadattandolo. Ilrisultato delle due modalità (batch ed incrementale) è uguale.

1.2 Data setI data set sui quali saranno testati i due algoritmi di apprendimento sono: CarEvaluation Data Set e Tic-Tac-Toe Endgame Data Set. Entrambi i data setsono liberamente utilizzabili e scaricabili attraverso il UCI Machine LearningRepository [4] che mette a disposizione diversi data set utili ai task di machinelearning.

Le possibilità di scelta dei data set offerte dal repository online sono moltograndi. 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 delformato di memorizzazione: Covertype Data Set o Statlog (Shuttle) Data Set,

Page 5: Comparazione tra sistemi di apprendimento automatico

CAPITOLO 1. INTRODUZIONE 4

per esempio, richiedevano diversi interventi di trasformazione (specialmente ilsecondo). Infine, altri data set sono stati scartati per via della loro altissimanumerosità 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 undominio dei singoli attributi uguale: categorico.

Vi sono delle differenze in termini di numerosità dei campioni (il primo hauna numerosità doppia rispetto al secondo) ed in termini di numerosità dellecategorie predittive (il primo ne conta 4, il secondo soltanto 2).

Di seguito descriverò brevemente il dominio e le caratteristiche salienti deidata set scelti.

1.2.1 Car Evaluation Data SetQuesto data set è stato reso disponibile nel 1997 ed è stato derivato da unsemplice modello di decisione gerarchico realizzato per una dimostrazione diDEX. Il modello valutava le automobili in base ad alcune caratteristiche diprezzo e di comfort. Il compito di DEX era quello di attribuire a ciascunaautomobile 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 attributitutti 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.

Page 6: Comparazione tra sistemi di apprendimento automatico

CAPITOLO 1. INTRODUZIONE 5

1.2.2 Tic-Tac-Toe Endgame Data SetIl data set contiene tutte le possibili configurazioni della tavola da gioco primadell’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 arealizzare 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.

Page 7: Comparazione tra sistemi di apprendimento automatico

Capitolo 2

Elaborazione dei data set

In questa sezione si descriveranno le scelte operative che precedono l’esecuzioneconcreta degli algoritmi di apprendimento sui data set scelti.

La prima operazione che si è resa necessaria per l’esecuzione è stata quelladi operare degli interventi di manipolazione dei data set (così come scaricati daUCI Machine Learning Repository) al fine di renderli compatibili con il formatodi input previsto dai singoli sistemi di apprendimento presi in esame in questodocumento.

La fase di esecuzione è per sua natura influenzata dal tipo di tecnica statisticautilizzata per rendere i risultati il più possibile generali: indipendenti dai dataset scelti per ogni singola esecuzione.

2.1 Manipolazione dei data setI data set scelti non presentavano alcun problema di struttura nell’elaborazionecon 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 vieneinterpretato come numero generando un errore qualora si trattasse del nome diuna categoria.

Più specificatamente, ad esempio, la categoria 2 di persons in Cars Eva-luation Data Set restituisce un errore poiché viene interpretato come attributonumerico e non categorico.

Al fine di superare questo problema, è stato necessario modificare l’interadichiarazione del file .data.

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

6

Page 8: Comparazione tra sistemi di apprendimento automatico

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 insiemedi 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 differentitest set;

• K-fold cross-validation: questo metodo prevede la suddivisione del dataset originale in k sotto-insiemi. Di questi k sotto-insiemi se ne sceglie unoe 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 iltraining set. In tal modo, al termine delle k iterate, tutti i k sotto-insiemisaranno stati utilizzati come training-set una sola volta;

• Leave-one-out cross-validation (LOOCV): questo metodo è una variantedel K-fold cross-validation per il quale il valore di k è pari al numerocomplessivo delle istanze presenti nel data set originale. In altri termini iltraining set è sempre composto da una sola istanza e tale processo, con-seguentemente, deve essere iterato per tante volte quante sono le istanzecomplessive 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 quantesono 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 edal tempo stesso seguire la linea ampiente condivisa [6] nella comunità scientifica.

2.3 EsecuzioneSia C4.5 che ITI utilizzano lo stesso tipo di file in ingresso. L’unica differenzatra i due sistemi riguarda il percorso nel quale collocare i file: ITI ha bisogno diun’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.

Page 9: Comparazione tra sistemi di apprendimento automatico

Capitolo 3

Analisi ed interpretazione deidati

In questa sezione saranno presentati i risultati relativi all’esecuzione di cia-scun data set su entrambi i sistemi di apprendimento e si presenteranno leinterpretazioni 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 statisticainferenziale) che permettono di confrontare due gruppi di dati riordinando iranghi interni.

L’ipotesi nulla solitamente prevede che i dati di tutti i gruppi abbiano lastessa distribuzione stocastica e che le differenze osservate tra i gruppi sianodovute 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 sonostatisticamente rilevanti o meno.

Il tool utilizzato per eseguire, da un punto di vista operativo i test, si chiamaR [7] ed è stato utilizzato per via del fatto che è open-source, multi-piattaformaed anche molto semplice [8]. Al fine di non commettere errori di valutazione,ho validato ulteriormente i risultati di R con un tool disponibile gratuitamenteonline presso il sito della University of Texas Southwestern Medical Center [8].

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

8

Page 10: Comparazione tra sistemi di apprendimento automatico

CAPITOLO 3. ANALISI ED INTERPRETAZIONE DEI DATI 9

3.1.1 C4.5Le informazioni raccolte in questa sezione rappresentano una sintesi rispetto aquelle prodotte dall’esecuzione del sistema di apprendimento.

Le informazioni che si sono ritenute opportune per la valutazione dellaqualità 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. Talecomando restituisce il tempo, espresso in secondi, che intercorre dalla creazionedel 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 disistema (poiché risulta essere più vicino alla stima effettiva del tempo impiegatodall’algoritmo).

L’accuratezza è stata calcolata a partire dalla percentuale di istanze classi-ficate correttamente per ogni classe predittiva. Su queste percentuali è statacalcolata la media aritmetica.

Evaluation on training data (1556 items):Before Pruning After Pruning---------------- ---------------------------Size Errors Size Errors Estimate182 60( 3.9%) 146 80( 5.1%) (13.5%) <‌<

Evaluation on test data (172 items):Before Pruning After Pruning---------------- ---------------------------Size Errors Size Errors Estimate182 38(22.1%) 146 44(25.6%) (13.5%) <‌<

In alto è presente uno stralcio del risultato ottenuto dall’elaborazione di C4.5 suCars Evaluation Data Set. Il fold set contiene 1556 istanze per l’addestramentoe 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 modoerrato.

(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

Page 11: Comparazione tra sistemi di apprendimento automatico

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 sono128 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

istanzeTotaliClasse=

128128 + 44

= 0, 74419 ' 74, 42%.

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%

Page 12: Comparazione tra sistemi di apprendimento automatico

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

Page 13: Comparazione tra sistemi di apprendimento automatico

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 ITIIn questa sezione vengono presentati i risultati dell’esecuzione sul sistema diapprendimento 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 ReservedLoading variable names ... 6 loadedLoading 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

Page 14: Comparazione tra sistemi di apprendimento automatico

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 da6 attributi e 1556 istanze. L’albero di decisione generato ha 90 foglie ed è statocostruito 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 1Loading variable names ... 6 loadedLoading training set from data/car/car.data ... 1556 loadedTree constructed (0.25 cpu seconds)Loading testing set from data/car/test.data ... 172 loadedLeaves: 90, xtests: 5.50, instances: 1556, accuracy: 95.349,cpu: 0.2500, transps: 14997 (dmti-by-leaves)

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

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

Fold 4Loading variable names ... 6 loadedLoading training set from data/car/car.data ... 1556 loadedTree constructed (0.25 cpu seconds)Loading testing set from data/car/test.data ... 172 loadedLeaves: 83, xtests: 5.34, instances: 1556, accuracy: 88.372,cpu: 0.2500, transps: 18174 (dmti-by-leaves)

Page 15: Comparazione tra sistemi di apprendimento automatico

CAPITOLO 3. ANALISI ED INTERPRETAZIONE DEI DATI 14

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

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

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

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

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

Fold 10Loading variable names ... 6 loadedLoading training set from data/car/car.data ... 1548 loadedTree constructed (0.23 cpu seconds)Loading testing set from data/car/test.data ... 180 loadedLeaves: 83, xtests: 4.66, instances: 1548, accuracy: 67.222,

Page 16: Comparazione tra sistemi di apprendimento automatico

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 ipotesiSi costruisce la tabella riepilogativa che mostra solo i risultati di accuratezza perentrambi i sistemi scelti, a parità di data set: Car Evaluation Data Set (vedipagina 4).

fold Accuratezza mediaC4.5

AccuratezzamediaITI

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%

Page 17: Comparazione tra sistemi di apprendimento automatico

CAPITOLO 3. ANALISI ED INTERPRETAZIONE DEI DATI 16

fold Accuratezza mediaC4.5

AccuratezzamediaITI

10 38,95% 67,22%

Media 69,82% 86,43%

Mediamente l’accuratezza di ITI è superiore a quella di C4.5. Malgradoil dato sia quantomeno evidente, è opportuno procedere con il test statisticoMann-Whitney U (caso particolare del Wilcoxon test).

Tale scelta è giustificata dal fatto che i campioni sono solo 2, hanno unanumerosità bassa (distribuzione non parametrica) e sono tra loro indipendenti.Questo tipo di test, inoltre, non è sensibile agli outliers (poiché lavoro con iranghi).

L’ipotesi nulla H0, viene espressa asserendo che non vi è alcuna differenzastatisticamente significativa tra i due sistemi. In altri termini:

H0 : µC4.5 = µITI .

L’ipotesi H1, invece, asserisce l’esatto contrario: vi è una differenza statisti-camente significativa tra i due sistemi.

H1 : µC4.5 6= µITI .

> 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 testdata: y1 and y2W = 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 talcaso il test prevede che sia possibile rigettare H0 ed asserire che c’è differenzastatisticamente 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 |

Page 18: Comparazione tra sistemi di apprendimento automatico

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 raccoltidall’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 sistemaITI abbia registrato una performance (in termini di accuratezza) migliore diquella di C4.5.

3.2 Tic-Tac-Toe Endgame Data SetTic-Tac-Toe Endgame Data Set contiene 958 istanze suddivise in 10 fold ognunodei quali contiene 95 istanze (l’ultimo 103). Il 65,3% delle istanze appartengonoalla classa positive.

Page 19: Comparazione tra sistemi di apprendimento automatico

CAPITOLO 3. ANALISI ED INTERPRETAZIONE DEI DATI 18

3.2.1 C4.5Le informazioni raccolte in questa sezione rappresentano una sintesi rispetto aquelle prodotte dall’esecuzione del sistema di apprendimento.

Le informazioni che si sono ritenute opportune per la valutazione dellaqualità 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. Talecomando restituisce il tempo, espresso in secondi, che intercorre dalla creazionedel 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 disistema (poiché risulta essere più vicino alla stima effettiva del tempo impiegatodall’algoritmo).

L’accuratezza è stata calcolata a partire dalla percentuale di istanze classi-ficate correttamente per ogni classe predittiva. Su queste percentuali è statacalcolata la media aritmetica.

Evaluation on training data (863 items):Before Pruning After Pruning---------------- ---------------------------Size Errors Size Errors Estimate175 22( 2.5%) 133 33( 3.8%) (15.8%) <‌<

Evaluation on test data (95 items):Before Pruning After Pruning---------------- ---------------------------Size Errors Size Errors Estimate175 52(54.7%) 133 51(53.7%) (15.8%) <‌<

In alto è presente uno stralcio del risultato ottenuto dall’elaborazione di C4.5 suTic-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’erroresui dati è pari al 53,7%: 51 istanze del data set su 95 vengono classificate inmodo errato.

(a) (b) <-classified as accuracy---- ----44 51 (a): class positive 46,32%

(b): class negative n/a

Page 20: Comparazione tra sistemi di apprendimento automatico

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 sono44 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

istanzeTotaliClasse=

4444 + 51

= 0, 46316 ' 46, 32%.

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%

Page 21: Comparazione tra sistemi di apprendimento automatico

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/a62 33 (b): class negative 34,74%

Fold 9(a) (b) <-classified as accuracy---- ----

(a): class positive n/a51 44 (b): class negative 46,32%

Fold 10(a) (b) <-classified as accuracy---- ----

(a): class positive n/a92 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

Page 22: Comparazione tra sistemi di apprendimento automatico

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 ITIIn questa sezione vengono presentati i risultati dell’esecuzione sul sistema diapprendimento ITI del data set Tic-Tac-Toe Endgame Data Set (vedi pagina5).

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 ReservedLoading variable names ... 9 loadedLoading training set from data/tictactoe/tictactoe.data ... 863 loaded

Tree constructed (0.27 cpu seconds)Loading testing set from data/tictactoe/test.data ... 95 loadedLeaves: 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 da9 attributi e 863 istanze. L’albero di decisione generato ha 42 foglie ed è statocostruito 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 1Loading variable names ... 9 loadedLoading training set from data/tictactoe/tictactoe.data ... 863 loaded

Page 23: Comparazione tra sistemi di apprendimento automatico

CAPITOLO 3. ANALISI ED INTERPRETAZIONE DEI DATI 22

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

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

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

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

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

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

Fold 7

Page 24: Comparazione tra sistemi di apprendimento automatico

CAPITOLO 3. ANALISI ED INTERPRETAZIONE DEI DATI 23

Loading variable names ... 9 loadedLoading training set from data/tictactoe/tictactoe.data ... 863 loadedTree constructed (0.31 cpu seconds)Loading testing set from data/tictactoe/test.data ... 95 loadedLeaves: 50, xtests: 5.20, instances: 863, accuracy: 81.053,cpu: 0.3100, transps: 20768 (dmti-by-leaves)

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

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

Fold 10Loading variable names ... 9 loadedLoading training set from data/tictactoe/tictactoe.data ... 855 loadedTree constructed (0.25 cpu seconds)Loading testing set from data/tictactoe/test.data ... 103 loadedLeaves: 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

Page 25: Comparazione tra sistemi di apprendimento automatico

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 ipotesiSi costruisce la tabella riepilogativa che mostra solo i risultati di accuratezza perentrambi i sistemi scelti, a parità di data set: Car Evaluation Data Set (vedipagina 4).

fold Accuratezza mediaC4.5

AccuratezzamediaITI

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. Malgradoil dato sia quantomeno evidente, è opportuno procedere con il test statisticoMann-Whitney U (caso particolare del Wilcoxon test).

Tale scelta è giustificata dal fatto che i campioni sono solo 2, hanno unanumerosità bassa (distribuzione non parametrica) e sono tra loro indipendenti.Questo tipo di test, inoltre, non è sensibile agli outliers (poiché lavoro con iranghi).

L’ipotesi nulla H0, viene espressa asserendo che non vi è alcuna differenzastatisticamente significativa tra i due sistemi. In altri termini:

Page 26: Comparazione tra sistemi di apprendimento automatico

CAPITOLO 3. ANALISI ED INTERPRETAZIONE DEI DATI 25

H0 : µC4.5 = µITI .

L’ipotesi H1, invece, asserisce l’esatto contrario: vi è una differenza statisti-camente significativa tra i due sistemi.

H1 : µC4.5 6= µITI .

> 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 testdata: y1 and y2W = 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 talcaso il test prevede che sia possibile rigettare H0 ed asserire che c’è differenzastatisticamente 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).

Page 27: Comparazione tra sistemi di apprendimento automatico

CAPITOLO 3. ANALISI ED INTERPRETAZIONE DEI DATI 26

Il box plot in alto visualizza graficamente la distribuzione dei dati raccoltidall’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 sistemaITI abbia registrato una performance (in termini di accuratezza) migliore diquella di C4.5.

Page 28: Comparazione tra sistemi di apprendimento automatico

Capitolo 4

Conclusioni

Il presente documento ha avuto lo scopo di confrontare le performance di duesistemi 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 lamaggior parte delle caratteristiche: domini categorici, meno di 10 attributidescrittivi e basso numero di categorie predittive.

L’unica differenza significativa tra i due data set è stata la numerosità delleistanze: 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, inentrambi i casi, ITI è risultato essere più preciso a scapito del tempo: l’algoritmoITI, 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 è passatoin secondo piano e ci si è concentrati più sulla qualità della classificazione. Incontesti di più grandi dimensioni è opportuno tener presente anche il fattoretempo di esecuzione.

Alla luce delle forte similarità tra i data set può essere opportuno testare glistessi sistemi di apprendimento su data set con caratteristiche eterogenee.

L’unica conclusione, statisticamente supportata, che può essere desunta daquesta comparazione è che ITI classifica evidentemente meglio rispetto a C4.5su 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 aC4.5.

27

Page 29: Comparazione tra sistemi di apprendimento automatico

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 EndgameData Set;

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

28

Page 30: Comparazione tra sistemi di apprendimento automatico

Bibliografia

[1] Quinlan, J. R. C4.5: Programs for Machine Learning. Morgan KaufmannPublishers, 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 ClassificationTechniques, 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 SupervisedClassification Learning Algorithms, 1998.

[6] GJ, McLachlan, K.A. Do, C. Ambroise, Analyzing microarray geneexpression 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