Estratto del documento

[ESERCIZIO IN CLASSE]

Per darvi un esempio, possiamo prendere il file excel che ho caricato sul portale e-learning

(phone_raw_data). Questo è un dataset dove, per ogni riga, abbiamo un’istanza, un cliente in cui

e alla fine abbiamo un’informazione che,

sono presente diverse informazioni (es. al tempo t-2 con

un attributo binario, dice se il cliente è fedele o meno). Prendiamo in considerazione timein e

numout: timein è la durata in secondi delle chiamate ricevute nel periodo t-2, numout è il numero di

chiamate inserite nel periodo t-2. Quindi abbiamo il numero di chiamate e secondi come unità di

misura -> naturalmente sono unità di misura diverse. (Nello screen di sopra i valori sono già stati

resi comparabili tra loro). Si può misurare facilmente il valore minimo o massimo di questi attributi

su excel, con un’equazione. Per timein il minimo è 0, ad esempio. Trovare il massimo e il minimo

valore per un attributo con excel è semplice: basta usare una semplice equazione.

 Quando dobbiamo applicare una funzione di excel, dobbiamo selezionare una cella, andare

digitare “=” seguito dalla

nella barra della formula, funzione che vogliamo usare. In questo

caso la funzione che dobbiamo usare è min (quando selezioniamo la funzione compare una

breve descrizione: “restituisce il valore minimo di un insieme di valori”). Dopo aver scelto

la funzione, avremo una finestra dove comparirà ciò che si aspetta questa funzione, ovvero

una lista di valori tra i quali dovrà trovare il minimo (torno alla tabella e seleziono tutta la

colonna del timein per trovarne il valore minimo). Dopodichè, premendo invio, avremo il

risultato che, in questo caso, corrisponde a 0, ovvero in questa colonna il valore minimo

corrisponde a 0.

 Nella barra della formula vedremo che tra le coordinate di due celle ci sarà un “:”, che

N.B. tutto l’intervallo di celle che vanno da quella

indica che la formula è stata applicata per

prima dei due punti fino a quella dopo i due punti. Ad esempio, in questo caso, per trovare il

minimo della colonna timein, il programma ha analizzato i valori da C2 a C24 (C2:C24).

 Bisogna fare molta attenzione alle diverse unità di misura: la normalizzazione è un compito

fondamentale per la preparazione dei dati. Se non normalizzassimo, i risultati di un

algoritmo quale, ad esempio, la regressione lineare potrebbero essere influenzati dalla

diversità delle due scale di misura.

[FINE ESERCIZIO IN CLASSE]

Un’altra attività che dobbiamo svolgere quando iniziamo un’analisi (tutte queste operazioni vanno

fatte prima di svolgere l’analisi vera e propria) è ridurre i dati perché i dataset, come quello che

stiamo usando, non sono reali: non si inizia un processo di data mining se non abbiamo un

sufficiente quantitativo di dati. Quando facciamo un’analisi dobbiamo cambiare i parametri, le

impostazioni ed, in alcuni casi, è utile ridurre i dati, ottenendo un campione, e fare su di esso

l’analisi per capire quale sia la migliore configurazione dell’algoritmo. Dopo averla trovata,

possiamo tornare indietro, prendere l’intero dataset e compiere nuovamente l’analisi (con i

Analizzare l’intero dataset è un’attività molto lunga che può

parametri e le impostazioni trovate).

durare ore: in genere, dovendo compiere vari tentativi con diversi parametri, conviene farla su dei

campioni (dei subset) e, solo una volta decisi i parametri e le impostazioni, possiamo estendere i

risultati all’intera popolazione. Effettuare un campionamento vuol dire selezionare un sottogruppo

di clienti che sia rappresentativo dell’intera popolazione (il campione deve essere statisticamente

comparabile con la popolazione).

Abbiamo due soluzioni:

Simple sampling: prendiamo l’intero dataset e consideriamo solo una percentuale dell’intera

1) popolazione (ad es. abbiamo 1.000.000 di osservazioni e decidiamo di considerare solo il

30% della popolazione (il campione verrà scelto casualmente));

