DATA MINING
datamining
1
Data mining
•Obiettivo:
estrarre informazione nascosta nei dati
in modo da consentire decisioni
strategiche
•Una materia interdisciplinare:
- statistica, algoritmica,
reti neurali
datamining
2
1
Applicazioni del data mining
- Analisi di mercato:
prodotti acquisiti insieme o in sequenza
- Analisi di comportamento:
individuare usi illeciti di credit card
- Previsione:
prevedere il costo delle cure mediche
- Controllo:
errori di produzione
datamining
3
ESEMPI DI APPLICAZIONI DEL DATA MINING
• VENDITA AL DETTAGLIO E PER CORRISPONDENZA
- QUALI “OFFERTE SPECIALI” FARE
- COME DISPORRE LE MERCI SUGLI SCAFFALI
• MARKETING
- PREVISIONI DI VENDITA
- PERCORSI DI ACQUISTO DEI PRODOTTI
• BANCHE
- CONTROLLO DEI PRESTITI
- USO (ED ABUSO) DELLE CARTE DI CREDITO
• TELECOMUNICAZIONI
- AGEVOLAZIONI TARIFFARIE
datamining
4
2
ESEMPI DI APPLICAZIONI DEL DATA MINING
• ASTRONOMIA E ASTROFISICA
- CLASSIFICAZIONE DI STELLE E GALASSIE
• RICERCA CHIMICO FARMACEUTICA
- SCOPERTA DI NUOVI COMPOSTI
- RELAZIONI TRA COMPOSTI
• BIOLOGIA MOLECOLARE
- PATTERN NEI DATI GENETICI E NELLE STRUTTURE MOLECOLARI
• TELERILEVAMENTO E METEOROLOGIA
- ANALISI DEI DATI SATELLITARI
• STATISTICA ECONOMICA
- ANALISI DEI CENSIMENTI
E DEMOGRAFICA
datamining
5
Applicazione : analisi delle vendite
Trans Data
Oggetto
Quantità
1
1
2
2
2
3
4
4
pantaloni-sci
scarponi
maglietta
giacca
stivali
giacca
maglietta
giacca
1
1
1
1
1
1
3
1
12/17/99
12/17/99
12/18/99
12/18/99
12/18/99
12/18/99
12/19/99
12/19/99
datamining
Prezzo
140.000
180.000
25.000
300.000
70.000
300.000
25.000
300.000
6
3
TIPI DI INFORMAZIONI OTTENUTE
• ASSOCIAZIONI
- INSIEME DI REGOLE CHE SPECIFICA L’OCCORRENZA CONGIUNTA
DI DUE (O PIU’) ELEMENTI
• SEQUENZE
- POSSIBILITA’DI STABILIRE CONCATENAZIONI TEMPORALI DI
EVENTI
• CLASSIFICAZIONI
- RAGGRUPPAMENTI DI ELEMENTI IN CLASSI SECONDO UN
MODELLO PREDEFINITO
• RAGGRUPPAMENTI (CLUSTER)
- RAGGRUPPAMENTI DI ELEMENTI IN CLASSI NON DEFINITE A
PRIORI
• TENDENZE (TREND)
- SCOPERTA DI ANDAMENTI TEMPORALI CARATTERISTICI CON
VALENZA PREVISIONALE
datamining
7
Scoperta di regole di associazione
• Si cercano regolarità nei dati:
quando si acquistano scarponi,
si acquistano sci
•Strutturate come:
- corpo: premessa della regola.
- testa: conseguenza della regola.
datamining
8
4
Caratteristiche delle
regole di associazione
• Supporto:
probabilità che siano presenti in una transazione
entrambi gli elementi di una regola
•Confidenza:
probabilità che sia presente in una transazione
la conseguenza (corpo) di una regola,
essendo presente la premessa (testa)
• Formulazione del problema:
estrarre tutte le regole con supporto e confidenza
superiori a valori prefissati
datamining
9
Esempi di regole di associazione
Premessa
Conseguenza
Supporto
Confidenza
pantaloni-sci
scarponi
magliette
magliette
stivali
stivali
giacche
giacche
{magliette,stivali}
{magliette,giacche}
{stivali, giacche}
scarponi
pantaloni-sci
stivali
giacche
magliette
giacche
magliette
stivali
giacche
stivali
magliette
0.25
0.25
0.25
0.25
0.25
0.25
0.5
0.25
0.25
0.25
0.25
1
1
0.5
1
0.5
1
0.66
0.33
1
0.5
1
datamining
10
5
Cosa sono le associazioni
• regole di implicazione if A then B
per determinare i gruppi di affinità tra
oggetti
• Esempio: analisi degli acquisti
if {cibo per l’infanzia} then {sigarette
leggere}
• if {birra and venerdì sera} then
{pannolini per bambini}
datamining
11
Regole di associazione
• Una regola di associazione if A then B
deve essere estratta se:
– è statisticamente frequente all’interno
della base dati (percentuale dei clienti
significativa)
– il legame tra gli oggetti è statisticamente
significativo (elevata confidenza di trovare
B avendo trovato A)
datamining
12
6
Regole di associazione
• Applicazioni:
– studio delle abitudini di acquisto
– studio della variabilità delle vendite in
assenza di un certo prodotto
– promozione di prodotti, pubblicità mirata
– organizzazione della merce sugli scaffali
– aumento della soddisfazione del cliente
– analisi finanziaria
datamining
13
IL “CESTINO DELLA SPESA”
I = { i1, … ik}
INSIEME DI k ELEMENTI (ITEM)
B = { b1, … bn}
INSIEME DI n SOTTOINSIEMI
BASKET) DI I
bi ? I
dove
•
I
- PRODOTTI IN UN SUPERMERCATO
- PAROLE IN UN DIZIONARIO
•
B
- ACQUISTI DI UN SINGOLO CLIENTE
- SINGOLO DOCUMENTO IN UN CORPUS
datamining
14
7
IL “CESTINO DELLA SPESA”
• esiste
una REGOLA DI ASSOCIAZIONE i1? i2 se
- i1 E i2 COMPAIONO INSIEME IN ALMENO s%
DEGLI n BASKET (SUPPORTO)
- DI TUTTI I BASKET CHE CONTENGONO i1
ALMENO c% CONTENGONO ANCHE i2
(CONFIDENZA)
datamining
15
ALTRI ESEMPI DI REGOLE
• REGOLE CHE HANNO “DIET COKE” NELLE CONSEGUENZA
- AIUTANO A DEFINIRE LE STRATEGIE PER AUMENTARE LE
VENDITE DI UN PRODOTTO
• REGOLE CHE HANNO “GRISSINI” NELLA PREMESSA
- AIUTANO A CAPIRE L’IMPATTO DELLA CESSAZIONE DELLA
VENDITA DI UN PRODOTTO
• REGOLE CHE HANNO “WURSTEL” NELLA PREMESSA E “SENAPE”
NELLA CONSEGUENZA
- EVIDENZIANO GLI ABBINAMENTI DI PRODOTTI PRESENTI
NELLA PREMESSA CHE INDUCONO LA VENDITA DELL’OGGETTO
NELLA CONSEGUENZA
datamining
16
8
ALTRI ESEMPI DI REGOLE
• SE
DOBBIAMO ALLOCARE I PRODOTTI NEGLI SCAFFALI,
-TROVANDO LE MIGLIORI K REGOLE CHE HANNO
“GRISSINI” NELLA CONSEGUENZA IN TERMINI DEL
FATTORE DI CONFIDENZA E IN TERMINI DEL FATTORE DI
SUPPORTO
- POSSO GESTIRE UNA PIU’EFFICACE ALLOCAZIONE DEI
“GRISSINI” NEGLI SCAFFALI
datamining
17
DATA MINING IN AMBIENTE RELAZIONALE
• ESTENSIONE
DI SQL CON OPERATORI DI DATA MINING
INTEGRATI NEL LINGUAGGIO
• INTEGRARE UN SERVER SQL CON UN MOTORE DI DATA
MINING
- MINE RULE
PER LE REGOLE DI
ASSOCIAZIONE
- MINE CLASSIFICATION
PER I PROBLEMI DI
CLASSIFICAZIONE
- MINE INTERVAL
PER LA DISCRETIZZAZIONE
DI ATTRIBUTI CONTINUI
datamining
18
9
Regole di associazione in SQL
MINE RULE OGGETTI-VENDUTI-ASSIEME AS
SELECT DISTINCT OGGETTO AS BODY,
OGGETTO AS HEAD,
SUPPORT, CONFIDENCE
FROM VENDITE
GROUP BY TRANS
EXTRACTING RULES WITH SUPPORT: 0.1
CONFIDENCE: 0.2
datamining
19
MINE RULE: ESEMPIO
MINE RULE AssociazioneSemplice AS
SELECT DISTINCT item... AS BODY, item... AS HEAD,SUPPORT,
CONFIDENCE
FROM Purchase
GROUP BY transaction
EXTRACTING RULES WITH SUPPORT: 0.1, CONFIDENCE: 0.2
CLIENTE
Rossi
Rossi
Bianchi
Bianchi
Bianchi
Rossi
Bianchi
Bianchi
OGGETTO
pantal. da ski
scarponi mont.
camicia sport
scarpe marron
giacca
giacca
camicia sport
giacca
TR PREZZO QUANT.
36877 90000
1
36877 180000
1
36878 70000
2
36878 250000
1
36878 400000
1
36878 400000
1
36879 70000
3
36879 400000
2
datamining
20
10
MINE RULE: ESEMPIO
CORPO
TESTA
SUPPORTO CONFIDENZA
pantaloni da ski
scarponi montagna
0,25
1
scarponi montagna
pantaloni da ski
0,25
1
camicia sport
scarpe marron
0,25
0,50
camicia sport
giacca
0,50
1
scarpe marron
camicia sport
0,25
1
scarpe marron
giacca
0,25
1
giacca
camicia sport
0,50
0,66
giacca
scarpe marron
0,25
0,33
camicia sport, scarpe marron
giacca
0,25
1
camicia sport, giacca
scarpe marron
0,25
0,5
scarpe marron, giacca
camicia sport
0,25
1
datamining
21
Altri esempi
• Oggetti venduti nella stessa promozione
•Oggetti venduti assieme d'estate ma non
d'inverno
•Oggetti venduti assieme in quanto disposti
in modo particolare
•Oggetti acquisiti in sequenza dallo stesso
cliente
datamining
22
11
CLASSIFICAZIONE
Classificazione:
Catalogazione di un fenomeno particolare in una classe
predefinita
- Fenomeno presentato sotto forma di fatti elementari
(tuple)
- Costruzione del classificatore a partire da un set di
dati di prova (training set)
- Classificatori rappresentati come alberi di decisione
datamining
23
PROBLEMA DI CLASSIFICAZIONE
CIASCUN ELEMENTO (tupla) DI UN INSIEME DI DATI E’ASSOCIATO, IN
BASE A ESPERIENZE O OSSERVAZIONI PREGRESSE, AD UNA
CARATTERISTICA DISTINTIVA CHIAMATA CLASSE
• FASE 1: APPRENDIMENTO (TRAINING)
- COSTRUZIONE DI UN MODELLO SULL’INSIEME NOTO
(TRAINING SET) IN MODO CHE OGNI CLASSE SIA UNA
PARTIZIONE DELL’INSIEME
• FASE 2: APPLICAZIONE
- IL MODELLO INDIVIDUATO VIENE UTILIZZATO PER CLASSIFICARE
NUOVI DATI
datamining
24
12
PROBLEMA DI CLASSIFICAZIONE: ESEMPIO
• FASE 1: APPRENDIMENTO (TRAINING)
MINE CLASSIFICATION CarInsuranceRules AS
SELECT DISTINCT RULES ID, *, CLASS
FROM CarInsurance
CLASSIFY BY Risk
• FASE 2: APPLICAZIONE
MINE CLASSIFICATION TEST ClassifiedApplicants AS
SELECT DISTINCT *, CLASS
FROM Applicants
USING CLASSIFICATION FROM CarInsuranceRules AS RULES
datamining
25
PROBLEMA DI CLASSIFICAZIONE: ESEMPIO
CarInsuranceRules
1. IF Age ? 23 THEN Risk IS High;
AGE
CAR TYPE
RISK
17
43
68
32
23
18
20
45
50
64
46
40
sports
family
family
truck
family
family
family
sports
truck
truck
family
family
high
low
low
low
high
high
high
high
low
high
low
low
CarInsurance
2. IF CarType = sports THEN Risk IS
High;
3. IF CarType IN {family, truck} AND
Age > 23 THEN Risk IS Low;
4. DEFAULT Risk IS Low
AGE
CAR TYPE
22
60
35
family
family
sports
Applicants
MINE
MINE
CLASSIFICATION
CLASSIFICATION
TEST
TEST
AGE
CAR TYPE
CLASS
22
60
35
family
family
sports
high
low
high
ClassifiedApplicants
datamining
26
13
Discretizzazione
Discretizzazione :Rappresentazione di un dominio
continuo tramite opportuni valori discreti
vantaggi:
• Rappresentazione compatta dei valori
• Determinazione di valori critici
• Facilitazione della analisi dei dati successiva
datamining
27
PROBLEMA DI DISCRETIZZAZIONE
DISCRETIZZAZIONE SEMPLICE
- INTERVALLI DI UGUALE AMPIEZZA
IL DOMINIO NUMERICO VIENE SUDDIVISO IN UN ASSEGNATO
NUMERO DI INTERVALLI DI UGUALE AMPIEZZA
- INTERVALLI DI UGUALE FREQUENZA
GLI INTERVALLI SONO PIU’STRETTI DOVE I VALORI SONO DENSI E
PIU’AMPI DOVE I VALORI SONO SPARSI
MINE INTERVAL IntervalliDiUgualeAmpiezza AS
SELECT DISTINCT ID, LOWER, UPPER
GENERATING AssicurazioneAutoDiscreta
FROM AssicurazioneAuto
DISCRETIZE Età BY WIDTH USING 3 INTERVALS
datamining
28
14
PROBLEMA DI CLASSIFICAZIONE: ESEMPIO
IntervalliDiUgualeAmpiezza
ID
AGE
CAR TYPE
RISK
17
43
68
32
23
18
20
45
50
64
46
40
sports
family
family
truck
family
family
family
sports
truck
truck
family
family
high
low
low
low
high
high
high
high
low
high
low
low
1
2
3
LOWER UPPER
17
34
52
34
52
68
AGE
CAR TYPE
RISK
1
--1
2
--2
3
3
sports
-----truck
family
-----truck
-----family
high
--low
low
--low
--low
AssicurazioneAuto
AssicurazioneAutoDiscreta
datamining
29
Sintesi dei vari aspetti
presenti nella analisi dei dati
ambiente:
•data warehouse
modello:
• multidimensionale
tecnologie di base:
• distribuzione
•parallelismo
•replicazione
tecnologie specifiche:
estensioni di SQL
• data cube
•mine rule
•browser (e visualizzatori)
•data mining
- associazione
- discretizzazione
- classificazione
datamining
30
15