42
Analisi esplorativa con Weka Esercitazione Data Mining 08/10/2008

Analisi esplorativa con Weka Esercitazione Data Mining 08/10/2008

Embed Size (px)

Citation preview

Page 1: Analisi esplorativa con Weka Esercitazione Data Mining 08/10/2008

Analisi esplorativa con Weka

Esercitazione Data Mining 08/10/2008

Page 2: Analisi esplorativa con Weka Esercitazione Data Mining 08/10/2008

Obiettivi

Introduzione del tool Weka Analisi di un caso studio: Churn

Page 3: Analisi esplorativa con Weka Esercitazione Data Mining 08/10/2008

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)

Page 4: Analisi esplorativa con Weka Esercitazione Data Mining 08/10/2008

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>

Page 5: Analisi esplorativa con Weka Esercitazione Data Mining 08/10/2008

Esempio di file ARFF

Page 6: Analisi esplorativa con Weka Esercitazione Data Mining 08/10/2008

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

Page 7: Analisi esplorativa con Weka Esercitazione Data Mining 08/10/2008

Weka

Page 8: Analisi esplorativa con Weka Esercitazione Data Mining 08/10/2008

Explorer

Nella sezione in alto sono visibili le operazioni disponibili

Page 9: Analisi esplorativa con Weka Esercitazione Data Mining 08/10/2008

Preprocessing

Distribuzioni in funzionedella classe selezionata

Apertura Dataset

Attributi del dataset

Tipo di Filtro da applicare

Page 10: Analisi esplorativa con Weka Esercitazione Data Mining 08/10/2008

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

Page 11: Analisi esplorativa con Weka Esercitazione Data Mining 08/10/2008

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

Page 12: Analisi esplorativa con Weka Esercitazione Data Mining 08/10/2008

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

Page 13: Analisi esplorativa con Weka Esercitazione Data Mining 08/10/2008

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

Page 14: Analisi esplorativa con Weka Esercitazione Data Mining 08/10/2008

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.

Page 15: Analisi esplorativa con Weka Esercitazione Data Mining 08/10/2008

Correlazione tra variabili (2/3)

Esempio: day charge e day mins

Page 16: Analisi esplorativa con Weka Esercitazione Data Mining 08/10/2008

Correlazione tra variabili (3/3)

In weka è disponibile il Matrix Plot rispetto alle diverse combinazioni tra variabili

Page 17: Analisi esplorativa con Weka Esercitazione Data Mining 08/10/2008

Analisi Esplorativa degli Attributi Categorici

In questa fase è interessante indagare come questi attributi si distribuiscano rispetto alla variabile obiettivo

Page 18: Analisi esplorativa con Weka Esercitazione Data Mining 08/10/2008

Analisi Esplorativa degli Attributi Categorici

International Plan

Page 19: Analisi esplorativa con Weka Esercitazione Data Mining 08/10/2008

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.

Page 20: Analisi esplorativa con Weka Esercitazione Data Mining 08/10/2008

Cross Tabulation su International Plan

International Plan

Churn No Yes

False. 2664 186

True. 346 137

Nella tabella è mostrato il risultato della cross-tabulazione.

Page 21: Analisi esplorativa con Weka Esercitazione Data Mining 08/10/2008

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.

Page 22: Analisi esplorativa con Weka Esercitazione Data Mining 08/10/2008

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.

Page 23: Analisi esplorativa con Weka Esercitazione Data Mining 08/10/2008

Analisi Esplorativa degli Attributi Categorici

VoiceMail Plan

Page 24: Analisi esplorativa con Weka Esercitazione Data Mining 08/10/2008

Cross Tabulation su VoiceMail Plan

Nella tabella è mostrato il risultato della cross-tabulazione.

VoiceMail Plan

Churn No Yes

False. 2008 842

True. 403 80

Page 25: Analisi esplorativa con Weka Esercitazione Data Mining 08/10/2008

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.

Page 26: Analisi esplorativa con Weka Esercitazione Data Mining 08/10/2008

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