2) Stratified sampling: riduciamo la popolazione iniziale ma preserviamo la percentuale del

dataset originale in relazione ad un attributo categorico considerato critico se facciamo

un’analisi sul nostro dataset e vogliamo campionarlo, dovremo specificare qual è l’attributo

critico per noi (nel nostro caso la colonna churner) e il campione stratificato ci darà il 50 %

delle osservazioni, mantenendo le stesse proporzioni di istanze che appartengono al valore 0

e le stesse proporzioni di istanze appartenenti al valore 1. Quindi il sottogruppo risultante

avrà 11/12 istanze (dato che il dataset iniziale era composto da 24 istanze) ed il numero di

clienti churner e leale sarà comparabile con la popolazione iniziale. In altri termini con il

campionamento stratificato manteniamo le distribuzioni di istanze rispetto ad un attributo

target se non applichiamo il campionamento stratificato non siamo sicuri che il campione

risultante avrà le stesse proporzioni di utenti appartenenti ad un valore e utenti appartenenti

all’altro valore.

Quindi il primo topic della riduzione dei dati riguarda la raccolta di un campione degli utenti,

mentre il secondo riguarda la selezione delle caratteristiche, degli attributi.

Abbiamo due tipi di problemi: il primo è che abbiamo troppe istanze e quindi dobbiamo ricorrere al

campionamento, mentre il secondo è che possiamo avere troppi attributi (troppe colonne) e la

soluzione è selezionare solo le colonne che sono davvero utili per noi (ai fini della nostra analisi).

Supponendo di avere migliaia di colonne, non possiamo considerarle tutte, anche perché

sicuramente avremo attributi che non sono per niente utili ai fini della nostra analisi. Ad esempio, se

nel nostro dataset di clienti churner e loyal abbiamo il nome e il cognome (tra gli attributi) di un

utente, è utile per predire se l’utente in questione appartiene ai churner o ai loyal? Probabilmente

no, dato che non c’è nessuna correlazione tra il nome e il comportamento di un utente. Eliminare

questi attributi, in questo caso, può essere utile. Il problema è che selezionare quali sono le colonne

utili ed importanti e quali non lo sono è un compito difficile. Ci sono 3 diversi approcci per svolgere

questa selezione:

1) Filter methods: analizziamo tutti gli attributi e proviamo a selezionare i più rilevanti, i più

pertinenti per il nostro scopo (ad es. considerando il nostro dataset, dovremmo guardare gli

attributi uno ad uno e chiederci se sono importanti, necessari per il nostro scopo, che in

questo caso è classificare gli utenti tra churner e loyal. Quindi dovremmo chiederci se un

attributo può aiutarci a capire se un utente è churner o loyal).

Ad esempio, l’area magari c’è una correlazione tra la zona di residenza e il

comportamento dell’utente; numero di chiamate probabilmente posso predire se un

utente sta abbandonando o meno la company in base al numero di chiamate; nome

dell’utente posso eliminarlo in quanto non è un attributo utile alla mia analisi;

2) Wrapper methods: trova automaticamente un sottogruppo di variabili che conducono alla

massima precisione (leading to highest accuracy) nel nostro compito. In alcuni strumenti per

il data mining, ci sono dei filtri, algoritmi che permettono di individuare automaticamente

gli attributi più significativi rispetto alla classificazione del nostro target;

Embedded methods: la selezione degli attributi è inclusa (embedded) nell’algoritmo che

3) usiamo per svolgere la nostra operazione. Quindi, se stiamo effettuando una classificazione,

ci sono dei filtri che individuano automaticamente quali sono i migliori attributi (lo vedremo

direttamente nei risultati).

Vedremo meglio questi tre metodi usando Weka. Comunque, col primo approccio, dobbiamo

osservare e capire se gli attributi sono correlati con la classe obiettivo (target class); nel secondo ci

sono algoritmi che ci forniscono direttamente la lista degli attributi più pertinenti; col terzo

