Sistemi per la gestione di basi di dati

annuncio pubblicitario
Sistemi per la gestione di basi di dati
Esercitazione #6 – Rapid Miner
Utilizzare alcuni algoritmi di classificazione per analizzare un dataset reale utilizzando il tool di machine
learning RapidMiner.
Dataset
Il dataset Utenti (Utenti.xls, disponibile all’indirizzo http://dbdmg.polito.it/wordpress/teaching/sistemi-perla-gestione-di-basi-di-dati) contiene dati di censimento riguardanti gli utenti che hanno presentato una
richiesta di assistenza per un certo servizio. Ogni record corrisponde ad una richiesta di servizio da parte di
un utente. Il dataset contiene 32.000 richieste contenenti sia le informazioni personali dell’utente che ha
effettuato la richiesta sia la classe di appartenenza del servizio richiesto (“Basic” o “Premium”). L’etichetta
di classe è riportata come ultimo attributo di ogni record.
Ogni record è caratterizzato dalla seguente lista di attributi.
(1) Age
(2) Workclass
(3) FlnWgt
(4) Education record
(5) Education-num
(6) Marital status
(7) Occupation
(8) Relationship
(9) Race
(10) Sex
(11) Capital Gain
(12) Capital loss
(13) Hours per week
(14) Native country
(15) Service class (class)
Contesto
Negli Stati Uniti un fornitore di servizi fornisce servizi di tipo “Basic” e “Premium”. Un’analista è interessato
a prevedere la classe di servizio richiesta da nuovi utenti. Utilizzare due algoritmi di classificazione (Decision
Trees e Naïve Bayes) per effettuare l’analisi. Il dataset Utenti è utilizzato per addestrare e validare le
prestazioni di ogni algoritmo di classificazione.
Obiettivo
L’obiettivo di questa esercitazione è generare alcuni modelli di classificazione e validarli mediante il tool
RapidMiner. Due differenti processi di RapidMiner dovranno essere sviluppati per costruire classificatori
basati su Decision Tree e Naïve Bayes. Per ogni algoritmo testare e confrontare le prestazioni di alcune
configurazioni modificando i parametri di input. Creare un processo di Cross Validazione (10-fold) per
validare ogni modello di classificazione. Analizzare i risultati per selezionare le migliori impostazioni di
configurazione di ogni classificatore.
Domande
Rispondere alle seguenti domande:
-
-
-
Quale attributo è maggiormente discriminante per la predizione della classe? Il classificatore
genera partizioni pure?
Cosa si evince confrontando le diverse configurazioni del Decision Tree? Qual è l’impatto dei
parametri di input (criterio, maximum gain, maximum depth) sulle caratteristiche del modello
generato?
Confrontare la matrice di confusione ottenuta con diverse configurazioni del Decision Tree. Quali
sono i range dei valori per i parametri di input maximum gain e maximum depth che consentono di
ottenere la migliore accuratezza media? Quale criterio genera il modello di classificazione
mediamente più accurato?
Confrontare il classificatore Decision Tree con Naïve Bayes in termini di accuratezza, precisione
media pesata rispetto alle cardinalità delle classi (weighted mean precision), richiamo medio pesato
rispetto alle cardinalità delle classi (weighted mean recall) e tempo di esecuzione. Quale
classificatore ha un comportamento medio migliore?
Passi richiesti per lo svolgimento dell’esercitazione
Installazione del programma
-
-
Copiare e decomprimere l’archivio compresso di RapidMiner disponibile nella cartella condivisa
raggiungibile al path:
Linux: smb://cclix1/corsi/dbdmg/
Windows: \\cclix1\corsi\dbdmg\
Eseguire lo script RapidMinerGUI.bat (in Windows) o RapidMinerGUI (in Linux) disponibile nella
directory “script” per lanciare l’interfaccia grafica di RapidMiner.
Costruzione del processo di analisi
-
Creare un nuovo processo di Rapid Miner
Costruire il flusso di analisi trascinando gli operatori disponibili sulla barra alla sinistra dello spazio
di lavoro.
Figura 1. Operatori
-
Per gestire l’esecuzione utilizzare i bottoni Start/Stop/Pause. Per analizzare i risultati cambiare la
prospettiva in results.
Figura 2. Pulsanti di Esecuzione e Cambio prospettiva
-
Analizzare il contenuto del dataset Utenti disponibile in formato Excel.
Importare il dataset nel processo di analisi utilizzando l’operatore “Read Excel”.
Utilizzare il Data Import Wizard per importare correttamente i dati. Indentificare il ruolo
dell’attributo “Service” come “label” durante la procedura di import (Step 4).
Includere nel flusso di analisi il classificatore “Decision Tree”. Il processo di data mining generato
dovrebbe essere simile a quello riportato in Figura 3.
Figura 3. Processo di analisi basato sul classificatore Decision Tree
-
-
Eseguire il processo ed analizzare il modello generato.
Nella prospettiva process Overview cambiare la configurazione del Decision tree. In particolare,
modificare i valori assegnati ai parametri di input (criterion, minimal gain, and maximum depth) e
analizzarne l’impatto sul modello generato.
Modificare il flusso del processo per effettuare una 10-fold Cross Validation. In particolare, nel
processo principale includere il blocco “X-Validation” al posto del blocco Decision Tree.
Figura 5. Processo di validazione: 10-Fold Cross Validation
-
Effettuare un doppio click sull’operatore X-Validation e creare un processo nidificato simile a
quello mostrato in Figura 6.
Figura 6. Validation subprocess.
-
Eseguire il processo di validazione.
Spostarsi alla prospettiva “Results overview” e analizzare la matrice di confusione generata dal
processo di validazione.
Disabilitare temporaneamente l’operatore Decision Tree (click destro sul box dell’operatore) e
sostituirlo con il classificatore Naïve Bayes (Kernel), oppure creare un nuovo processo di analisi.
Confrontare le performance del classificatore Naïve Bayes (Kernel) con quello Decision Tree in
termini di accuratezza, precisione media pesata rispetto alle cardinalità delle classi (weighted mean
precision), richiamo medio pesato rispetto alle cardinalità delle classi (weighted mean recall) e
tempo di esecuzione (valori inferiti dalla matrice di confusione).
Scarica