Introduzione alle tecniche di Data Mining -...

21
Introduzione alle tecniche di Data Mining Prof. Giovanni Giuffrida

Transcript of Introduzione alle tecniche di Data Mining -...

Page 1: Introduzione alle tecniche di Data Mining - dmi.unict.itggiuffrida/LM87/Introduzione_al_Data_Mining.pdf · la regola pannolini ... •Il tasso di accuratezza è la percentuale di

Introduzione alle tecniche di

Data Mining

Prof. Giovanni Giuffrida

Page 2: Introduzione alle tecniche di Data Mining - dmi.unict.itggiuffrida/LM87/Introduzione_al_Data_Mining.pdf · la regola pannolini ... •Il tasso di accuratezza è la percentuale di

Programma

• Contenuti

– Introduzione al Data Mining

– Mining pattern frequenti, regole associative

– Alberi decisionali

– Clustering

Page 3: Introduzione alle tecniche di Data Mining - dmi.unict.itggiuffrida/LM87/Introduzione_al_Data_Mining.pdf · la regola pannolini ... •Il tasso di accuratezza è la percentuale di

Nome Matricola Indirizzo Citta

Mario Rossi 456 Via Roma 1 Catania

Ugo Bianchi 567 Via Etnea 154 Ragusa

Teo Verdi 678 Via Parma 12 Ragusa

Leo Poldo 555 Via Etnea 7 Catania

Franco Bollo 892 Corso Italia 7 Catania

Matr_Studente Corso Voto

678 Programmazione 27

456 Architettura 19

678 Statistica 28

567 Programmazione 29

456 Matematica 20

892 Diritto 18

892 Economia 19

678 Matematica 28

678 Architettura 30

567 Matematica 27

555 Diritto 21

567 Diritto 21

456 Architettura 19

555 Matematica 18

555 Statistica 20

456 Statistica 18

892 Matematica 20

456 Diritto 19

555 Economia 18

Denominazione Docente

Programmazione Ferro

Architettura Pappalardo

Matematica Lizzio

Diritto Fazio

Informatica Giuffrida

Economia Fazio

Statistica Ricci

Studenti Esami

Corsi

Esempio di analisi

Page 5: Introduzione alle tecniche di Data Mining - dmi.unict.itggiuffrida/LM87/Introduzione_al_Data_Mining.pdf · la regola pannolini ... •Il tasso di accuratezza è la percentuale di

Data Mining

• Necessità di analizzare database di grandi dimensioni

• Scoperta di proprietà (pattern) generali, non banali e potenzialmente utili, a partire da un insieme di dati per specifiche applicazioni

• Nomi alternativi – Knowledge discovery (mining) in database (KDD), knowledge

extraction, data/pattern analysis, data archeology, data dredging, information harvesting, business intelligence, etc.

Page 6: Introduzione alle tecniche di Data Mining - dmi.unict.itggiuffrida/LM87/Introduzione_al_Data_Mining.pdf · la regola pannolini ... •Il tasso di accuratezza è la percentuale di

Esempi di applicazioni

• Regole per la concessione di prestiti bancari dall’analisi delle storie precedenti

• Pianificazione di sconti su aerei, alberghi, ecc. dall’analisi dei comportamenti di flussi turistici

• Pianificazione delle attività promozionali in un supermercato

• Disposizioni di articoli in un supermercato dall’analisi dei carrelli della spesa

• Suggerimenti di articoli correlati durante l’acquisto

• Sistemi di fraud detection: carte di credito, furto di SIM, etc.

• => Adattamento di queste tecniche per analisi sociali

Page 7: Introduzione alle tecniche di Data Mining - dmi.unict.itggiuffrida/LM87/Introduzione_al_Data_Mining.pdf · la regola pannolini ... •Il tasso di accuratezza è la percentuale di

Comunità Scientifiche interessate

Data Mining

Database Statistici

Machine Learning

Pattern Recognition

Algoritmi Esperti dominio

Visualizzazione

Page 8: Introduzione alle tecniche di Data Mining - dmi.unict.itggiuffrida/LM87/Introduzione_al_Data_Mining.pdf · la regola pannolini ... •Il tasso di accuratezza è la percentuale di

Fasi del Data-Mining Process

• Data gathering (raccolta dati): – datadase, web search, etc..

• Data Cleaning (pulizia): – Elimina gli errori, le ambiguità

• Feature extraction (estrarre dati significativi): – Mantenere solo gli attributi interessanti dei dati

• Pattern extraction and discovery: – questo e’ il vero e proprio data mining

• Visualization: – Visualizzare i dati in maniera significativa

• Evaluation: – valutare quali fatti scoperti sono utili

Page 9: Introduzione alle tecniche di Data Mining - dmi.unict.itggiuffrida/LM87/Introduzione_al_Data_Mining.pdf · la regola pannolini ... •Il tasso di accuratezza è la percentuale di

