Introduzione al Data Miningdatasciencelab.dimi.uniud.it/images/teaching/data_mining/data_mini… ·...

15
Introduzione al Data Mining Andrea Brunello Introduzione Cos’è il Data Mining Il processo di Data Mining Terminologia Tipologie di Learning Supervised vs Unsupervised Learning Problemi di regressione e di classificazione Riferimenti Introduzione al Data Mining e applicazioni al dominio del Contact Management Parte I: Il Processo di Data Mining, Principali tipologie di Learning Andrea Brunello Università degli Studi di Udine In collaborazione con dott. Enrico Marzano, CIO Gap srl progetto Active Contact System 1/15

Transcript of Introduzione al Data Miningdatasciencelab.dimi.uniud.it/images/teaching/data_mining/data_mini… ·...

Page 1: Introduzione al Data Miningdatasciencelab.dimi.uniud.it/images/teaching/data_mining/data_mini… · Data Mining Andrea Brunello Introduzione Cos’è il Data Mining Il processo di

Introduzione alData Mining

Andrea Brunello

IntroduzioneCos’è il Data Mining

Il processo di Data Mining

Terminologia

Tipologie diLearningSupervised vsUnsupervised Learning

Problemi di regressione e diclassificazione

Riferimenti

Introduzione al Data Mininge applicazioni al dominio del Contact Management

Parte I: Il Processo di Data Mining, Principali tipologie di Learning

Andrea Brunello

Università degli Studi di Udine

In collaborazione con dott. Enrico Marzano, CIO Gap srlprogetto Active Contact System 1/15

Page 2: Introduzione al Data Miningdatasciencelab.dimi.uniud.it/images/teaching/data_mining/data_mini… · Data Mining Andrea Brunello Introduzione Cos’è il Data Mining Il processo di

Introduzione alData Mining

Andrea Brunello

IntroduzioneCos’è il Data Mining

Il processo di Data Mining

Terminologia

Tipologie diLearningSupervised vsUnsupervised Learning

Problemi di regressione e diclassificazione

Riferimenti

Contenuti

Parte I:

I cos’è e come si svolge il processo di Data Mining;

I classificazione delle principali tipologie di Learning.

2/15

Page 3: Introduzione al Data Miningdatasciencelab.dimi.uniud.it/images/teaching/data_mining/data_mini… · Data Mining Andrea Brunello Introduzione Cos’è il Data Mining Il processo di

Introduzione alData Mining

Andrea Brunello

IntroduzioneCos’è il Data Mining

Il processo di Data Mining

Terminologia

Tipologie diLearningSupervised vsUnsupervised Learning

Problemi di regressione e diclassificazione

Riferimenti

Cos’è il Data Mining

I Dati ≈ fatti memorizzati, registrati;

I L’informazione è costituita dall’insieme dei concetti,delle regolarità, degli schemi che si trovano“nascosti” fra i dati;

I Il Data Mining si occupa dell’estrazione e dellapresentazione di informazione utile,precedentemente sconosciuta, ed implicitamentecontenuta in una (grande) mole di dati.

I E’ un processo di astrazione (generazione di unmodello).

I Il Machine Learning costituisce la “base tecnica” delData Mining.

3/15

Page 4: Introduzione al Data Miningdatasciencelab.dimi.uniud.it/images/teaching/data_mining/data_mini… · Data Mining Andrea Brunello Introduzione Cos’è il Data Mining Il processo di

Introduzione alData Mining

Andrea Brunello

IntroduzioneCos’è il Data Mining

Il processo di Data Mining

Terminologia

Tipologie diLearningSupervised vsUnsupervised Learning

Problemi di regressione e diclassificazione

Riferimenti

Cos’è il Data Mining (2)

I Utilizzare i modelli/pattern appresi per:

I conoscere: comprendere che determinate fasce dipopolazione sono più propense ad acquistare undeterminato bene;

I inferire: probabile guasto ad un macchinario, da uninsieme di sintomi;

I predire: stabilire se e quale variazione nelle venditerisulterà da un aumento del budget pubblicitario.

I tali fini possono mescolarsi, si pensi alla ricerca di unmodello che fornisca la valutazione di un’abitazionesulla base di diversi valori in input.

4/15

Page 5: Introduzione al Data Miningdatasciencelab.dimi.uniud.it/images/teaching/data_mining/data_mini… · Data Mining Andrea Brunello Introduzione Cos’è il Data Mining Il processo di

Introduzione alData Mining

Andrea Brunello

IntroduzioneCos’è il Data Mining

Il processo di Data Mining

Terminologia

Tipologie diLearningSupervised vsUnsupervised Learning

Problemi di regressione e diclassificazione

Riferimenti

Cos’è il Data Mining (3)