facciamo direttamente partire l’algoritmo e sarà lui stesso a selezionare gli attributi migliori ai fini

della nostra analisi.

Troveremo queste funzioni, operazioni in alcuni strumenti statistici: il PCA (Principal Component

Analysis) (strumento usato dall’ingegnere gestionale, che lavora nel marketing, per le mappe di

posizionamento), il cui scopo è ridurre il numero di attributi senza generare una perdita di

informazioni. Non tutti gli attributi sono utili e spesso avremo attributi correlati tra loro. Quando

due attributi sono correlati, usarli entrambi, piuttosto che uno solo dei due, non aggiunge alcun

ad esempio, abbiamo la data di nascità e l’età (attributi correlati) e li

valore alla nostra analisi. Se,

usiamo entrambi, non stiamo aggiungendo alcun tipo di informazione perché usare un attributo o

l’altro ci da le stesse informazioni quindi ne useremo solo uno (ed elimineremo l’altro) senza alcuna

perdita di informazioni. Il PCA è quindi un metodo per ridurre il numero di attributi, eliminando gli

attributi correlati tra loro, in quanto ridondanti.

Proviamo ad applicare questo metodo di riduzione dei dati al nostro dataset usando Weka. Noi

abbiamo poche istanze e pochi attributi quindi non avremmo bisogno di campionare le istanze e di

ridurre gli attributi ma lo faremo per esercitarci. Se vogliamo ridurre il numero di istanze (data

reduction) dobbiamo applicare un filtro (che sceglieremo dalla cartella dei filtri, che a sua volta si

divide nelle sottocartelle “unsupervised” e “supervised”). Nelle cartelle unsupervised e supervised

abbiamo le cartelle “attributes” ed “istances”: la prima contiene tutti i filtri che devo applicare per

gli attributi mentre la seconda contiene i filtri per le istanze (se voglio fare un campionamento per

ridurre il numero di istanze, dove dovrei andare per trovare un sampling filter? Probabilmente lo

troverò nella cartella delle istanze). In realtà troveremo due filtri per il campionamento delle istanze

(Resample filters), uno contenuto nella cartella supervised e l’altro nella cartella unsupervised.

Sapete perché? Cosa vi aspettare di ottenere se usate il Resample della cartella supervised?

Abbiamo detto che abbiamo due tipi di campionamento (simple e stratified), quale vi aspettate di

trovare in questo caso? Quello stratified perché questo resample appartiene alla cartella supervised e

se ci clicchiamo abbiamo una serie di opzioni che possiamo modificare la più importante

opzione è l’ultima: la dimensione percentuale del campione (sample size percent), in cui dobbiamo

specificare la dimensione percentuale del campione che vogl

Anteprima
Vedrai una selezione di 7 pagine su 30
Appunti presi a lezione di Modelli di e-business e business intelligence Pag. 1 Appunti presi a lezione di Modelli di e-business e business intelligence Pag. 2
Anteprima di 7 pagg. su 30.
Scarica il documento per vederlo tutto.
Appunti presi a lezione di Modelli di e-business e business intelligence Pag. 6
Anteprima di 7 pagg. su 30.
Scarica il documento per vederlo tutto.
Appunti presi a lezione di Modelli di e-business e business intelligence Pag. 11
Anteprima di 7 pagg. su 30.
Scarica il documento per vederlo tutto.
Appunti presi a lezione di Modelli di e-business e business intelligence Pag. 16
Anteprima di 7 pagg. su 30.
Scarica il documento per vederlo tutto.
Appunti presi a lezione di Modelli di e-business e business intelligence Pag. 21
Anteprima di 7 pagg. su 30.
Scarica il documento per vederlo tutto.
Appunti presi a lezione di Modelli di e-business e business intelligence Pag. 26
1 su 30
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Ingegneria industriale e dell'informazione ING-IND/35 Ingegneria economico-gestionale

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher paolo.danza.9 di informazioni apprese con la frequenza delle lezioni di Modelli di e-business e business intelligence e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Politecnico di Bari o del prof Panniello Umberto.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community