Fasi del Data-Mining Process

Data Cleaning

Data Integration

Databases

Data Warehouse

Task-relevant Data

Selection

Data Mining

Pattern Evaluation

Page 10: Introduzione alle tecniche di Data Mining - dmi.unict.itggiuffrida/LM87/Introduzione_al_Data_Mining.pdf · la regola pannolini ... •Il tasso di accuratezza è la percentuale di

Association rules, frequent pattern analysis

• Market-basket problem: – Analisi dei carrelli della spesa per capire quali prodotti

vengono comprati insieme

• Birra e pannolini?!

• Frequent pattern: un pattern (un insieme di item) che si presenta (ripete) frequentemente nei dati

• Questa informazione viene usata, ad esempio, per posizionare i prodotti sugli scaffali o effettuare promozioni coordinate

• Lo stesso concetto viene generalizzato in molti altri contesti, ad esempio: – Letture articoli su quotidiano online

– Risposte questionari

– Acquisto pacchetti di viaggio

Page 11: Introduzione alle tecniche di Data Mining - dmi.unict.itggiuffrida/LM87/Introduzione_al_Data_Mining.pdf · la regola pannolini ... •Il tasso di accuratezza è la percentuale di

Risultati del Mining

• Association Rules: – regole del tipo se un cliente compra x1, …, xk allora

compra anche Y con alta probabilità

• La probabilità minima che noi desideriamo si chiama confidenza. Vogliamo che questa sia decisamente più alta di quella attesa (significatività) – Ad esempio, la regola latte,burro pane potrebbe

derivare dal fatto che quasi tutti comprano pane, mentre la regola pannolinibirra vale con confidenza molto più alta della percentuale di clienti che compra birra

Page 12: Introduzione alle tecniche di Data Mining - dmi.unict.itggiuffrida/LM87/Introduzione_al_Data_Mining.pdf · la regola pannolini ... •Il tasso di accuratezza è la percentuale di

Concetti di base: Association Rule

• Trovare tutte le regole X Y

con «supporto» e «confidenza»

– supporto, s, numero di «carrelli»

che contengono sia X che Y

– confidenza, c, probabilità

condizionata che un carrello che

contiene X contenga anche Y

Frequenze nell’esempio: Birra:3, Noccioline:3,

Pannolini:4, Uova:3, {Birra, Pannolini}:3

• Association rule: – Birra Pannolini (3, 100%) – Pannolini Birra (3, 75%)

Clienti che acquistano

pannolini

Clienti che acquistano

entrambi i prodotti

Clienti che

acquistano birra

Tid Prodotti acquistati

10 Birra, Noccioline, Pannolini

20 Birra, Caffè, Pannolini

30 Birra, Pannolini, Uova

40 Noccioline, Uova, Latte

50 Noccioline, Caffè, Pannolini, Uova, Latte

Page 13: Introduzione alle tecniche di Data Mining - dmi.unict.itggiuffrida/LM87/Introduzione_al_Data_Mining.pdf · la regola pannolini ... •Il tasso di accuratezza è la percentuale di

Insiemi frequenti di articoli

• Nella maggior parte delle applicazioni ci

interessano solo quelle regole che riguardano

insiemi di articoli che appaiono insieme in un’alta

percentuale di carrelli (soglia di supporto)

• La ragione è che le altre non sono statisticamente

affidabili

Page 14: Introduzione alle tecniche di Data Mining - dmi.unict.itggiuffrida/LM87/Introduzione_al_Data_Mining.pdf · la regola pannolini ... •Il tasso di accuratezza è la percentuale di

Algoritmo Apriori - Esempio

Database TDB

1st scan

C1

L1

L2

C2 C2

2nd scan

C3 L3 3rd scan

Tid Item

10 A, C, D

20 B, C, E

30 A, B, C, E

40 B, E

Itemset sup

{A} 2

{B} 3

{C} 3

{D} 1

{E} 3

Itemset sup

{A} 2

{B} 3

{C} 3

{E} 3

Itemset

{A, B}

{A, C}

{A, E}

{B, C}

{B, E}

{C, E}

Itemset sup

{A, B} 1

{A, C} 2

{A, E} 1

{B, C} 2

{B, E} 3

{C, E} 2

Itemset sup

{A, C} 2 {B, C} 2 {B, E} 3 {C, E} 2

Itemset

{B, C, E} Itemset sup

{B, C, E} 2

Supmin = 2

Page 15: Introduzione alle tecniche di Data Mining - dmi.unict.itggiuffrida/LM87/Introduzione_al_Data_Mining.pdf · la regola pannolini ... •Il tasso di accuratezza è la percentuale di

Introduzione alla classificazione

• Classificare dati (creare un modello)