I spesso i pattern scoperti risulteranno banali, frutto dicorrelazioni casuali, o non completamente corretti.

I ciò può essere dovuto a:I errori nei dati;I caratteristiche del dominio (es. esistenza di

dipendenze funzionali)

5/15

Page 6: Introduzione al Data Miningdatasciencelab.dimi.uniud.it/images/teaching/data_mining/data_mini… · Data Mining Andrea Brunello Introduzione Cos’è il Data Mining Il processo di

Introduzione alData Mining

Andrea Brunello

IntroduzioneCos’è il Data Mining

Il processo di Data Mining

Terminologia

Tipologie diLearningSupervised vsUnsupervised Learning

Problemi di regressione e diclassificazione

Riferimenti

Cos’è il Data Mining (4)

Riassumendo:I Il Data Mining sfrutta tecniche di Machine LearningI per estrarre semi-automaticamenteI da (grandi) quantità di datiI informazioni, pattern utili

Input del processo:I istanze, esempi dei concetti che si vogliono

apprendere

Output del processo:I predizioni/classificazioniI modelli

6/15

Page 7: Introduzione al Data Miningdatasciencelab.dimi.uniud.it/images/teaching/data_mining/data_mini… · Data Mining Andrea Brunello Introduzione Cos’è il Data Mining Il processo di

Introduzione alData Mining

Andrea Brunello

IntroduzioneCos’è il Data Mining

Il processo di Data Mining

Terminologia

Tipologie diLearningSupervised vsUnsupervised Learning

Problemi di regressione e diclassificazione

Riferimenti

Il processo di Data Mining

In genere, il processo di Data Mining si articola comesegue:I il tutto inizia con il porsi una domanda, ben chiara e

specifica;I in seguito, si passa alla raccolta dei dati da utilizzare

come input;I viene selezionato un insieme di caratteristiche

(features) ritenute importanti su tali dati, e per il fineche si vuole ottenere;

I si applica un algoritmo di machine learning suldataset così definito, in modo da “addestrare” unmodello;

I dopo un’eventuale fase di tuning, il modello prodottodall’algoritmo viene valutato, ed è infine pronto peressere utilizzato.

7/15

Page 8: Introduzione al Data Miningdatasciencelab.dimi.uniud.it/images/teaching/data_mining/data_mini… · Data Mining Andrea Brunello Introduzione Cos’è il Data Mining Il processo di

Introduzione alData Mining

Andrea Brunello

IntroduzioneCos’è il Data Mining

Il processo di Data Mining

Terminologia

Tipologie diLearningSupervised vsUnsupervised Learning

Problemi di regressione e diclassificazione

Riferimenti

Un primo esempio: SPAM vs HAM

Ripercorriamo ora il processo di Data Mining con unesempio focalizzato sulla predizione.

I Domanda: è possibile distinguere automaticamentefra i messaggi email che sono indesiderati (SPAM) equelli legittimi (HAM)?

I Dati: insieme di 4601 istanze di email giàclassificate, ed ognuna avente 57 caratteristicheindicanti la frequenza di determinate parole ecaratteri nel corpo del messaggio;

I www.inside-r.org/packages/cran/kernlab/docs/spam

8/15

Page 9: Introduzione al Data Miningdatasciencelab.dimi.uniud.it/images/teaching/data_mining/data_mini… · Data Mining Andrea Brunello Introduzione Cos’è il Data Mining Il processo di

Introduzione alData Mining

Andrea Brunello

IntroduzioneCos’è il Data Mining

Il processo di Data Mining

Terminologia

Tipologie diLearningSupervised vsUnsupervised Learning

Problemi di regressione e diclassificazione

Riferimenti

Un primo esempio: SPAM vs HAM (2)

Selezione delle caratteristiche:

I processi di attribute selection;

I esplorazione e selezione manuale.

9/15

Page 10: Introduzione al Data Miningdatasciencelab.dimi.uniud.it/images/teaching/data_mining/data_mini… · Data Mining Andrea Brunello Introduzione Cos’è il Data Mining Il processo di

Introduzione alData Mining

Andrea Brunello

IntroduzioneCos’è il Data Mining

Il processo di Data Mining

Terminologia

Tipologie diLearningSupervised vsUnsupervised Learning

Problemi di regressione e diclassificazione

Riferimenti

Un primo esempio: SPAM vs HAM (3)

Modello: utilizzo di un valore di cutoffI se frequenza della parola “your” nel testo > 0.5,

allora l’email è SPAM

I Otteniamo la tabella di contingenza (valori suinsieme di training):

Predizione \ Classe nonspam spamnonspam 0.4590 0.10017

spam 0.1469 0.2923

10/15

Page 11: Introduzione al Data Miningdatasciencelab.dimi.uniud.it/images/teaching/data_mining/data_mini… · Data Mining Andrea Brunello Introduzione Cos’è il Data Mining Il processo di