Page 27: Analisi esplorativa con Weka Esercitazione Data Mining 08/10/2008

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)

Page 28: Analisi esplorativa con Weka Esercitazione Data Mining 08/10/2008

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

Page 29: Analisi esplorativa con Weka Esercitazione Data Mining 08/10/2008

Dati Anomali

Page 30: Analisi esplorativa con Weka Esercitazione Data Mining 08/10/2008

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

Page 31: Analisi esplorativa con Weka Esercitazione Data Mining 08/10/2008

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.

Page 32: Analisi esplorativa con Weka Esercitazione Data Mining 08/10/2008

Analisi Esplorativa degli Attributi Numerici

  Massimo Minimo Media Dev. St. Mediana

Account Length 243 1 101,0648 39,81613 101

VMail Message 51 0 8,09901 13,68631 0

Day Mins 350,8 0 179,7751 54,45922 179,4

Day Calls 165 0 100,4356 20,06607 101

Day Charge 59,64 0 30,56231 9,258045 30,5

Eve Mins 363,7 0 200,9803 50,70624 201,4

Eve Calls 170 0 100,1143 19,91964 100

Eve Charge 30,91 0 17,08354 4,310021 17,12

Night Mins 395 23,2 200,872 50,56626 201,2

Night Calls 175 33 100,1077 19,56567 100

Night Charge 17,77 1,04 9,039325 2,275531 9,05

Intl Mins 20 0 10,23729 2,791421 10,3

Intl Calls 20 0 4,479448 2,460845 4

Intl Charge 5,4 0 2,764581 0,75366 2,78

CustServ Calls 9 0 1,562856 1,315294 1

Page 33: Analisi esplorativa con Weka Esercitazione Data Mining 08/10/2008

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.

Page 34: Analisi esplorativa con Weka Esercitazione Data Mining 08/10/2008

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.

Page 35: Analisi esplorativa con Weka Esercitazione Data Mining 08/10/2008

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.

Page 36: Analisi esplorativa con Weka Esercitazione Data Mining 08/10/2008

Analisi Esplorativa degli Attributi Numerici

Page 37: Analisi esplorativa con Weka Esercitazione Data Mining 08/10/2008

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.

Page 38: Analisi esplorativa con Weka Esercitazione Data Mining 08/10/2008

Riassunto dei risultati dell’analisi condottaAccount length Nessuna ovvia relazione con churn, ma mantenuto

Area code Anomalo. Omesso dal modello.

Phone number Si comporta come un ID. Omesso dal modello.

International Plan Predittivo di Churn. Mantenuto.

VoiceMail Plan Predittivo di Churn. Mantenuto.

Number of voice mail messages Nessuna ovvia relazione con churn, ma mantenuto

Total day minutes Predittivo di Churn. Mantenuto.

Total day calls Nessuna ovvia relazione con churn, ma mantenuto

Total day charge Funzione di minutes. Omesso dal modello.

Total evening minutes Predittivo di Churn. Mantenuto.

Total evening calls Nessuna ovvia relazione con churn, ma mantenuto

Total evening charge Funzione di minutes. Omesso dal modello.

Total night minutes Nessuna ovvia relazione con churn, ma mantenuto

Total night calls Nessuna ovvia relazione con churn, ma mantenuto

Total night charge Funzione di minutes. Omesso dal modello.

Total international minutes Nessuna ovvia relazione con churn, ma mantenuto.

Total international calls Nessuna ovvia relazione con churn, ma mantenuto

Total international charge Funzione di minutes. Omesso dal modello.

Customer service calls Predittivo di Churn. Mantenuto.

Page 39: Analisi esplorativa con Weka Esercitazione Data Mining 08/10/2008

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

Page 40: Analisi esplorativa con Weka Esercitazione Data Mining 08/10/2008

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

Page 41: Analisi esplorativa con Weka Esercitazione Data Mining 08/10/2008

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.

Page 42: Analisi esplorativa con Weka Esercitazione Data Mining 08/10/2008

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.