Informatica per le discipline
umanistiche 2
– lezione 11 –
Come si fa a costruire
una base di dati?
Dipende.
Le persone che si iscrivono in università… forniscono dati che popolano il database dellʼuniversità
Ma anche chi fa la spesa…
…fornisce informazioni
con i suoi acquisti, anche
se in maniera meno diretta
Una volta costruita la
base di dati?
Profiling Costruzione di profili, intesi come pattern o
correlazioni allʼinterno di grandi quantità di dati
usati per identificare individui o gruppi di persone.
Pattern: uno schema ricorrente
Correlazione: interdipendenza tra quantità variabili
Tale costruzione può essere facilitata da strumenti
informatici.
Numerosi scopi: discriminazione di prezzo, servizi
personalizzati, rilevamento di frodi, etc.
Knowledge Discovery in Databases (KDD): il
problema oggi non è più raccogliere i dati, bensì
districarsi in una mole di dati e distinguere
lʼinformazione significativa e utile dal rumore.
Rumore: oscillazioni casuali di una quantità.
Le 3 fasi della KDD
1. Preprocessing, o pre-processo dei dati
Bisogna selezionare lʼinsieme di dati obiettivo,
selezionando un sottoinsieme della base di dati:
deve essere grande abbastanza da contenere i
pattern che cerchiamo, ma piccola abbastanza da
permettere lʼanalisi in tempi accettabili.
Lʼinsieme obiettivo viene poi “pulito” (data
cleansing/data cleaning) per eliminare dati corrotti
o mancanti.
Studente
matricola
cognome
nome
data-iscr
facoltà
23456
19797
21215
Bini
Dotti
Gxxrossi
Laura
Paolo
Danilo
2010-07-25
9999999999
2007-07-05
let
let
Le 3 fasi della KDD
2. Data Mining
Sotto questo termine generale in realtà
ricadono numerosi tipi di knowledge
discovery.
Anomaly detection / rilevamento
di anomalie: ricerca di elementi inusuali nel
data base; si potrebbe trattare di
informazione interessante o di
errori non puliti; è necessaria
ulteriore indagine. Association rule learning /
apprendimento di regole
dʼassociazione:
noto anche come “market
basket analysis”, ricerca di
correlazioni
tra
variabili
diverse
presenti
nel
database.
Clustering:
ricerca di caratteristiche
comuni tra diverse tuple del
database, che permettono di
riconoscere diversi gruppi di
similarità.
Classification:
applicazione di un criterio di
discriminazione elaborato in
precedenza su nuovi dati per
classificarli.
Regression / regressione: ricerca di una funzione
matematica che modelli
lʼandamento
dei
dati
analizzati con la maggiore
precisione possibile, per
poi fare estrapolazione e
previsioni.
Quando cerchiamo di modellare i nostri dati
con una retta, si parla di regressione lineare.
Questa è una regressione generica.
Summarization / riepilogo: accorpamento
di
dati
per
costruirne una rappresentazione
più compatta per visualizzazioni
più efficaci e reporting /
“rapportazione”.
Facciamo un esempio di association rule learning / market basket analysis
scontrino
1
2
3
4
5
acquisti
latte, vino
pane, burro
pane, burro, miele
pane, burro, latte
pane, vino
Cerchiamo regole dʼassociazione sotto forma di:
SE cʼè x, ALLORA cʼè anche y nel carrello
Cerchiamo regole dʼassociazione sotto forma di:
x -> y
{se cʼè x, allora cʼè anche y nel carrello}
Ce ne sono tante: pane -> burro
latte -> pane
miele -> pane e burro
quali sono buone?
burro -> pane
Criterio 1: supporto
Si definisce supporto di una regola
x -> y
il rapporto tra il numero di righe che contengono
xey
e il numero totale di righe della tabella analizzata.
scontrino
1
2
3
4
5
acquisti
latte, vino
pane, burro
pane, burro, miele
pane, burro, latte
pane, vino
Sup(pane -> burro) = 60%
Sup(latte -> pane) = 20%
Sup(miele -> pane e burro) = 20%
Sup(burro -> pane) = 60%*
*regole con gli stessi oggetti hanno lo stesso supporto
Criterio 2: confidenza
Si definisce confidenza di una regola
x -> y
il rapporto tra il numero di righe che contengono
xey
e il numero di righe che contengono x.
scontrino
1
2
3
4
5
acquisti
latte, vino
pane, burro
pane, burro, miele
pane, burro, latte
pane, vino
Conf(pane -> burro) = 75%
Conf(latte -> pane) = 25%
Conf(miele -> pane e burro) = 100%
Conf(burro -> pane) = 100%
La confidenza può essere interpretata come la
probabilità di avere y in una riga, sapendo che cʼè x in
quella riga.
Quali regole cercare,
quindi?
Tutte quelle regole che
hanno supporto superiore a
un certo valore, e
confidenza superiore a un
certo valore.
Vendite nel 2007:
5782,6 milioni €
Se la spesa media è di 25 €
vuol dire più di 231mila scontrini
Ci sono più di 10mila prodotti
Eʼ impraticabile far fare data mining a essere
umani con questa mole di dati.
Le 3 fasi della KDD
3. Validazione dei risultati
In realtà dobbiamo ricordarci che le analisi del data
mining non si applicano sullʼintera base di dati
disponibile ma su un sottoinsieme.
La validazione dei risultati si ottiene controllando
che i pattern trovati siano presenti anche nel resto
della base dei dati.
Questo è possibile perché per applicare un pattern
già noto a una base di dati occorre molto meno
tempo che trovare un pattern ancora sconosciuto.
Come sfruttare la
conoscenza acquisita?
Picco di vendite di birra
in coincidenza con
eventi sportivi
In vista della partita
mettere bene in vista le
birre, magari con offerte
Chi compra peluche
compra spesso
caramelle
Mettere i due prodotti
vicini per incrementare
la probabilità di un
acquisto congiunto
Riconoscere che
esistono 3 tipi di
clientela rispetto al
consumo dei prodotti di
macelleria
Fornire servizi orientati
ai 3 gruppi, iniziando da
quello che garantisce i
margini di guadagno più
alti
Tramite la tessera di
fidelizzazione capire a
che gruppo appartiene
un cliente
Al suo prossimo
acquisto fornirgli un
buono sconto mirato
per farlo tornare di
domenica
Andamento delle
vendite di patate
Acquistare più patate
dai fornitori
Risultati complessivi di
fine anno
Da portare in riunione
per discutere sulle
prossime strategie