Introduzione alData Mining

Andrea Brunello

IntroduzioneCos’è il Data Mining

Il processo di Data Mining

Terminologia

Tipologie diLearningSupervised vsUnsupervised Learning

Problemi di regressione e diclassificazione

Riferimenti

L’input del processo

Entrando nel dettaglio del processo di Data Mining,abbiamo che il suo input è costituito da:

I concetti

I istanzeI attributi:

I numerici VS nominaliI feature VS target (supervised learning)

Rivestono grande importanza l’integrazione, pulizia, etrasformazione dei dati.

raramente le istanze in input copriranno tutti i casipossibili per il dominio!

11/15

Page 12: Introduzione al Data Miningdatasciencelab.dimi.uniud.it/images/teaching/data_mining/data_mini… · Data Mining Andrea Brunello Introduzione Cos’è il Data Mining Il processo di

Introduzione alData Mining

Andrea Brunello

IntroduzioneCos’è il Data Mining

Il processo di Data Mining

Terminologia

Tipologie diLearningSupervised vsUnsupervised Learning

Problemi di regressione e diclassificazione

Riferimenti

L’input del processo (2)

Condizioni Temp. Umidità Vento Si_gioca?soleggiato calda alta falso nosoleggiato calda alta vero nonuvoloso calda alta falso sipioggia mite alta falso sipioggia fredda normale falso sipioggia fredda normale vero no

nuvoloso fredda normale vero sisoleggiato mite alta falso nosoleggiato fredda normale falso si

pioggia mite normale falso sisoleggiato mite normale vero sinuvoloso mite alta vero sinuvoloso calda normale falso sipioggia mite alta vero no

12/15

Page 13: Introduzione al Data Miningdatasciencelab.dimi.uniud.it/images/teaching/data_mining/data_mini… · Data Mining Andrea Brunello Introduzione Cos’è il Data Mining Il processo di

Introduzione alData Mining

Andrea Brunello

IntroduzioneCos’è il Data Mining

Il processo di Data Mining

Terminologia

Tipologie diLearningSupervised vsUnsupervised Learning

Problemi di regressione e diclassificazione

Riferimenti

Supervised vs Unsupervised Learning

Distinzione fondamentale, a seconda dell’obiettivo delprocesso:

I Supervised Learning: all’algoritmo di learning vienefornito un risultato noto per ciascuna istanza ditraining e si punta a determinare il valore per nuoveistanze (attributo obiettivo).

I Classificazione con alberi, regressione lineare, . . .

I Unsupervised Learning: non si cerca di prevedereil valore di uno specifico attributo, ma viene ricercataogni possibile associazione/correlazione fra gliattributi.

I Clustering, regole di associazione, . . .

13/15

Page 14: Introduzione al Data Miningdatasciencelab.dimi.uniud.it/images/teaching/data_mining/data_mini… · Data Mining Andrea Brunello Introduzione Cos’è il Data Mining Il processo di

Introduzione alData Mining

Andrea Brunello

IntroduzioneCos’è il Data Mining

Il processo di Data Mining

Terminologia

Tipologie diLearningSupervised vsUnsupervised Learning

Problemi di regressione e diclassificazione

Riferimenti

Problemi di regressione e di classificazione

Nel Supervised Learning, a seconda della tipologiadell’attributo obiettivo, dinstinguiamo problemi di

I classificazione: (o predizione). Si vuole assegnarea ciascuna istanza uno di un insieme finito di valori(cl. discreti; in altri casi viene restituita la probabilitàdi appartenere a ciascuna classe, o un ranking delleistanze: cl. continui);

I regressione: si vuole assegnare a ciascuna isanzaun valore numerico.

Alcune famiglie di algoritmi di learning si adattano adentrambi i problemi (alberi di classificazione e diregressione, regressione lineare e logistica, . . . ).

14/15

Page 15: Introduzione al Data Miningdatasciencelab.dimi.uniud.it/images/teaching/data_mining/data_mini… · Data Mining Andrea Brunello Introduzione Cos’è il Data Mining Il processo di

Introduzione alData Mining

Andrea Brunello

IntroduzioneCos’è il Data Mining

Il processo di Data Mining

Terminologia

Tipologie diLearningSupervised vsUnsupervised Learning

Problemi di regressione e diclassificazione

Riferimenti

Riferimenti

I. H. Witten, E. Frank, M. A. Hall: Data Mining:Practical Machine Learning Tools and Techniques.Morgan Kaufmann Publishers, 3rd edition, 2011.

G. James, D. Witten, T. Hastie, R. Tibshirani: AnIntroduction to Statistical Learning with Applicationsin R. Springer, 2013.

15/15