430 likes | 641 Views
Analisi esplorativa con Weka . Esercitazione Data Mining 08/10/2008. Obiettivi. Introduzione del tool Weka Analisi di un caso studio: Churn. Weka Dataset. Rappresentazione: Su file: formato ARFF In Weka: Instances Il formato arff ha due distinte sezioni Intestazione (Metadati)
E N D
Analisi esplorativa con Weka Esercitazione Data Mining 08/10/2008
Obiettivi • Introduzione del tool Weka • Analisi di un caso studio: Churn
Weka Dataset • Rappresentazione: • Su file: formato ARFF • In Weka: Instances • Il formato arff ha due distinte sezioni • Intestazione (Metadati) • @relation (nome della relazione) • @attribute (lista degli attributi) • Corpo • @data (le istanze)
ARFF: tipi di dati Numeric, Real @attribute <name> numeric @attribute <name> real Nominal Specification, lista di valori: @attribute <name> {<nominal-name1>, <nominal-name2>,…} String: @attribute <name> string Date: @attribute <name> date [<date-format>] Relational @attribute <name> relational <further attribute definitions> @end <name>
Weka • Sono disponibili quattro modalità • Simple CLI • Linea di comando • Explorer • Versione grafica di base • Experimenter • Parte sperimentale con collegamento a JDBC • KnowledgeFlow • Versione drag and drop
Explorer • Nella sezione in alto sono visibili le operazioni disponibili
Preprocessing Apertura Dataset Tipo di Filtro da applicare Attributi del dataset Distribuzioni in funzione della classe selezionata
Caso studio: Churn • E’ un dataset disponibile presso l’UCI Repository • Contiene 20 attributi e 3333 tuple • Le informazioni sono relative al fenomeno dell’attrition di una compagnia telefonica
Dettagli (1/3) • State: categorico, codici relativi ai 50 stati USA più quello del distretto della Columbia • Account length: integer, tempo di vita totale dell’account • Area code: categorico • Phone number: essenzialmente si comporta alla stregua di un ID • International Plan: binario dicotomico, yes o no • VoiceMail Plan: binario dicotomico, yes o no • Number of voice mail messages: integer
Dettagli (2/3) • Total day minutes: continuo, minuti usati dal cliente durante il giorno • Total day calls: integer • Total day charge: continuo, probabilmente basato su due precedenti variabili • Total evening minutes: continuo, minuti usati dal cliente durante la sera • Total evening calls: integer • Total evening charge: continuo, probabilmente basato su due precedenti variabili
Dettagli (3/3) • Total night minutes: continuo, minuti usati dal cliente durante la notte • Total night calls: integer • Total night charge: continuo, probabilmente basato su due precedenti variabili • Total international minutes: minuti usati dal cliente per fare chiamate internazionali • Total international calls: integer • Total international charge: continuo,probabilmente basato su due precedenti variabili • Number of calls to customer service: integer
Correlazione tra variabili (1/3) • Il dataset contiene 3 variabili potenzialmente correlate: minutes, calls, and charge. • La descrizione dei dati indica che la variabile charge può essere funzione di minutes e call. • Per valutare possibili correlazioni possiamo utilizzare lo scatter plot.
Correlazione tra variabili (2/3) • Esempio: day charge e day mins
Correlazione tra variabili (3/3) • In weka è disponibile il Matrix Plot rispetto alle diverse combinazioni tra variabili
Analisi Esplorativa degli Attributi Categorici • In questa fase è interessante indagare come questi attributi si distribuiscano rispetto alla variabile obiettivo
Analisi Esplorativa degli Attributi Categorici • International Plan
Analisi Esplorativa degli Attributi Categorici • In figura è mostrato un confronto tra la percentuale di churners (rosso) e nonchurners (blu) tra i clienti che avevano scelto il piano internazionale (sì, 9,69% dei clienti) o no (no, 90,31% dei clienti) . • Il grafico sembra indicare che una buona percentuale di coloro i quali hanno un piano internazionale sono “churning”, ma è difficile esserne sicuri.
Cross Tabulation su International Plan • Nella tabella è mostrato il risultato della cross-tabulazione.
Analisi (1/2) • Si noti che la somma dei valori contenuti nella prima colonna coincide col numero totale di coloro i quali non erano titolari del piano internazionale, 3010 (2664 + 346) ; viceversa dicasi per la seconda colonna. • La prima riga nella tabella mostra il numero di coloro i quali non abbandonano la loro compagnia, mentre la seconda riga mostra viceversa i rinunciatari. • Il dataset contiene un totale di 483 (346 + 137) churners rispetto ai 2850 (2664 + 186) non-churners; ossia il 14,5% (483 / (483 + 2.850)) dei clienti totali sono churners.
Analisi (2/2) • Si noti che il 42,4% (137 / (137 + 186)) di coloro i quali che sono titolari di un piano internazionale sono anche churned, rispetto al solo 11.5% (346 / (346 + 2.664)) di coloro che non ne sono titolari. • I clienti che hanno selezionato il piano internazionale e che abbandonano la loro compagnia sono percentualmente il triplo rispetto a quelli che non lo hanno selezionato. • Questa analisi sul piano internazionale indica che: • Forse dovremmo indagare sulle cause che inducono i clienti con un piano internazionale a lasciare la loro compagnia! • Quello che ci aspettiamo è che utilizzando un algoritmo di data mining per prevedere l’abbandono del servizio, il modello utilizzerà la presenza o meno del piano internazionale nel profilo del cliente per prevedere l’abbandono.
Analisi Esplorativa degli Attributi Categorici • VoiceMail Plan
Cross Tabulation su VoiceMail Plan • Nella tabella è mostrato il risultato della cross-tabulazione.
Analisi (1/2) • Prima di tutto, possiamo notare che 922 (842 + 80) clienti hanno il piano VoiceMail, mentre il 2411 (2008 + 403) non lo hanno. • Possiamo quindi individuare che il 16.7% (403/2411) di coloro i quali non possiedono il piano VoiceMail sono churners, rispetto allo 8,7% (80/922) dei clienti che hanno il piano VoiceMail. • In prima istanza possiamo dire che i churners senza la tariffa VoiceMail sono percentualmente il doppio rispetto ai churners con questo piano.
Analisi (2/2) • Questa analisi del piano VoiceMail ha indicato che: • Forse dovremmo diffondere maggiormente questa tariffa al fine di migliorare la fidelizzazione. • Ci aspettiamo che un qualsiasi algoritmo di data mining, per predire churn, tenga in considerazione l’attributo che indica la presenza del piano tariffario VoiceMail
Dati Anomali • Area code • Numerico nella rappresentazione, ma in realtà è un valore nominale (codice di un area geografica) • Presenta solo tre possibili valori • (408, 415 e 510)
Dati Anomali • I codici corrispondono ad aree geografiche presenti in california • Problema: • La cross tabulation con state ci indica che quei codici sono sparsi su tutti gli stati membri degli USA
Dati Anomali • E’ possibile che un esperto di dominio sia in grado di spiegare questa situazione o che effettivamente che il campo contenga dati errati. • In prima analisi decidiamo di omettere l’attributo
Analisi Esplorativa degli Attributi Numerici • Per l’analisi ovvero la valutazione degli attributi numerici saranno utilizzate alcune misure come: • Il massimo, il minimo, la media, la deviazione standard, e la mediana.
Analisi Esplorativa degli Attributi Numerici • In prima istanza possiamo osservare che il campo Account Length ha come valore minimo 1, come valore massimo 243, mentre media e mediana assumono valori all’incirca uguali (101) • Tale valori ci indicano una simmetria nei dati • Le stesse osservazioni si possono effettuare su diversi campi, tra cui tutti i minutes, charge, e call.
Analisi Esplorativa degli Attributi Numerici • Gli altri campi voice mail messages e customer service calls non sembrano mostrare alcuna simmetria. In particolare: • La mediana per voice mail messages è zero, ciò sta ad indicare che almeno metà dei cliente non hanno messaggi voicemail. • Questo risultato, naturalmente, indica che meno della metà dei clienti scelgono il piano VoiceMail, come visto sopra.
Analisi Esplorativa degli Attributi Numerici • La media di chiamate al servizio clienti (1.563) è superiore alla mediana (1.0), mostrando una certa simmetria destra, come anche indicato dal numero massimo di chiamate il servizio clienti ossia 9.
Analisi Esplorativa degli Attributi Numerici • I clienti che hanno chiamato il servizio clienti meno di tre volte hanno un tasso marcatamente inferiore a quello dei clienti che hanno chiamato il servizio clienti di quattro o più volte. • Queste analisi sulle chiamate al servizio clienti hanno indicato che: • Dobbiamo monitorare attentamente il numero di chiamate al servizio clienti per ciascun cliente. Alla terza chiamata, dovrebbero essere offerti forti incentivi per conservare fidelizzazione dei clienti. • Ci dobbiamo aspettare che qualunque algoritmo di data mining che usiamo per prevedere se il cliente è churn, probabilmente utilizzera il numero di chiamate al servizio clienti per effettuare la predizione.
Binning • Il binning è un insieme di tecniche volte alla categorizzazione dei dati: • Discretizzazione di dati numerici in classi • Esempio 1: possiamo suddividere l’attributo day minutes in tre classi: low, medium, high • Esempio 2: possiamo suddividere le età di una popolazione nelle classi: bambino, adulto, anziano • Raggruppamento di dati categorici in classi • Esempio: possiamo decidere di raggruppare i valori dell’attributo state in macro regioni, e di sostiuire quest’ultimo con un nuovo attributo che chimeremo region. Quindi i valori “California”, “Oregon”, “Washington”, “Alaska” e “Hawai” verranno convertiti nel singolo valore “Pacific”, ad indicare che per la nostra analisi serve solo sapere la regione territoriale di interesse e non il singolo stato di appartenenza (stiamo aumentando la granularità)
Binning • Il binning è un insieme di tecniche a cavallo tra l’analisi ed il pre – processamento dei dati. • Esistono tante strategie per il binning di dati numerici: • Creare classi di uguale estensione, così come abbiamo visto per gli istogrammi di uguale estensione (equal-width histograms). • Provare a creare classi che contengano lo stesso numero di tuple. • Provare a suddividere in range i valori degli attributi in funzione della variabile target. • In questo modo cerchiamo di identificare comportamenti comuni all’interno dei dati che riferiscono ad uno stesso valore di attributo target
Binning sull’esempio proposto • Come presentato prima i clienti, che hanno effettuato meno di 4 chiamate al servizio clienti, hanno un tasso di abbandono più basso di quelli che hanno chiamato il servizio clienti 4 o più volte. • Potremmo decidere di raggruppare I valore di customer service calls in due classi: low e high.
Binning sull’esempio proposto • Questa figura mostra che il tasso di abbandono degli utenti con un basso numero di chiamate al servizio utenti è di 11.25%, mentre il tasso di abbandono degli altri utenti è del 51.69%, 4 volte più grande.