basato su insiemi di apprendimento e

valori degli attributi di un classificatore

• Processo in due fasi

Costruzione del modello

Uso del modello Per classificazioni successive

Page 16: Introduzione alle tecniche di Data Mining - dmi.unict.itggiuffrida/LM87/Introduzione_al_Data_Mining.pdf · la regola pannolini ... •Il tasso di accuratezza è la percentuale di

Classificazione

processo a due fasi

• Costruzione del modello: descrivere un insieme di classi predefinite – Ogni tupla appartiene ad una classe predefinita, questo viene

determinato dall’etichetta dell’attributo classificatore

– L’insieme di tuple usate per costruire il modello è chiamato training set

– Il modello è rappresentato attraverso regole di classificazione, alberi decisionali, formule matematiche,…

• Uso del modello: per classificare nuovi oggetti – Stimare l’accuratezza del modello

• Le etichette note sono confrontate con quelle restituite dal modello

• Il tasso di accuratezza è la percentuale di test del campione che vengono classificati correttamente

– Se l’accuratezza è accettabile il modello può essere usato per classificare dati nuovi

Page 17: Introduzione alle tecniche di Data Mining - dmi.unict.itggiuffrida/LM87/Introduzione_al_Data_Mining.pdf · la regola pannolini ... •Il tasso di accuratezza è la percentuale di

Alberi decisionali

• Gli alberi decisionali sono uno strumento noto

nel machine learning, nella statistica e nel data

mining

• Hanno la forma di un albero rovesciato

• Si costruiscono a partire da una relazione

esistente in cui esiste una, ed una sola,

variabile da classificare (la classe)

• Ogni nodo interno dell’albero contiene un test

che stabilisce quale sottoalbero deve essere

visitato

• Le foglie contengono la «decisione»

Page 18: Introduzione alle tecniche di Data Mining - dmi.unict.itggiuffrida/LM87/Introduzione_al_Data_Mining.pdf · la regola pannolini ... •Il tasso di accuratezza è la percentuale di

Training Dataset

• La relazione in input è

classificata sulla base

di osservazioni

passate

• L’albero generato

serve a fare

«predizioni» sul

futuro, cioè, si cerca

di indovinare la classe

(«Play» nel nostro

caso)

Outlook Temperature Humidity Windy Play?

sunny hot high false N

sunny hot high true N

overcast hot high false Y

rain mild high false Y

rain cool normal false Y

rain cool normal true N

overcast cool normal true Y

sunny mild high false N

sunny cool normal false Y

rain mild normal false Y

sunny mild normal true Y

overcast mild high true Y

overcast hot normal false Y

rain mild high true N

Page 19: Introduzione alle tecniche di Data Mining - dmi.unict.itggiuffrida/LM87/Introduzione_al_Data_Mining.pdf · la regola pannolini ... •Il tasso di accuratezza è la percentuale di

Costruzione albero decisionale, primo passo

sunny

false true

N Y

rain

overcast

Y Y

cool

mild hot

false true

N Y

Y

normal

Y

false true

N Y

temperature

=?

outlook

=? outlook

=?

windy

=?

rain

sunny

overcast

windy

=?

humidity

=?

windy

=?

high

IF (temperature = cool AND outlook = rain AND windy = false) THEN play

overcast

high normal false true

sunny rain

N N Y Y

Y

Outlook

=?

humidity

=?

windy

=?

Page 20: Introduzione alle tecniche di Data Mining - dmi.unict.itggiuffrida/LM87/Introduzione_al_Data_Mining.pdf · la regola pannolini ... •Il tasso di accuratezza è la percentuale di

Albero decisionale, versione finale

overcast

high normal false true

sunny rain

N N Y Y

Y

Outlo

ok

=?

humidi

ty

=?

wind

y

=?

Outlook Tempreature Humidity Windy Play?

overcast hot high false Y

overcast cool normal true Y

overcast mild high true Y

overcast hot normal false Y

rain mild high false Y

rain cool normal false Y

rain cool normal true N

rain mild normal false Y

rain mild high true N

sunny hot high false N

sunny hot high true N

sunny mild high false N

sunny cool normal false Y

sunny mild normal true Y

• La generazione dell’albero passa attraverso varie fasi

• La versione finale è in genere un compromesso tra precisione e

semplicità

Page 21: Introduzione alle tecniche di Data Mining - dmi.unict.itggiuffrida/LM87/Introduzione_al_Data_Mining.pdf · la regola pannolini ... •Il tasso di accuratezza è la percentuale di

Alberi decisionali, considerazioni finali

• Il modello degli alberi decisionali è uno dei

modelli di classificazione più rappresentativi

• Esistono algoritmi molto efficienti per la loro

generazione

• Molto utilizzati in tanti campi

• Altri modelli di classificazione si basano sugli

stessi principi di funzionamento