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).