relazione DM 4.0.pages

Download Report

Transcript relazione DM 4.0.pages

CARVANA PROJECT “DON’T GET KICKED!”
Data Mining, classe 2016-2017
A cura di
Giulio Bambini, Magistrale di Business Informatics, matricola: 458856
Giovanni Genovese, Magistrale di Business Informatics, matricola: 551587
Matilde Lazzari, Magistrale di Informatica Umanistica, matricola: 540881
Indice
1.
Introduzione
2.
Data Undestanding
3.
Clustering
4.
Association Rule Mining
5.
Classification
6.
Conclusioni
7.
Appendice
!1
1. Introduzione
Il presente elaborato si pone l’obiettivo di illustrare il modello di classificazione progettato per prevenire il
rischio di acquisti errati alle aste di auto usate. Grazie al modello, infatti, i rivenditori d’auto potranno diminuire
il rischio di comprare auto problematiche e invendibili al cliente finale. I dati sono relativi alle vetture prodotte tra il 2001 e il 2010 e sono forniti dalla start-up americana Carvana. Il
dataset fornisce una serie di caratteristiche di varia natura relative ai veicoli, come per esempio: l’assetto, la
marca, il produttore, il tipo di cambio, il chilometraggio, la locazione geografica dell’asta e l’andamento nel
mercato del settore automotive. Sull’argomento non vi erano particolari conoscenze pregresse e sono state
svolte alcune ricerche sull’andamento del mercato d’auto in USA tra il 2001 al 2010. Si è scoperto, per
esempio, che in quegli anni il mercato in USA subiva una forte crisi, specialmente delle grandi case GM,
Chrysler e Ford1 . Inoltre, per la valutazione delle auto usate vengono spesso presi in considerazione il
chilometraggio, la marca, il colore, l’assetto e l’età.
Il progetto si dirama in quattro sezioni:
1. Data understanding: analisi del training set, data quality, data semantic e preprocessing.
2. Operazioni di clustering che hanno evidenziato ridondanze e particolari relazioni tra alcuni attributi del
dataset, come per esempio i valori di MMR, il prezzo a cui è stato acquistato il veicolo e della garanzia.
3.
Scoperta di pattern frequenti e regole di associazione.
4. L’ultima sezione prevede la costruzione del modello di classificazione più adatto allo scopo dell’elaborato.
Verranno presentati diversi modelli e la scelta di quello definitivo verrà accompagnata da una riflessione.
1
http://www.sicurauto.it/esperto-di-sicurauto/news/crisi-del-mercato-auto-riflessioni-su-cause-responsabilita-e-rimedi.html
!2
2. Data Understanding 2.1 Analisi qualitativa e quantitativa dei dati
Il training set presenta le seguenti caratteristiche:
N° di record: 72983 e N° di attributi: 33. Tra gli attributi del training set se ne contano 18 di tipo numerico e 14
di tipo nominale. Nella tabella (0) sono riportati tutti gli attributi categorizzati per tipologia.
Tipologia
NUMERICO
CATEGORICO
Attributo
Discreto
VehYear, VehicleAge, WheelTypeID,BYRNO, VNZIP
Binario
IsBadBuy
Continuo
VehBCost, VehOdo, MMRAcquisitionAuctionAveragePrice,
MMRAcquisitionAuctionCleanPrice,
MMRAcquisitionRetailAveragePrice, MMRAcquisitonRetailCleanPrice,
MMRCurrentAuctionAveragePrice, MMRCurrentAuctionCleanPrice,
MMRCurrentRetailAveragePrice, MMRCurrentRetailCleanPrice,
WarrantyCost
Data
PurchDate
Nominale
Auction, Make, Model, Trim, SubModel, Color, Nationality,
TopThreeAmericanName, AcquisitionType, AUCGUART, VNST
Binario
IsOnlineSale
Ordinale
Size, WheelType
tabella (0): gli attributi del training set categorizzati per tipologia
Dall’analisi qualitativa sono emersi alcuni errori nei valori degli attributi; di seguito alcuni esempi. (a) il valore “Toyota Scion” dell’attributo Make2 . Non esiste sul mercato una casa produttrice con entrambi i
nomi e difatti nel dataset ricorreva solo una volta, confermando la sua natura di errore semantico. Il valore
è stato corretto in “Scion” dal momento che questi è la casa produttrice appartenente alla Toyota.
(b) Valori di Transmission, Trim e Model sono stati scritti in minuscolo mentre tutti gli altri valori erano riportati
in maiuscolo. L’errore formale è stato corretto manualmente dal momento che vi erano poche occorrenze.
(c) Per l’attributo Model sono stati identificati 26 errori di incompletezza per i modelli delle auto che
terminavano con uno “/“, es.: “YARIS 1.5 L l4 EFI/”; sono stati notati 31 errori di incompletezza della frase
“unspecified” scritta come “unspecifi”; 6 errori per la parola Multiple scritta come “Multipl”. Gli errori sono
stati gestiti inserendo manualmente le lettere mancanti.
Non si esclude che all’interno del training set potrebbero essere rimasti refusi ed errori di battitura.
L’individuazione di tutti gli errori avrebbe richiesto tempi computazionali ingenti. Dell’analisi quantitativa dei dati vengono riportate le osservazioni più significative:
(a) Gli attributi AUCGUART e PRIMEUNIT3 presentano una forte scarsità di valori (circa 90% NULL). Per
questa ragione i due attributi, nonostante siano dei criteri interessanti per la valutazione di un’automobile,
non sono stati presi in considerazione per le analisi future.
(b) 2360 automobili non hanno indicato il Trim (l’assetto interno), e 3174 auto non hanno indicazioni riguardo
al tipo di cerchione.
(c) 900 automobili erano sfornite del dato riguardante il prezzo d'acquisto del veicolo in condizioni medie al
momento dell’acquisto (MMRAcquisitionAuctionAveragePrice). Nel dataset sono ben otto gli attributi
2
La traduzione in italiano sarebbe casa produttrice, brand.
3
Il tipo di garanzia sulla qualità dell’auto fornito dall’asta e il livello di richiesta sul mercato rispetto a un’acquisto standard
!3
MMR: siamo in presenza di un caso di ridondanza di valori la cui gestione verrà illustrata nella sezione
seguente.
Il training set si compone di una grande quantità di dati, molti dei quali superflui o ridondanti. Nella sezione di
preprocessing si affronterà una riflessione sull’eliminazione di questi.
2.2 Distribuzione delle variabili
Osservate le distribuzioni dei valori di tutti gli attributi, è stata fatta una scrematura delle più interessanti,
illustrate di seguito.
IsBadBuy: i buoni acquisti sono più frequenti
Nel dataset si nota una distribuzione sbilanciata per valori di IsBadBuy: l’87,7% delle auto è un buon acquisto
mentre il restante 12,3% non lo è (l’immagine 1 in Appendice ne fornisce un quadro illustrativo). La
sproporzione tra IsBadBuy=0 e IsBadBuy=1 dà un’informazione preziosa sul dataset: auto scadenti
rappresentano eccezioni alle aste. Durante la costruzione e la valutazione dei modelli di classificazione, si
dovranno bilanciare i valori di questo attributo così da poterne valutare l’efficienza con le diverse distribuzioni
dei valori della classe. L’argomento verrà trattato approfonditamente nella quinta parte dell’elaborato.
Make: Chevrolet è la marca più frequente
La distribuzione dei valori dell’attributo per le case produttrici presenta una preponderanza di automobili a
marchio Chevrolet (23,81%), seguito poi da Dodge, Ford e Chrysler. Le auto americane rappresentano in
totale l’83,77% dell’intero training set.
VehicleAge: l’età più frequente è 4 anni, le auto a rischio sono le più anziane.
La distribuzione dei valori dell’età dei veicoli è di tipo binomiale e presenta un picco di occorrenze per i 4 anni:
esse rappresentano il 23,21% del training set. Seguono poi quelli di 3 e 5 anni. Inoltre, si è notato che la
percentuale di cattivi acquisti aumenta con l’età del veicolo: un 10% per i veicoli fino a 2 anni d’età, mentre si
arriva al 20% per i veicoli di 6 anni e 31% per i veicoli di 9 anni. La relazione tra l’età del veicolo e la qualità
dell’acquisto è illustrata nell’immagine 2 in Appendice.
Transmission: la maggior parte delle auto ha cambio automatico
Nel training set si nota uno sbilanciamento anche per i valori del cambio: il 96,49% delle automobili ha il
cambio automatico contro il 3,5% con il cambio manuale.
Color: nero e grigio sono i colori delle auto più costose
Si potrebbe presupporre che il prezzo del veicolo vari anche a seconda del colore. Questa ipotesi tuttavia non
è percorribile dal momento che la differenza tra i colori non inficia la differenza di prezzo tranne raramente per
i veicoli di colore nero e grigio, che raggiungono prezzi superiori a 36000$ (Immagine 3 in Appendice).
Dal dataset si possono estrarre altre informazioni:
(a) Sono predominanti le auto americane di 4 anni con cambio automatico e la maggior parte di esse è un
buono acquisto.
(b) La media del chilometraggio delle automobili è 71500 km, la distribuzione segue una curva di Poisson
asimmetrica, negativa a sinistra. Questo significa che vi è un numero minore di automobili con chilometraggio
basso mentre ce ne sono molte con chilometraggio alto.
(c) La media di prezzo dei veicoli è di circa 6731$.
!4
(d) Per quanto riguarda il costo di un veicolo, la media è di 6730$, mentre per quello della garanzia la media
dei valori è di 1276$.
(e) Le auto classificate come OTHER nell’attributo Nationality sono tutte europee di marca Volkswagen, Volvo
e Mini, 195 in totale.
2.3 Preprocessing
2.3.1 Gestione missing values
(a) Size: Sono state eliminate le 5 righe del dataset che contenevano la cella con il valore NULL per questo
attributo. Questo non inficiano particolarmente sulla qualità del dataset.
(b) Transmission: i 9 valori NULL sono stati sostituiti con AUTO poiché tutte le auto erano di marca
americana e il cambio automatico è preponderante nei veicoli made in USA. (c) WheelTypeId: sono stati raggruppati tutti i record per marca e modello. Per ogni record raggruppato di
marca e modello sono stati identificati gli id di cerchioni più frequenti per quei record. I 3169 missing
values sono stati sostituiti con i valori della moda precedentemente scoperta per ogni marca e modello. (d) Nationality: i 5 NULL sono stati gestiti manualmente, guardando il modello di auto e ricavandone la
nazionalità.
(e) Color: 102 missing values sono stati gestiti sostituendoli con i valori più frequenti, cioè quelli del colore
argento. I valori OTHER (241) sono stati mantenuti perché interpretati come colori molto particolari es.
Lilla.
(f) MMRAquisitionAuctionAveragePrice: La scelta di mantenere questo attributo, e quindi gestirne i
missing values, è illustrata alla fine di questa sezione. I 900 missing values sono stati gestiti con una
sostituzione di questi con i valori dell’attributo MMRCurrentAuctionAveragePrice, relativi alla stessa riga,
dal momento che con esso si aveva la correlazione più alta rispetto agli altri sette MMR. Qualora
entrambe le variabili citate presentassero missing value nella stessa riga, si adottavano i valori di un altro
MMR preso casualmente, poiché i punteggi di correlazione tra tutti e otto gli MMR sono alti: da un
minimo di 89% a un massimo di 99%.
2.3.2 Outliers
Gli outliers nel dataset sono stati identificati grazie all’uso di un BoxPlot e sono quei valori che non rientrano
nel range interquartile. Per WarrantyCost e VehicleAge quelli identificati come outliers dal nodo boxplot di
KNIME sono in realtà valori realistici e quindi sono stati mantenuti nel dataset. Sono stati rimossi, invece,
outlier legati ai seguenti attributi: • VehBCost: 1$ e 225$ sono evidenti errori di inserimento dei dati.
• MMRAcquisitionAuctionAveragePrice: 53 outliers con valori eccessivamente alti, analizzati, risultano essere
tutti cattivi acquisti. Eliminati poiché disturbavano l’accuratezza delle analisi.
Sono stati identificati degli outliers riguardo alla relazione tra colore e prezzo del veicolo: le automobili di
colore grigio e nero raggiungono prezzi di gran lunga superiori alla media. Per chiarimenti, riferirsi all’immagine
3 in Appendice.
2.3.1 Trasformazione dei valori
Al fine di compattare i dataset e facilitarne l’analisi sono state svolte le seguenti operazioni di pre processing:
(a) Nationality - unione dei valori di TOP LINE ASIAN con OTHER ASIAN. Il primo valore contiene
un’informazioni aggiuntiva sulla qualità, superflua rispetto alla nazionalità, così è stato inglobato nella
seconda. È stata eseguita poi una trasformazione da stringa a numero discreto di tutti i valori, tale che:
AMERICAN=>0; OTHER ASIAN=>1; OTHER=>2.
(b) Transmission - Trasformazione da stringa a valore numerico binario, tale che: AUTO= 0 e MANUAL= 1
(c) Size - è stato eseguito il binning per compattare i valori in tre categorie: Compact & Sport => SMALL;
Specialty=> MEDIUM; Van & Crossover => LARGE. Le rispettive dimensioni sono state poi trasformate in
!5
interi tale che: SMALL=>0; MEDIUM=>1; LARGE=>2. Per la correlazione con IsBadBuy sono stati uniti
tutti i valori di SMALL&MEDIUM=>1 così da ottenere valori binari da confrontare con quelli di IsBadBuy.
2. 4 Correlazione tra attributi ed eliminazione delle variabili ridondanti
In questa sezione si riportano le riflessioni sulla correlazione tra gli attributi e sull’eliminazione delle variabili
ridondanti.
(a) Tra il costo pagato per il veicolo all’asta e la valutazione di mercato MMR esiste una correlazione positiva
ma si è deciso di mantenere entrambi gli attributi perché reputati significativi per la valutazione di una
vettura.
(b) Tra gli attributi binari non esiste alcuna correlazione positiva. Pertanto tutte le variabili, tranne IsOnlineSale
reputata inutile ai fini dell’analisi, sono state mantenute. (c) Gli attributi seguenti sono stati eliminati per snellire le dimensioni del dataset e perché ritenuti irrilevanti e/
o ridondanti:
• PurchDate: irrilevante • VehYear: ridondante, nel dataset si dispone già di VehicleAge
• Trim: superfluo e troppo dettagliato
• SubModel: superfluo e troppo dettagliato
• WheelType: ridondante, nel dataset si dispone già di WheelTypeId
• TopThreeAmericanName: ridondante, si dispone già di Nationality, la marca è deducibile da Make
• BRYNO: valori univoci superflui per l’analisi
• IsOnlineSale: al momento dell’analisi erano tutti missing value
• Auction: superfluo ai fini dell’analisi, un 40% valori “OTHER” non deducibili da nessun altro attributo
• VNZIP1: Gli zip code dell’asta sono ritenuti irrilevanti ai fini del progetto
• VNST: la locazione geografica dell’asta è ritenuta irrilevante ai fini dell’analisi. (d) Gli MMR si dividono in due macro-classi: MMRCurrent e MMRAcquisition. I primi rappresentano la base
di prezzo dei veicoli nel giorno corrente: questo dato è legato a un fattore temporale e viene stimato
come conseguenza dell’evento dell’acquisto; pertanto, non è utile ai fini dell’analisi. Gli MMRAcquisition
segnano invece la base di prezzo dei veicoli al momento dell’acquisto. È tra questi quattro attributi che è
stata eseguita la correlazione una volta che i valori sono stati normalizzati. Gli attributi maggiormente
correlati ( con valori tra lo 0.99 e lo 0.902) sono stati eliminati, mentre si mantengono i due con
correlazione pari a 0.897: MMRAcquisitionAuctionAveragePrice e MMRAcquisitionRetailAveragePrice. Tra
i due, viene preferito il primo dal momento che si riferisce al contesto d’interesse, le aste, e non a quello
del mercato al dettaglio. La gestione degli attributi MMR viene giustificata anche nella seguente sezione
di clustering.
Il training set, a seguito delle operazioni di data understanding, presenta le seguenti caratteristiche: N° di
record: 72499 e N° di attributi mantenuti: 13 (IsBadBuy, VehicleAge, Make, Model, Color, Transmission,
VehOdo, Nationality, Size, VehBCost, WarrantyCost, WheelTypeID, MMRAcquisitionAuctionAveragePrice).
3. Clustering
Per le operazioni di clustering sono stati scelti i seguenti attributi: gli otto attributi MMR, VehBCost,
MMRAcquisitionAuctionAveragePrice e WarrantyCost. Queste variabili sono state scelte perché
rappresentano un valore monetario dell’automobile e sono misurabili in dollari americani. La sezione si divide
in tre parti: una dedicata agli otto attributi MMR, una dedicata ai prezzi di mercato, della garanzia e del costo
dei veicolo. Per ognuno dei due gruppi di attributi si sono applicati tre algoritmi: K-means, DBScan,
Hierarchical; di seguito si mostra la gestione dei tre adottata per entrambi i gruppi.
Algoritmo K-Means La funzione di distanza scelta è quella euclidea. Per l’identificazione del numero ottimale
di cluster (k) si è osservata la distribuzione di SSE generata in 500 iterazioni per ogni valore di k da 2 a 10. Nel
!6
momento in cui la curva si stabilizza e la differenza di SSE è significativamente minore rispetto alle precedenti,
lì ricade la scelta del numero di cluster ideale da fornire all’algoritmo. Per un esempio, fare riferimento
all’immagine 4 in Appendice.
Algoritmo DBScan La funzione di distanza utilizzata è quella euclidea. Per la scelta dei parametri ottimali di
epsilon si è proceduto in questo ordine:
• calcolo della distanza euclidea dei valori degli attributi.
• formazione di gruppi e per ogni gruppo elezione di un valore rappresentante che sia il più vicino a tutti gli
altri valori intra-gruppo. La distanza attribuita al rappresentante è la media dei valori delle distanze nel
gruppo.
• creazione della curva di distribuzione delle distanze medie di ogni gruppo.
• epsilon è il punteggio di distanza minore statisticamente significativo rispetto ai precedenti. Si sceglie il
punto della curva in cui la distribuzione della distanza inizia a stabilizzarsi. Per un esempio, fare riferimento
all’immagine 5 in Appendice.
Il numero minimo di punti da includere nel raggio del clustering corrisponde al numero di valori incluso nel
gruppo. Iterando i MinPts progressivamente si è notato che i valori ottimali di epsilon ricadevano sempre negli
stessi intervalli. Dunque si è scelto il numero minimo di valori in corrispondenza del punto in cui epsilon si
stabilizzava.
Algoritmo gerarchico La funzione di distanza scelta è quella euclidea. Per ridurre la dimensionalità dei dati
senza perderne le caratteristiche più rappresentative è stato eseguito un raggruppamento dei valori più vicini
tra loro con conseguente elezione di un valore rappresentante per ogni gruppo. Il dataset conta così 4000
istanze, più facilmente gestibili di 72499. In questo modo i tempi computazionali vengono a ridursi
considerevolmente.
3.1 Risultati del clustering per i valori dell’MMR
L’obiettivo è rafforzare la giustificazione per l’eliminazione di sette valori di MMR e mantenerne uno solo
(MMRAcquisitionAuctionAveragePrice), argomento già affrontato nel capitolo del data understanding.
3.1.1 K-means
Una volta osservata la distribuzione degli SSE, il numero ottimale di cluster per minimizzare la somma degli
errori è k= 5. Le variabili si distribuiscono in cinque cluster differenti ma non separati tra loro. Dal momento che l’algoritmo
non soddisfa le attese di vedere un unico cluster per i valori MMR ridondanti, K-means è inefficiente per
questo tipo di analisi.
Con il clustering è stato possibile identificare anche i rumori: dieci automobili con stime di
MMRAcquisitionAuctionAveragePrice superiori a $ 21870, MMRAcquisitionAuctionCleanPrice e
MMRAcquisitionRetailAveragePrice superiori a $ 23751. Tutte e dieci le automobili con questi valori sono
definite nel training set come dei cattivi acquisti. I record con dei valori di mercato superiori alla media hanno
buona probabilità di essere degli acquisti sfortunati.
3.1.2 DBScan
Il valore ottimale di epsilon è 0.05 mentre quello per MinPts è 6. Con il DBScan i valori vengono inclusi in un
unico grande cluster denso ma vi sono anche dei noise distribuiti in zone di densità minore. Analizzando i
rumori si nota che essi sono tutti cattivi acquisti. L’algoritmo DBScan si dimostra efficiente perché conferma la
ridondanza degli attributi MMR. Nell’immagine 6 in Appendice è riportato il risultato grafico del clustering.
3.1.3 Hierarchical
!7
(a) Single - Formazione di un unico cluster grande e compatto. Rafforza la tesi di attributi ridondanti.
Nell’immagine 7 in Appendice è riportato il risultato grafico del clustering.
(b) Complete e Average - Essi hanno risultati simili e non rispecchiano le caratteristiche di correlazione dei
valori MMR nel dataset poiché identificano quattro cluster differenti, non uno solo come atteso. 3.2 Risultati del clustering per i valori VehBCost, MMRAcquisitionAuctionAveragePrice e WarrantyCost
L’obiettivo di questo paragrafo è dimostrare la non ridondanza dei valori e scoprirne le relazioni nascoste.
3.2.1 K-means
Il valore ottimale di cluster per l’algoritmo è 4. I risultati sono illustrati di seguito.
(a) Il valore di MMRAcquisitionAuctionAveragePrice e il costo del veicolo si raggruppano in quattro cluster
compatti tra loro ma facilmente distinguibili. La correlazione tra questi due attributi è positiva ed è pari a
0,835.
(b) Il valore MMRAcquisitionAuctionAveragePrice e il costo della garanzia si distribuiscono in un unico cluster,
sparso, diviso anch’esso in zone facilmente distinguibili. I due attributi hanno una correlazione di 0,005 e in
questo si trova la giustificazione della distribuzione sparsa di valori.
(c) Il costo del veicolo e della garanzia hanno una correlazione di 0,033. I valori si distribuiscono in un unico
cluster identificabile in quattro zone diverse, dove la parte del cluster con i valori di costo più alti ha bassa
densità. In conclusione, nel clustering i quattro attributi sono facilmente distinguibili e non ridondanti.
Si é valutata poi la distribuzione IsBadBuy in relazione ai tre attributi. Di questo si parla nel paragrafo
successivo. Rapporto IsBadBuy con gli attributi di prezzo - Per tutti e tre gli attributi messi a confronto la distribuzione
di IsBadBuy è omogenea. Tuttavia, si è identificata la zona con la concentrazione più elevata di cattivi acquisti
per il clustering con i valori di MMR e VehBCost. Il 24,4%, degli 8912 valori IsBadBuy=1 risiede in questa
area, osservazione significativa dal momento che i cattivi acquisti sono rari in relazione alla dimensionalità del
training set. Gli intervalli in cui i cattivi acquisti sono più frequenti sono i seguenti: per il costo del veicolo tra
3540$ e 7170$; per MMR tra 0 e 1504 $. Per approfondire, vedere immagine 8 in Appendice.
3.2.2 DBScan
Il valore ottimale di epsilon è 0.05 e il numero minimo di punti è 8. L’algoritmo restituisce un unico grande
cluster. Questa conclusione non rispecchia le attese, perciò in questo caso il DBScan non è ritenuto efficiente
perché tende a raggruppare in un unico cluster valori vicini tra loro, avendo come parametro in input un raggio
piccolo.
3.2.3 Hierarchical
Il single linkage identifica un unico grande cluster per tutti e tre gli attributi di costo. L’output in questo caso
non riflette le differenze tra i valori e quindi lo si ritiene inefficiente per questo tipo di analisi. La distribuzione
dei valori in un unico cluster potrebbe essere dovuta alla natura stessa del metodo: prendendo i valori minimi,
si vanificano le differenze di costo che intercorrono tra i prezzi più alti dei valori per i diversi attributi. I metodi
average e complete linkage offrono invece risultati più attendibili: identificano quattro cluster definiti con
divisioni nette e un rapporto gerarchico tra l’attributo (per chiarimenti, vedere l’immagine 9 in Appendice.). Il
risultato più realistico di questi metodi potrebbe essere legato al fatto che essi prendono rispettivamente la
media e il massimo dei valori che meglio danno un’idea delle differenze di prezzo.
3.3 Conclusioni
!8
Per lo svolgimento delle operazioni di clustering, gli algoritmi che hanno performato meglio sono i seguenti:
• DBScan e Single Linkage per gli attributi MMR. • K-means, Hierarchical (con i metodi Average e Complete) per gli attributi
MMRAquisitionAuctionAveragePrice, VehBcost, WarrantyCost.
4. Association Rules Mining
La sezione è divisa in quattro parti:
• preparazione dei dati per ottimizzare le performance
• estrazione degli itemset frequenti e delle regole di associazione
• sostituzione dei missing values con regole migliori e valutazione accuratezza
• valutazione dell’accuratezza dei modelli per predire il valore della classe IsBadBuy 4.1 Preparazione dei dati
Il training set, a seguito delle operazioni di data understanding, presenta le seguenti caratteristiche: N° di
record pari a 72446 e N° di attributi mantenuti pari a 13 (IsBadBuy, VehicleAge, Make, Model, Color,
Transmission, VehOdo, Nationality, Size, VehBCost, WarrantyCost, WheelTypeID,
MMRAcquisitionAuctionAveragePrice).
VehOdo
VehBCost
WarrantyCost
MMRAcquisitionAuctionAve
ragePrice
[1400, 4557) | 8362 occ.
[462, 711) | 10113 occ.
[896, 3707) | 10493 occ.
[45181, 56396) | 8992 occ.
[4557, 5602) | 12300 occ.
[711, 949) | 14304 occ.
[3707, 5087) | 13199 occ.
[56396, 66083) | 11476 occ.
[5602, 6554) | 13648 occ.
[949, 1188) | 12103 occ.
[5087, 6450) | 13757 occ.
[66076, 74309) | 14206 occ.
[6554, 7455) | 12824 occ.
[1188, 1470) | 12773 occ.
[6450, 7796) | 14720 occ.
[74309, 82039) | 15541 occ.
[7455, 8384) | 13331 occ.
[1470, 1892) | 12279 occ.
[7796, 9359) | 12637 occ.
[82039, 90430) | 13651 occ.
[8384, 9634) | 7840 occ.
[1892, 3448) | 10292 occ.
[9359, 11599) | 6062 occ.
[90430, 115717] | 5171 occ.
[9634, 18245] | 4141 occ.
[3448, 7498] | 582 occ.
[11599, 16982] | 1578 occ.
[5368, 45181)
| 3409 occ.
Tabella (1): divisione in intervalli degli attributi di prezzo e relative occorrenze.
Gli attributi VehOdo, VehBCost, WarrantyCost e MMRAcquisitionAuctionAveragePrice presentano
un’eccessiva quantità di valori diversi tra loro che contribuiscono ad accrescere la dimensionalità del training
set. Gli attributi sono stati quindi organizzati in intervalli di dimensioni differenti ottenuti con la libreria arules 4
di R con il metodo “cluster k-means”. A riguardo, vedere la tabella (1) che illustra gli intervalli di suddivisione
dei quattro attributi.
4.2 Estrazione di itemset frequenti e regole di associazione
A partire dal training set ottimizzato sono stati estratti con l’algoritmo Apriori gli itemset frequenti, closed e
maximal ordinati in modo decrescente per soglie di supporto. 4
http://finzi.psych.upenn.edu/library/arules/html/discretize.html
!9
Min_Sup
Frequent Itemsets
Closed Itemsets
Maximal Itemsets
80%
[1]{Transmission=0} (supp=0.96)
[2] {IsBadBuy=0} (supp=0.87)
[3] {Nationality=0} (supp=0.83)
[4]{Transmission=0,Nationality=0} (supp=0.81)
[1] {Transmission=0} (supp=0.96)
[2] {IsBadBuy=0} (supp=0.87)
[3] {IsBadBuy=0,Transmission=0}(supp=0.84) [4] {Nationality=0} (supp=0.83)
[5] {Transmission=0,Nationality=0} (supp=0.81)
-
70%
[1] {Transmission=0} (supp=0.96)
[2] {IsBadBuy=0} (supp=0.87)
[3] {Nationality=0} (supp=0.83) [4] {Transmission=0,Nationality=0} (supp=0.81)
[5] {IsBadBuy=0,Nationality=0} (supp=0.73)
[6] {IsBadBuy=0,Transmission=0,Nationality=0} (supp=0.71)
[1] {Transmission=0} (supp=0.96)
[2] {IsBadBuy=0} (supp=0.87)
[3] {IsBadBuy=0,Transmission=0} (supp=0.84) [4] {Nationality=0} (supp=0.83)
[5] {Transmission=0,Nationality=0} (supp=0.81) [6] {IsBadBuy=0,Nationality=0}
[7] {IsBadBuy=0,Transmission=0,Nationality=0}
(supp=0.73)
[1] {IsBadBuy=0,
Transmission=0,
Nationality=0}(supp=0.70)
50%
[1] {Transmission=0} (supp=0.96)
[2] {IsBadBuy=0} (supp=0.87)
[3] {Nationality=0} (supp=0.83)
[4] {Transmission=0,Nationality=0} (supp=0.81)
[5] {IsBadBuy=0,Nationality=0} (supp=0.73)
[6] {IsBadBuy=0,Transmission=0,Nationality=0} (supp=0.71)
[7] {WheelTypeID=1} (supp=0.50)
[1]{Transmission=0} (supp=0.96)
[2] {IsBadBuy=0} (supp=0.87)
[3] {IsBadBuy=0,Transmission=0} (supp=0.84)
[4] {Nationality=0} (supp=0.83)
[5] {Transmission=0,Nationality=0} (supp=0.81)
[6] {IsBadBuy=0,Nationality=0}
[7] {IsBadBuy=0,Transmission=0,Nationality=0}
(supp=0.73)
[8] {WheelTypeID=1} (supp=0.50)
[1] {IsBadBuy=0,
Transmission=0,
Nationality=0}(supp=0.70),
[2] {WheelTypeID=1}
(supp=0.50)
Tabella (2): itemset frequenti, closed e maximal.
Nel training set sono più frequenti le automobili con cambio automatico, con cerchioni con copertura, di
nazionalità americana e che sono dei buoni acquisti. Successivamente sono state estratte le regole di
associazione con l’algoritmo Apriori qui ordinate per soglia di confidenza ≥ 70%. Per ragioni di sintesi si è
deciso di illustrare solo le regole ritenute più significative.
Regole di Associazione
Confidenza
Lift
[1] {IsBadBuy=0,Nationality=0}=> {Transmission=0}
0.9737568
1.0093562
[2] {IsBadBuy=0} => {Transmission=0}
0.9644896
0.9997502
[3] {Transmission=0} => {IsBadBuy=0}
0.8459289
0.8768551
[4] {IsBadBuy=0} => {Nationality=0}
0.8383632
1.0022177
[5] {Nationality=0} => {Transmission=0}
0.8145354
1.002003030
[6] {Size=2} => {Nationality=0}
0.7687251
0.9100222
[7] {Nationality=0} => {IsBadBuy=0}
0.7353067
1.009003030
[8] {Transmission=0,Nationality=0} => {IsBadBuy=0}
0.7160099
0.8790409
[9] {Size=2 => WheelTypeID=1}
0.7145238
0.8321401
[10] {Size=1} =>{WheelTypeID=2}
0.7122521
0.8221721
Tabella (3): regole con conf. ≥ 70%.
Qui si riportano alcune delle considerazioni estratte dalle regole:
• I veicoli che sono a trasmissione automatica sono dei buoni acquisti. [3]
• I veicoli che sono dei buoni acquisti sono di nazionalità americana. [4]
• I veicoli che sono di nazionalità americana sono a trasmissione automatica. [5]
• I veicoli che sono di nazionalità americana sono dei buoni acquisti. [7]
• I veicoli che sono di grandi dimensioni hanno i cerchioni in lega. [9]
• I veicoli che sono di medie dimensioni hanno i cerchioni con copertura. [10]
!10
Molte delle regole ottenute hanno una confidenza alta anche invertendone la testa con il corpo, es: [2]
{IsBadBuy=0} => {Transmission=0} e [3] {Transmission=0} => {IsBadBuy=0}. A una prima osservazione le
regole ottenute, pur avendo il punteggio di confidenza più elevato, non riescono ad offrirci un'informazione
utile all’obiettivo dell’elaborato. Per questo motivo è stato applicato al programma in R un filtro per ottenere
solo le regole con la classe IsBadBuy nel body e una soglia di confidenza ≥ 70%. Osservare la tabella (4) con
le regole estratte con classe IsBadBuy=0.
Regole di Associazione
Confidenza
Lift
[1] {VehicleAge=2,Transmission=0} => {IsBadBuy=0}
0.9372045
1.0681631
[2] {VehicleAge=2} => {IsBadBuy=0}
0.9371114
1.068057
[3] {WheelTypeID=2, MMRAcquisitionAuctionAveragePrice=[ 6450, 7796)} => {IsBadBuy=0}
0.9296934
1.0596025
[4] {Nationality=0,MMRAcquisitionAuctionAveragePrice=[ 7796, 9359) => {IsBadBuy=0}
0.9259059
1.0552857
[5] {VehicleAge=3,WheelTypeID=2} => {IsBadBuy=0}
0.9182601
1.046958
[6] {Make=DODGE,Transmission=0,Nationality=0} => {IsBadBuy=0}
0.9155017
1.028840
[7] {Make=CHEVROLET} => {IsBadBuy=0}
0.9145017
1.026840
[8] {Nationality=0,Size=1,WarrantyCost=[ 894,1143)} => {IsBadBuy=0}
0.9066590
1.0333494
[9] {Nationality=0,Size=1,WheelTypeID=2} => {IsBadBuy=0}
0.9003353
1.026142
[10] {Nationality=0,Size=2,WheelTypeID=2} => {IsBadBuy=0}
0.8686354
0.9900126
[11] {Nationality=0,Size=2} => {IsBadBuy=0}
0.8634314
0.9700133
[12] {Color=SILVER} => {Transmission=0}
0.8611559
1.0002604
[13] {MMRAcquisitionAuctionAveragePrice=[7796, 9359)} => badBuy=0
0.8123873
0.9700212
Tabella (4): regole ottenute con IsBadBuy=0 conf. ≥ 70%.
Qui si riportano alcune delle considerazioni estratte dalle regole per i buoni acquisti:
• I veicoli di tre anni con cerchioni con copertura [5] • I veicoli di due anni a trasmissione automatica [1].
• La marca Chevrolet [7] e la marca Dodge nei veicoli americani a trasmissione automatica [6].
• Dimensione grossa del veicolo, cerchi con copertura e di nazionalità americana [10].
Di seguito si riportano le regole trovate con classe IsBadBuy=1.
Regole di Associazione
Conf
Lift
[1] {VehicleAge=8, Color=BLACK,VehOdo=[ 82039, 90430),VehBCost=[ 1400, 4557)} => {IsBadBuy=1}
0.9
8.156496
[2] {VehicleAge=8,Color=BLACK,WheelTypeID=1,VehOdo=[ 82039, 90430),VehBCost=[ 1400, 4428)} => {IsBadBuy=1}
0.9
7.321488
[3] {VehicleAge=8,Color=BLACK,Nationality=0,VehOdo=[ 82039, 90430),VehBCost=[ 1400, 4557)} => {IsBadBuy=1}
0.9
8.134987
[4] {VehicleAge=8,Color=BLACK,Nationality=0, WheelTypeID=1, VehOdo=[ 82039, 90430),VehBCost=[ 1400, 4557)} =>
{IsBadBuy=1}
0.9
8.156496
[5] {Make=NISSAN,WheelTypeID=1,MMRAcquisitionAuctionAveragePrice=[896, 3707) => {IsBadBuy=1}
0.9
7.321488
[6] {Nationality=1,Size=2,WheelTypeID=1, WarrantyCost=[1470, 1892), MMRAcquisitionAuctionAveragePrice=[896, 3707)} =>
{IsBadBuy=1}
0.9
8.134987
[7] {VehicleAge=8, Color=BEIGE, WheelTypeID=1,VehBCost=[ 1400, 4428),
MMRAcquisitionAuctionAveragePrice=[ 896, 3707)} => {IsBadBuy=1}
0.8
7.250219
[8] {MMRAcquisitionAuctionAveragePrice=[896, 3707)} => {IsBadBuy=1}
0.8
7.321121
!11
Tabella (5): regole ottenute con IsBadBuy=1 conf. ≥ 70%.
Qui si riportano alcune delle considerazioni estratte dalle regole per i cattivi acquisti:
• veicoli di circa 8 anni, di colore nero, con un chilometraggio compreso tra 82039 e 90430 km, con un
prezzo di acquisto compreso tra 1400 e 4428 $ [1].
• veicoli asiatici di dimensioni grandi con cerchi in lega, con una valutazione di mercato media compresa tra
896$ e 3707$ e con un costo della garanzia compreso tra 1470$ e 1892$ [6].
4.3 Sostituzione dei missing values con le regole ottenute e valutazione dell’accuratezza
Il training set su cui sono stati sostituiti i missing values con le regole più significative presenta le seguenti
caratteristiche: N° di record: 72930 (il totale dell’intero training set esclusi 53 outliers) e N° di attributi
mantenuti: 20 (IsBadBuy, VehicleAge, Make, Model, Color, Transmission, VehOdo, Nationality, Size, VehBCost,
WarrantyCost, WheelTypeID, gli 8 MMR). Laddove sono state utilizzate regole non presenti nella tabella(4) per
sostituire i valori mancanti è stato inserito il valore di confidenza relativo alla regola.
(a) Size: i 5 NULL filtrati per Size sono stati sostituiti con il valore 2 (LARGE) perché il valore compare nelle
regole : {Nationality=0,Size=2} => {IsBadBuy=0}, {Size=2} => {Nationality=0} e
{IsBadBuy=0,Transmission=0} => {Size=2} (conf.0.63).
(b) Transmission: i 9 valori NULL sono stati sostituiti con 0 (AUTO) perché {Transmission=0} è presente in
regole con con una soglia di confidenza ≥ 70%, mentre {Transmission=1} non è mai presente.
(c) WheelTypeId: di 3169 missing values, 1348 filtrati per Size=2 sono stati sostituiti con il valore 1 dal
momento che esso compariva nella regola con con una soglia di confidenza ≥ 70%: {Size=2 =>
WheelTypeID=1}. 1385 valori mancanti filtrati per Size=1 sono stati sostituiti invece con il 2 perché c’è
un’alta confidenza nella regola {Size=1} =>{WheelTypeID=2}.
(d) Nationality: dei 5 NULL, 4 sono stati sostituiti con il valore 0 poiché questo valore compariva nel body di
regole con con una soglia di confidenza ≥ 70% e la cui head conteneva solo marche e modelli americani.
L’ultimo missing value è stato sostituito con 1, dal momento che il valore compariva in regole con
confidenza alta e nella cui testa vi erano modelli e marchi asiatici.
(e) Color: gli 8 missing values filtrati per Transmission sono stati sostituiti con il valore SILVER per l’alta
confidenza nella regola {Transmission=0} => {Color=SILVER} (conf.0.61).
(f) MMR: tutti i missing values filtrati per IsBadBuy=0 sono stati sostituiti con il valore 8599, la media
dell’intervallo [7814, 9385) per l’alta confidenza nella regola {IsBadBuy=0} =>
{MMRAcquisitionAuctionAveragePrice=[7814, 9385)}. Tutti i missing values filtrati per IsBadBuy=1 sono
stati sostituiti con il valore 2301, la media dell’intervallo [896, 3707) per l’alta confidenza nella regola
{IsBadBuy=1} => {MMRAcquisitionAuctionAveragePrice=[896, 3707)}.
Predizione
0
1
Accuratezza
Accuratezza Bilanciata
0
63987
8943
0.87
0.50
1
0
0
Tabella (6): matrice di confusione per training set con missing values sostituiti con regole di associazione.
La matrice di confusione calcolata con la libreria caret5 di R restituisce l’87% di accuratezza per la classe
IsBadBuy, ma il punteggio è basato sulla predizione della classe IsBadBuy=0. Nella sezione 4.4 valuteremo
anche l’accuratezza per il training set ottimizzato nella fase di data manipulation.
4.4 Predizione della classe IsBadBuy e valutazione dell’accuratezza
5
ftp://cran.r-project.org/pub/R/web/packages/caret/caret.pdf
!12
Per capire quali regole estratte siano fondamentali nel predire la classe IsBadBuy è stato generato un
classificatore con la libreria arules CBA6. La funzione classifier prende come argomenti il training set
ottimizzato sul quale il classificatore creerà il modello e la classe da predire. Una volta creato il modello, sono
state restituite le regole di associazione che predicono la classe IsBadBuy. Osservare la tabella (7) con le
regole ottenute.
Regole di associazione
Conf
Lift
{VehicleAge=1, MMRAcquisitionAuctionAveragePrice=[ 7796, 9359)} => {IsBadBuy=0}
0.9697352
1.105239
{VehicleAge=3} => {IsBadBuy=0}
0.9189172
1.04732
{Transmission=0,Nationality=0} => {IsBadBuy=0}
0.879119
1.001961
Tabella (7): regole che predicono la classe IsBadBuy su training set ottimizzato.
Come si nota, le uniche regole estratte prevedono come conseguenza un buon acquisto e questo si allontana
dall’obiettivo dell’elaborato, che è invece predire i cattivi acquisti. Al fine di accertarsi della qualità della classe
predetta dal classificatore è stata calcolata la matrice di confusione.
Predizione
0
1
Accuratezza
Accuratezza Bilanciata
0
63564
8882
0.87
0.50
1
0
0
Tabella (8): matrice di confusione per training set ottimizzato.
Il modello restituisce l'87% di accuratezza, stesso punteggio ottenuto sul training set con i missing values
sostituiti con i valori delle regole di associazione. Il modello predice però solo la classe IsBadBuy=0,
probabilmente perché il dataset è sbilanciato (87,7% di buoni acquisti contro un 12,3% di cattivi acquisti).
Anche abbassando la soglia di confidenza sotto il 30% non si ottiene alcuna regola che abbia nel body
IsBadBuy=1. Per questo motivo è stato bilanciato il training set utilizzando un procedimento di oversampling
con la libreria diplyr7 in R. Il risultato è visibile in tabella (9).
isBadBuy=0
isBadBuy=1
Totale
8962
8882
17844
Tabella (9): risultato bilanciamento del training set con oversampling.
È stato poi rigenerato il classificatore con il training set bilanciato. Le regole di associazione ottenute per
predire la classe IsBadBuy sono riportate nella tabella (10).
Regole di associazione
Conf
Lift
[1] {VehicleAge=3} => {IsBadBuy=0}
0.9189172 1.04732
[2] {VehicleAge=9} => {IsBadBuy=1}
0.7829457 1.570548
[3] {VehicleAge=8,Transmission=0, VehBCost=[ 1400, 4557),MMRAcquisitionAuctionAveragePrice=[ 896,
3707)} => {IsBadBuy=1}
0.7728814 1.550359
[4] {VehicleAge=8,VehBCost=[ 1400, 4428),MMRAcquisitionAuctionAveragePrice=[ 896, 3707)} =>
{IsBadBuy=1}
0.7704403 1.545462
Tabella (10): regole che predicono la classe isBadBuy su training set bilanciato
6
https://cran.r-project.org/web/packages/arulesCBA/vignettes/arulesCBA.pdf
7
https://cran.r-project.org/web/packages/dplyr/dplyr.pdf
!13
Al fine di accertarsi della qualità della classe predetta dal classificatore è stata calcolata anche in questo caso
la matrice di confusione.
Predizione
1 Accuratezza
0
0
3373
2270
1
5589
6612
Accuratezza Bilanciata
0.55
0.56
Tabella (11): matrice di confusione per training set sbilanciato
Il modello restituisce il 55% di accuratezza, ma esso include anche la classe IsBadBuy=1. Il bilanciamento del
dataset permette di riequilibrare la predizione della classe IsBadBuy. Essa risulta quindi un’operazione
ottimale per l’identificazione di regole concernenti l’obiettivo dell’elaborato. 5. Classificazione
Di seguito si illustrano i passaggi che hanno portato alla realizzazione del modello di classificazione più adatto
alla predizione del rischio di un cattivo acquisto.
5.1 Preparazione dei dati: trasformazione e feature selection
Per identificare le variabili più rilevanti da impiegare nella costruzione del modello è stata applicata la feature
selection, dalla quale si sono scelti i cinque attributi8 che minimizzavano l’errore di classificazione: il tipo di
cambio del veicolo; la nazionalità; la dimensione; il tipo di cerchione; i valori di
MMRAcquisitionAuctionAveragePrice e l’età del veicolo. Sui valori degli attributi numerici come WarrantyCost,
VehBCost, MMRAcquisitionAuctionAveragePrice è stato eseguito l’equal frequency binning, così da ottenere
sette intervalli della stessa dimensione.
5.2 Creazione di alberi decisionali e massimizzazione delle performance
Al fine di identificare il modello di predizione migliore sono stati messi a confronto cinque alberi ottenuti dagli
algoritmi illustrati il tabella (12) con i relativi punteggi di performance.
Algoritmo
Accuracy %
Precision
Recall
F-Measure TP
FP
TN
FN
Decision Tree
Learner (Gini)
87,718
0,87
0,99
0,935
63572
888
23
15
Decision Tree
Learner (Gain)
87,714
0,87
0,99
0,935
63576
8896
16
11
Random
Forest
87,731
0,87
0,99
0,935
63583
8891
21
4
C4
87,739
0,87
0,99
0,935
63579
8888
24
8
Naive Bayes
87,776
0,88
0,98
0,932
62369
8396
543
1218
Tabella (12): alberi decisionali e punteggi ottenuti.
Per l’algoritmo Decision Tree Learner (Gini e Gain) è stato applicato un post pruning con il metodo MDL,
ideale per ridurre il rischio di overfitting. Al Random Forest è stato imposto il pre-pruning: gli alberi non hanno
profondità maggiore di cinque livelli. Più è dettagliato l’albero più s’incorre nel rischio di overfitting: per sei
livelli si otteneva un punteggio di accuratezza di 92,95% per il training set e un 82% per il test set. Con cinque
livelli imposti invece si ottiene un punteggio di 87.28% di accuratezza per il training e un 87,73% per il test
8
Le variabili sono quelle del dataset pulito ottenuto dal data understanding.
!14
set. Per l’algoritmo C4 (Weka node: J48) è stato applicato un post-pruning MDL. I punteggi della tabella (12)
sono stati ottenuti a seguito della validazione con il metodo cross validation. Dato il confronto tra gli output
degli algoritmi, quello che a un primo sguardo sembra performare meglio in accuratezza è l’albero ottenuto
con l’algoritmo Naive Bayes.
5.2.1 Confronto tra alberi prunati e non prunati
Le operazioni di pruning sono state eseguite per prevenire il rischio di overfitting. Tali operazioni, tuttavia,
comportano uno svantaggio: le previsioni di acquisti errati sono numericamente inferiori rispetto a quelle di
alberi non prunati (rispettivamente 1223 per il non prunato e 23 per l’albero prunato). Viceversa, gli alberi non
prunati offrono un maggior numero di previsioni per gli acquisti errati ma incorrono in overfitting. A questo
proposito, si riporta in tabella (13) un esempio per il confronto di due alberi ottenuti con l’algoritmo Decision
Tree Learner (Gini).
Score Decision Tree Learner Non prunato
Prunato (MDL)
0,8771
0,8775
0,87763
0,8774
Precision
0,88
0,87
Recall
0,90
0,99
TP
57813
63572
FP
7689
8889
TN
1223
23
FN
5771
15
3
0
Accuracy test set
Accuracy training set
Missing Values
Tabella (13): Confronto tra albero non prunato e prunato.
L’albero non prunato va in overfitting con un punteggio di accuracy del test set minore del training set. Inoltre,
restituisce tre missing values: tre valori per i quali l’albero non sa dare una risposta. Il modello è troppo
aderente alla natura dei dati del training set e non ha un buon livello di generalizzazione. 5.2.3 Confronto di alberi con dataset bilanciato e sbilanciato
Fino ad ora si è mantenuto lo sbilanciamento tra il numero di cattivi e buoni acquisti. Per valutare se lo
sbilanciamento inficiasse sull’accuratezza degli alberi si è deciso di confrontare due alberi ottenuti con
dataset diversi9: uno realistico (classe sbilanciata) e uno ideale (classe bilanciata). Per bilanciare la classe si è
attuato un random sampling. Seppure l’albero con il dataset realistico abbia un’accuratezza maggiore rispetto
a quello con il dataset ideale, non predice alcun cattivo acquisto. Questo non deve stupire poiché i valori 1
per IsBadBuy sono solo il 12% del training set. Con un training set bilanciato, d’altro canto, sarebbe più facile
prevedere i cattivi acquisti e quindi potrebbe essere un’operazione utile per la costruzione dei modelli
decisionali. I risultati del confronto sono illustrati in tabella (14).
Score Decision
Tree Learner
9
Classe bilanciata
Classe sbilanciata
Accuracy test set
0,597
0,877
Precision
0,599
0,87
Ma con lo stesso numero di transazioni
!15
Score Decision
Tree Learner
Classe bilanciata
Classe sbilanciata
Recall
0,605
0,99
TP
5253
15633
FP
3517
2191
TN
5395
0
FN
3659
0
Tabella (14): confronto delle performance per albero con classe bilanciata e non.
I modelli costruiti con l’algoritmo Decion Tree Learner (Gini) con i due diversi dataset sono stati confrontati
con una curva ROC. Il modello con il dataset bilanciato risulta essere il migliore. In riferimento, vedere
l’immagine 10 in Appendice.
5.3 Interpretazione degli alberi decisionali e validazione di questi
Dalla lettura degli alberi decisionali con gli algoritmi C4 e Decision Tree Learner (Gini) (immagine 11 in
Appendice) si giunge alle seguenti conclusioni:
• Acquisti rischiosi sono automobili con un valore di MMRAcquisitionAuctionAveragePrice superiore a
18600$, di nazionalità europea o asiatica, con età inferiore ai 4 anni.
• Se l’auto è americana, è un cattivo acquisto qualora abbia una valutazione di
MMRAcquisitionAuctionAveragePrice superiore a 23581$.
• Se un’auto ha più di 4 anni, c’è il 18% di probabilità che questa sia un cattivo acquisto: su 25591
automobili, 4634 sono predette come un acquisto rischioso.
Per l’albero estratto con l’algoritmo Decision Tree Learner (Gain) (immagine 12 in Appendice) si prevede che i
cattivi acquisti siano automobili con un chilometraggio superiore a 5368km, con un valore di
MMRAcquisitionAuctionAveragePrice compreso tra 14827$ e 21792$.
Dell’algoritmo Random Forest si riportano le previsioni più significative.
• Le vetture di nazionalità americana con valori di MMRAcquisitionAuctionAveragePrice compresi tra 896$ e
7862$, con cerchioni in lega, un costo di garanzia tra i 4684$ e 6091$ e il chilometraggio superiore ai
4959km, sono predette come cattivi acquisti.
• Sono acquisti rischiosi le auto americane con chilometraggio compreso tra 5368km e 27438km, con valori
di MMRAcquisitionAuctionAveragePrice compresi tra 896$ e 7862$, cambio manuale e cerchione con
copertura.
• Le vetture grandi con cambio manuale, con chilometraggio compreso tra 93648km e 115717km, con valori
di MMRAcquisitionAuctionAveragePrice compresi tra 896$ e 7862$, sono predette come cattivi acquisti.
• Le auto europee sia piccole che grandi, con cambio manuale e valori di
MMRAcquisitionAuctionAveragePrice compresi tra 896$ e 7862$, con chilometraggio superiore a 71578km
e cerchioni con copertura, sono ritenute acquisti rischiosi.
• Sono cattivi acquisti le auto con cerchi in lega il cui chilometraggio è compreso tra 49508km e 71578km,
con valori di MMRAcquisitionAuctionAveragePrice compresi tra 896$ e 7862$ e costo di garanzia
compreso tra 4684$ e 6091$.
• Le auto con cerchi in lega, con chilometraggio tra 5368km e 27438km, costo del veicolo compreso tra
10214$ e 1928$ sono previsti come cattivi acquisti. • Le auto grandi o medie, con cerchi in lega, chilometraggio compreso tra 27338km e 49508km, costo di
garanzia compreso tra 1870$ e 3277$ e valori di MMRAcquisitionAuctionAveragePrice compresi tra 896$ e
7862$, sono cattivi acquisti.
!16
In conclusione, per prevenire il rischio di acquistare un’auto in cattive condizioni, il rivenditore dovrebbe
considerare l’età del veicolo, il valore MMRAcquisitionAuctionAveragePrice, la nazionalità del veicolo, il
cambio, il costo della garanzia e il chilometraggio. Tutti gli alberi sono stati testati con la cross validation. Per ognuno di essi lo splitting del training set con la
migliore accuracy (senza rischio di overfitting), è il seguente: N* record per training: 65250 (90%); N* record
per test: 7249 (10%). I punteggi di accuratezza di tutti gli alberi generati dai diversi algoritmi sono riportati
nella tabella (12). 5.5 Il miglior modello predittivo
Il confronto tra i modelli si è svolto con la costruzione di una ROC Curve, illustrata nell’immagine 13 in
Appendice. Il classificatore bayesiano naif è quello che offre il modello migliore: le sue predizioni sono le più
distanti da quelle di un modello di classificazione casuale. Inoltre, l’albero prodotto da questo algoritmo è
anche quello che predice un maggior numero di cattivi acquisti e quindi ideale per l’obiettivo della ricerca.
Il risultato del modello di classificazione è stato sottoposto al test set fornito da Carvana e il punteggio
ottenuto è di 0,12913 (immagine 14 in Appendice).
6 . Appendice
!17
!18
Immagine 11: albero decisionale DTL (gini)
Immagine 12: albero decisionale DTL (gain)
!19
!20