Business Intelligence
Esercitazione di laboratorio N. 5
Gli obiettivi dell’esercitazione sono:
-
-
applicare i principali algoritmi di clustering disponibili in Rapid Miner per segmentare gli utenti
della campagna in funzione delle loro caratteristiche anagrafiche e lavorative e le news in base
alla similarità dei termini in esse contenuti.
applicare i principali algoritmi di regole di associazione disponibili in Rapid Miner per analizzare
le correlazioni nascoste all’interno dei dati relativi agli utenti della campagna e alla collezione
reale di news.
Dati strutturati
Il dataset denominato UsersSmall (UsersSmall.xls) è disponibile sul sito del corso
(http://dbdmg.polito.it/wordpress/teaching/business-intelligence/). Esso raccoglie dati anagrafici e
lavorativi relativi a circa 300 persone contattate da un’azienda per proporgli l’iscrizione ad un loro servizio.
Per tali utenti è noto se, dopo essere stati contattati, si sono iscritti al servizio proposto oppure no (valore
del campo Response).
La lista completa degli attributi del dataset a disposizione (UsersSmall.xls) è riportata di seguito.
(1) Age
(2) Workclass
(3) Education record
(4) Marital status
(5) Occupation
(6) Relationship
(7) Race
(8) Sex
(9) Hours per week
(10) Native country
(11) Response.
Dati testuali
Il dataset denominati ObamaNews (ObamaNews.zip) è disponibile sul sito del corso
(http://dbdmg.polito.it/wordpress/teaching/business-intelligence/). Esso contiene una collezione di news
scaricate mediante il servizio Google News. La collezione rappresenta l’insieme delle prime 10 news (pagine
contenenti notizie) restituite da Google News a fronte della specifica della parola chiave Obama.
Clustering di dati strutturati
L’obiettivo dell’analisi è raggruppare le persone in gruppi omogenei, tali che persone appartenenti al
medesimo gruppo abbiano caratteristiche simili mentre persone appartenenti a gruppi diversi siano
dissimili. I gruppi possono rappresentare segmenti di clientela verso cui mirare specifiche promozioni o
campagne pubblicitarie.
Obiettivo 1 – Valutazione soggettiva dei cluster generati
Importare il dataset UsersSmall escludendo l’attributo Response dall’analisi (operatore Select
Attributes).
Normalizzare i valori degli attributi numerici indicando come intervallo di valori [0-1].
Applicare l’algoritmo di clustering k-Medoids (numero di cluster k=2) e analizzare il risultato.
Applicare l’algoritmo di clustering DBScan (min points = 3) e analizzare il risultato.
Applicare l’algoritmo di clustering Agglomerative e analizzare il risultato.
Selezionare due cluster dal risultato dell’algoritmo di clustering Agglomerative (operatore Flatten
Clustering). Confrontare il risultato ottenuto con quello prodotto dall’algoritmo k-Medoids (numero
di cluster k=2).
Analizzare l’impatto del parametro k sulle caratteristiche qualitative del risultato degli algoritmi di
clustering.
Obiettivo 2 – Valutazione oggettiva dei cluster generati
Calcolare il grado di coesione dei cluster generati dagli algoritmi k-Medoids, Agglomerative e
DBScan (operatori Data to Similarity e Cluster Density Performance, misura
MixedEuclideanDistance). Scegliere l’algoritmo migliore in base a tale valutazione.
Rieseguire il processo di valutazione precedente per differenti valori di k.
Calcolare l’SSE (Sum of Squared Errors) dei cluster generate con l’algoritmo K-Means. Per il calcolo
usare lo script sse.script disponibile sul sito del corso (operatore Execute script) copiando e
incollando il codice all’interno dell’opportuna textbox. (N.B. Escludere gli attributi speciali Id e Label
a valle del clustering dall’example set in input allo script.)
Generare il k-distances plot (visualizzabile a partire dall’output del blocco Data to Similarity) e, in
funzione del risultato, discutere la configurazione del parametro Epsilon dell’algoritmo DBScan.
Obiettivo 3 – Visualizzazione/validazione del risultato di un processo di clustering tramite l’uso di
tecniche di riduzione delle dimensioni dei dati - SVD (Singular Value Decomposition)
Analizzare la qualità del clustering generato mediante una tecnica di riduzione della dimensionalità
dei dati. Tale tecnica, denominata Singular Value Decomposition (SVD), permette di proiettare dei
dati a N-dimensioni in uno spazio a K-dimensioni, con K scelto dall’utente e minore di N.
Applicate l’operatore SVD (Singular Value Decomposition) sul dataset generato dal processo di
clustering realizzato al passo precedente (dati di partenza più l’attributo speciale “cluster” generato
dall’algoritmo di clustering). Visto che l’attributo cluster è di tipo speciale l’operatore SVD non lo
considera e quindi in uscita da tale operatore viene generata una tabella con un numero di colonne
pari a K+1 (le K colonne identificate/generate dall’operatore SVD più l’attributo cluster).
Eseguire il processo impostando K=2 e visualizzare su un grafico di tipo scatter i dati rispetto alle
due dimensioni individuate dall’operatore SVD. Usare l’attributo cluster come attributo per la scelta
dei colori dei punti.
Ripetere la stessa operazione usando K=3 e un grafico di tipo “Scatter 3D Color” e confrontare il
risultato ottenuto con quello precedente.
Clustering di dati testuali
Applicare i passi precedentemente descritti per dati di tipo strutturati alla matrice del tf-idf
generata a partire dal dataset ObamaNews. Commentare i risultati ottenuti.
Estrazione di associazioni da dati strutturati
L’obiettivo dell’analisi dei dati è sfruttare i dati relativi alle persone contattate per capire quali loro
caratteristiche (anagrafiche, lavorative o una combinazione delle precedenti) è maggiormente correlata con
la risposta (campo Response). Si vuole rispondere alle seguenti richieste:
1. Identificare la nazione a cui appartiene il maggior numero di persone che ha dato risposta positiva.
2. Visualizzare le combinazioni di nazionalità e fascia d’età maggiormente correlate con la risposta
Negative. Per esempio, un’analista potrebbe scoprire che le persone di età compresa tra i 30 e i 40
anni di nazionalità brasiliana sono fortemente correlate con la risposta Negative.
Passi per risolvere i due problemi con RapidMiner:









Discretizzare opportunamente l’attributo Age
Trasformare i valori numerici/nominali in binomiali (operatori Nominal to Binomial e Numerical to
Binomial)
Usare l’algoritmo FP-Growth per l’estrazione gli itemset frequenti (operatore FP-Growth) e
analizzare i risultati con differenti valori di supporto minimo
Selezionare gli item che devono comparire in ciascun itemset del risultato (parametro Must
contain) o Contains Item nella Result Perspective
Generare le regole di associazione dagli itemset frequenti e analizzare i risultati con differenti valori
di confidenza e lift minimi
Impostare la lunghezza massima degli itemset a 1 per risolvere il punto (1) e pari a 3 per il punto 2
(parametro max_items)
Generare una versione tabellare degli itemset estratti (operatore Item sets to Data)
Ordinare gli itemset in formato tabellare in base alla loro frequenza (operatore Sort)
Selezionare le prime n righe in base alla loro posizione (operatore Filter Example Range)
Estrazione di associazioni da dati testuali
L’obiettivo dell’analisi dei dati è scoprire le correlazioni tra termini nascoste all’interno della collezione
ObamaNews. Si vuole rispondere alle seguenti richieste:
1. Identificare le coppie di termini più ricorrenti.
2. Visualizzare i termini con cui è fortemente correlata la parole President.
3. Analizzare le regole d’associazione aventi come conseguente Barack.
Applicare con Rapid Miner un procedimento analogo a quello descritto per i dati strutturati per risolvere il
problema sopra riportato (utilizzare gli operatori Text to Nominal e Nominal to Binomial per adattare il
formato dei dati all’estrattore degli itemset).