Introduzione al Data Mining Differenze nell`analisi

Transcript

Introduzione al Data Mining Differenze nell`analisi
Archivi di dati = “Tombe” di dati ?
La necessità è la madre delle invenzioni
La capacità di raccogliere e memorizzare dati ha
largamente superato la capacità umana di analizzarli
!!
Introduzione al Data Mining
"! Strumenti di raccolta automatica dei dati, maturità della
tecnologia database
#! Enormi quantità di dati memorizzati e disponibili
distanza crescente fra la generazione dei dati e la loro
comprensione
Potenzialità, Tecniche e Progetti
Siamo assetati di conoscenza ma anneghiamo nei dati
Tuttavia, i dati contengono informazioni di grande
interesse economico, sociale e scientifico:
!!
!!
Convegno: ICT 4 Value – Creare Valore dai Dati (29/06/2009)
"! la ricerca nel Data Mining (DM) ha come scopo la progettazione
Prof. Gianluca Moro
DEIS - Università di Bologna
[email protected]
di strumenti per trasformare i dati in informazione
Data Mining per recuperare i costi del Data Warehousing
!!
"! Integrazione, analisi/sintesi ed estrazione di conoscenza
Via Venezia 52 - 47023 Cesena
Tel. +39 0547 339 237 - Fax 208
Gianluca Moro
A quali domande risponde il DM (i)
!!
Da cosa è influenzata la vendita di un certo prodotto ?
Quali fattori attraggono nuovi clienti ?
!!
Quali informazioni sono rilevanti per stabilire se un
nuovo cliente sarà un buon cliente ?
!!
Quale altro prodotto proporre all’atto di un acquisto ?
!!
Qual è il rischio che corro a fronte di un investimento ?
!!
Quali sono le correlazioni tra i fenomeni che
caratterizzano la mia realtà aziendale ?
Frodi fiscali: quali sono le caratteristiche di aziende/persone
!!
In quali macro gruppi si suddividono i miei clienti ?
"! Customer acquisition
"! Risk analysis
"! Performance analysis
!!
che fanno evasione fiscale ?
"! Analisi dei bilanci / dichiarazioni dei redditi
"! Segmentazione dei clienti
Quale prodotto proporre ad un dato cliente ?
!!
Frodi assicurative:
"! Individuazione di gruppi di persone che creano
"! Cross-selling
(artificialmente) incidenti per ricevere risarcimenti
Quali sono i clienti che potrei perdere ?
"! Assicurazioni mediche: individuare pazienti che si fingono malati
"! Customer retention and churn analysis
Gianluca Moro
-
Introduzione al Data Mining
Gianluca Moro
3
Differenze nell’analisi tra Data
Warehousing e Data Mining
Data Warehousing:
!!
"! Vorrei visualizzare le vendite di ogni prodotto
!!
suddivise per punto vendita
!!
Data Mining:
!!
"! Vorrei sapere quali sono le caratteristiche dei
punti vendita con redditività alta
Nel primo caso l’utente sa già quello
che cerca
!! Nel secondo caso vuole scoprire la
causa di un effetto
!!
Gianluca Moro
-
Introduzione al Data Mining
!!
!!
5
-
Introduzione al Data Mining
4
Problemi tipici di Data Mining:
La catena commerciale Midwest
!!
!!
2
"! Up-selling
!!
!!
Introduzione al Data Mining
A quali domande risponde il DM (ii)
"! Market Basket Analysis
!!
-
Negozi di vendita al dettaglio e dati sulle vendite
Cosa si è scoperto?
i clienti (in prevalenza uomini) che acquistano
pannolini il giovedì e il sabato sono propensi ad
acquistare anche birra
Un’analisi piú accurata mostró che questi acquirenti
concentravano i loro acquisti maggiormente il sabato
e marginalmente il giovedí
Si concluse che la birra veniva prob. acquistata per il
weekend. Come sfruttare il risultato?
Decisione: spostamento del cartello delle birre vicino
a quello dei pannolini assicurandosi di non applicare
sconti su quei prodotti il giovedì e il sabato.!
Gianluca Moro
-
Introduzione al Data Mining
6
Problemi tipici di Data Mining:
Corriere espresso
!!
!!
!!
!!
!!
!!
!!
!!
Problemi tipici di Data Mining:
Le Mucche della nuova Zelanda
!!
diversi percorsi di consegna risultano più lenti di altri
fattori critici: traffico, tipologia delle strade, autista
.... ma vi sono percorsi che a parità di fattori critici
sono comunque sempre più lenti di altri
Cosa si è scoperto ?
un nuovo fattore critico: il numero di svolte a sinistra
i percorsi più lenti hanno un numero mediamente
maggiore di svolte a sinistra
Come sfruttare il risultato ?
inserimento del nuovo fattore nel sistema di
ottimizzazione dei percorsi e ricalcolo degli itinerari!
!!
!!
!!
!!
Gianluca Moro
-
Introduzione al Data Mining
Gianluca Moro
7
Problemi tipici di Data Mining:
Gli agricoltori statunitensi
il dipartimento dell'agricoltura degli Stati Uniti
ogni anno eroga indennizzi per danni da
maltempo a centinaia di migliaia di agricoltori"
!! una frazione delle richieste di indennizzo è
fraudolenta"
!! un'analisi a campione delle richieste per
verificarne l'autenticità ha un costo molto
elevato rispetto alla resa"
!! un progetto di data mining volto a individuare
le frodi ha reso oltre venti volte il suo costo
-
-
Introduzione al Data Mining
8
Problemi tipici di Data Mining:
Università (negli USA)
!!
Gianluca Moro
Ogni anno, gli allevatori caseari in Nuova Zelanda
devono prendere una difficile decisione: quali capi
tenere nell'allevamento e quali vendere per la
macellazione
Un quinto dei capi degli allevamenti è abbattuto ogni
anno alla fine della stagione del latte, quando il
foraggio inizia a scarseggiare
La storia di produzione di vitelli e di latte di ogni
bovino influenza questa decisione, insieme ad età,
salute, storia, comportamento etc.
Sono stati registrati circa 700 attributi per milioni di
capi
Come estrarre da questi dati la conoscenza implicita
nelle decisioni degli allevatori di maggior successo ?
Introduzione al Data Mining
!!
!!
!!
!!
!!
!!
Ogni anno le Università statunitensi ricevono domande
di ammissione da parte di studenti
Gli studenti forniscono una serie di dati sulla carriera
scolastica e personali
Obiettivo: scegliere gli studenti migliori, ossia che
completeranno gli studi con ottimi voti e senza ritardi
Dalla storia degli studenti che hanno già completato gli
studi individuare le caratteristiche di quelli migliori
A partire da queste caratteristiche stimare voto finale e
ritardo alla laurea per ogni studente candidato
Progetto sperimentale simile con AlmaLaurea s.r.l
"! Stima della fascia di voto e ritardo per gli studenti che dalla
laurea triennale si iscrivono alla specialistica
Gianluca Moro
9
Knowledge Discovery
-
Introduzione al Data Mining
10
Il Processo di Knowledge Discovery
Interpretation
and Evaluation
The nontrivial extraction of
implicit, previously unknown and potentially
useful
information from data
Data Mining
Knowledge
Selection and
Preprocessing
p(x)=0.02
W. Frawley, G. Piatetsky-Shapiro, and C. Matheus:
“Knowledge Discovery in Databases: An Overview”.
AI Magazine, Fall 1992, pgs 213-228
Data
Consolidation
Patterns &
Models
Warehouse
Prepared Data
Consolidated
Data
Data Sources
Gianluca Moro
-
Introduzione al Data Mining
11
Gianluca Moro
-
Introduzione al Data Mining
12
Tecniche e Algoritmi di DM (ii)
Tecniche e Algoritmi di DM (i)
!!
!!
!!
UNSUPERVISED LEARNING
Partono da un insieme di osservazioni:
prodotti, vendite, clienti, pazienti, studenti...
Ogni osservazione è caratterizzata da un insieme di
attributi:
vendite(prodotto, mese, cliente, num_ordini, zona, ... )
!! paziente(età, sesso, risultato di un certo esame clinico)
!!
Att1
Att2
Att3
Att4
Att5
0.54
Giallo
Y
123
…
0.89
Rosso
N
5734
…
2
Verde
N
8944
…
-
•! CLUSTERING
$! Scopre i cluster (raggruppamenti) di
osservazioni/righe simili tra di loro
Utilizzato per segmentare i clienti
•! CLASSIFICAZIONE
$! Predice il gruppo di appartenenza di
un’osservazione
Per riconoscere i clienti che stanno
per abbandonare l’azienda
Introduzione al Data Mining
•! SERIE TEMPORALI
$! Prevede l’andamento di un certo valore
Gianluca Moro
-
Introduzione al Data Mining
14
Regole Associative:
Supporto e Confidenza
Transazione
"! insieme di elementi (item) acquistati congiuntamente
!!
Supporto di una regola ( | X U Y | / | T | )
"! È la percentuale di transazioni che contengono sia X che
(quello che si trova in un carrello della spesa)
!!
Fare stime numeriche:
es. Quanto sarà l’incasso
di oggi, nota la data e le condizioni
meteo ?
SUPERVISED LEARNING
13
Regole Associative (i)
!!
Utilizzato per analizzare gli acquisti
in un supermercato
•! REGRESSIONE
$! Stima il valore di un attributo
numerico di un’osservazione
•! Scoprono informazioni relative alle osservazioni in input
•! Correlazioni tra valori in colonne diverse
•! Correlazioni tra osservazioni/righe diverse
Gianluca Moro
Esempi
•! REGOLE ASSOCIATIVE
$! Scopre le correlazioni tra colonne
Y sul totale delle transazioni esistenti
es: (il 40% delle transazioni natalizie include panettone e
champagne)
Regola Associativa
"! dato un insieme di item I e un insieme di transazioni
!!
Confidenza di una regola (| X U Y| / |X|)
"! È la percentuale di transazioni che contengono sia X che
D, una regola associativa del tipo
X ! Y (X implica Y) (con X,Y " I e X # Y = $)
è un’implicazione
Y rispetto alle transazioni che contengono almeno X
es: (a Natale, l’80% delle persone che comprano
champagne comprano anche il panettone)
chi compra X compra anche Y
!!
Problema:
"! determinare tutte le regole associative che abbiano
supporto almeno pari a MINSUPP e confidenza almeno
pari a MINCONF
Gianluca Moro
-
Introduzione al Data Mining
Gianluca Moro
15
!!
La regola A ! C ha
Transaction
"! Supporto pari al 50%,
ID
perché {A C}
compare in 2
100
transazioni su 4
"! Confidenza pari al
66%, perché su 3
200
transazioni in cui
compare A, in due
300
compare anche C
La regola C ! A ha
"! Supporto pari al 50%
"! Confidenza pari al
100%
Gianluca Moro -
400
16
Trova le regole che hanno noccioline nel conseguente "
"! possono essere usate per capire quali prodotti il supermercato
Items
deve comprare per favorire la vendita di noccioline"
!!
Trova le regole che hanno noccioline nell#antecedente"
"! può prevedere quali prodotti possono subire una riduzione delle
ABC
vendite se il supermercato decide di non vendere più noccioline"
!!
AC
Trova le regole che hanno noccioline nell#antecedente e
birra nel conseguente"
"! può servire per capire quali altri prodotti oltre alle noccioline
servono per favorire la vendita di birra (e.g. pannolini per
bambini – vedi dopo)"
AD
!!
!!
Introduzione al Data Mining
Regole Associative: Utilità
Supporto e confidenza: Esempio
!!
-
Trova le regole che riguardano item delle corsie 10 e 11 "
"! possono essere usate ai fini di una migliore organizzazione dei
BEF
prodotti nelle corsie !
!!
Trova le regole più interessanti"
"! Ad esempio regole con maggiore confidenza e/o supporto"
Introduzione al Data Mining
17
Gianluca Moro
-
Introduzione al Data Mining
18
Il Clustering:
individuazione di dati omogenei
!!
!!
Il Clustering:
individuazione di dati omogenei
mentre la classificazione ha il preciso scopo di
predire fenomeni di interesse, ad esempio il
comportamento di clienti ignoti
lo scopo del clustering è fare emergere regolarità
nei dati senza supervisione:
!!
"! un insieme di N oggetti di d-dimensioni
!!
dati in k clusters
"! proprietà desiderate nei cluster:
•! Gli oggetti nello stesso cluster sono simili
# massimizzata la similarità intra-cluster
•! Gli oggetti in cluster diversi sono dissimili
# minimizzata la similarità inter-cluster
"! gruppi che mostrano certe regolarità, che condividono certe
caratteristiche, che spontaneamente si presentano come
entità compatte, con un loro profilo
"! ad esempio il clustering serve a descrivere i clienti noti,
evidenziando gruppi di simili
La predizione sui casi ignoti è che ognuno si
comporterà come quelli del cluster a cui appartiene
Gianluca Moro
-
Introduzione al Data Mining
compito:
"! determinare un partizionamento dell'insieme di
"! aiutarci a capire che esistono dei gruppi non casuali
!!
dati:
Gianluca Moro
19
Clustering: pacchi poste (tedesche)
-
Introduzione al Data Mining
20
Clustering: segmentazione di
immagini
clusterizzazione di immagini
satellitari per determinare l’uso
del territorio (strade,
aree urbane, rurali, foreste
laghi/fiumi etc.)
!!
!!
peso vs volume non separano/correlati
ma, in media, pacchi alti pesano meno
di quelli più bassi
Gianluca Moro
-
!!
lunghezza vs peso creano
separazioni/cluster diversi
Introduzione al Data Mining
!!
Gianluca Moro
21
Data Clustering: limiti e
prospettive
!!
clusterizzazione di
immagini mediche come
pre-processing per identificare
feature/classi utili in successive
classificazioni (e.g. fluido
cerebrospinale, materia bianca,
tessuti striati, tumori etc.)
-
Introduzione al Data Mining
22
Principali metodi di clustering
La maggioranza degli algoritmi sviluppati prima degli
anni 90 non raggiunge molti obiettivi del DM
Proprietà ideali di un algoritmo per applicazioni DM:
"! Scalabilità, complessità temporale O(n log n)
!!
partitivi
"! K-means (MacQueen 67), expectation maximization (Lauritzen 95),
CLARANS (Ng and Han 94)
!!
"! Trattamento di diversi tipi di dati
gerarchici
"! Agglomerativi/divisivi, BIRCH (Zhang et al 96), CURE (Guha et al 98)
basati sul collegamento (linkage)
!! basati sulla densità
"! Cluster di forma arbitraria
!!
"! Basso numero di parametri di input, minima conoscenza a
priori
"! DBSCAN (Ester et al 96), DENCLUE (Hinnenburg and Keim 98)
"! Insensibilità ai dati rumorosi
!!
"! Riconoscimento degli outlier
statistici
"! IBM-IM demographic clustering, COBWEB (Fisher 87), Autoclass
"! Insensibilità all’ordine dei dati
(Cheeseman 96)
"! Efficienza e accuratezza in caso di dimensionalità elevata
Gianluca Moro
-
Introduzione al Data Mining
23
Gianluca Moro
-
Introduzione al Data Mining
24
K-means
K-means
1.! chiedi all'utente
quanti clusters
vuole (e.g. k=5)
1.! chiedi all'utente
quanti clusters
vuole (e.g. k=5)
2.! scegli a caso k
posizioni come
Centri
Gianluca Moro
-
Introduzione al Data Mining
25
1.! chiedi all'utente
quanti clusters
vuole (e.g. k=5)
1.!
3.!
3.! ogni punto trova
quale è il suo
Centro più vicino
4.!
Gianluca Moro
-
Introduzione al Data Mining
4.!
5.!
6.!
26
Gianluca Moro
-
Introduzione al Data Mining
28
scegli a caso k
posizioni come
Centri
ogni punto trova
quale è il suo
Centro più vicino
ogni Centro trova il
centroide dei punti
che possiede…
27
K-means
3.!
Introduzione al Data Mining
chiedi all'utente
quanti clusters
vuole (e.g. k=5)
2.!
2.! scegli a caso k
posizioni come
Centri
2.!
-
K-means
K-means
1.!
Gianluca Moro
K-Means: obiettivo
chiedi all'utente
quanti clusters
vuole (e.g. k=5)
!!
l’obiettivo è minimizzare la varianza totale intracluster (o la deviazione standard)
!!
dove k è il numero di cluster
Si , per i = 1, 2, ..., k, è l’insieme dei punti del cluster
i-esimo
!i è il centroide di Si (i.e. media delle coordinate dei
punti xj appartenenti a Si )
scegli a caso k
posizioni come
Centri
ogni punto trova
quale è il suo
Centro più vicino
ogni Centro trova il
centroide dei punti
che possiede…
!!
…e si sposta nel
centroide
!!
…ripeti da 3 fino al
termine
Gianluca Moro
-
Introduzione al Data Mining
29
Gianluca Moro
-
Introduzione al Data Mining
30
Commenti su K-Means
!!
Clustering basato sulla densità
Punti di forza
"! relativamente efficiente: O(tkn), dove n è il numero
di oggetti, k il numero di cluster e t il numero di
iterazioni; normalmente k,t <<n
"! spesso termina con un ottimo locale. L'ottimo
globale può essere trovato con tecniche come
deterministic annealing e algoritmi genetici
!!
Punti di debolezza
"! applicabile soltanto in spazi in cui è definibile la
I cluster sono regioni ad alta densità,
separati da regioni a bassa densità
media; che fare ad esempio con dati categorici?
"! occorre fissare a priori k
"! non tratta adeguatamente dati con rumore e
outlier
"! inadatto a scoprire cluster con forme non
convesse
Gianluca Moro
-
Introduzione al Data Mining
Gianluca Moro
31
-
Introduzione al Data Mining
32
Algoritmi basati su Kernel Density Estimation
Algoritmi density-based
Regioni dello spazio la cui densità stimata è
alta contengono oggetti omogenei
!! Algoritmo
!!
Calcola una stima di densità del dataset S per
individuare concentrazioni di dati
2.! Raggruppa in un unico cluster gli oggetti
contenuti nella stessa regione, ad alta densità,
connessa e massimale rispetto a un criterio
1.!
Gianluca Moro
-
Introduzione al Data Mining
Data Set
Gianluca Moro
33
Generalizza i metodi partitivi, gerarchici e basati
sulla località
!! Prestazioni superiori in database con piú di 10
dimensioni (fattore di qualche decina rispetto a
DBSCAN) e con grandi quantità di rumore (50%),
caratteristiche dei database multimediali
!! Applica il clustering solo alle regioni piú
densamente popolate
!! Basato sugli attrattori di densità, ovvero massimi
locali della funzione densità
!! Complessità O(n log n) nel caso peggiore.
Sperimentalmente si osservano prestazioni molto
superiori
Introduzione al Data Mining
-
Introduzione al Data Mining
34
DENCLUE (ii)
!!
-
Density Function
Influence Function: influenza di un punto nel suo vicinato
Density Function: somma delle influenze di tutti i punti
Density Attractor: massimi locali della density function
DENCLUE: algoritmo KDEbased (i)
Gianluca Moro
Influence Function
35
!!
Lo stimatore kernel è definito
da
!!
K è una funzione (kernel) che
soddisfa
!!
Il parametro h (ampiezza di
finestra, smoothing) determina
la regolarità della stima
Gianluca Moro
-
Introduzione al Data Mining
36
DENCLUE (iii)
!!
!!
!!
!!
KDE: esempi di cluster di forma arbitraria (i)
Algoritmo DENCLUE (semplificato)
Input: funzione kernel K, reale %
Calcola la stima di densità kernel con
K
Ripeti finché sono disponibili oggetti in
input
"! Leggi oggetto e memorizzalo in x
"! Traccia la curva di massima
pendenza nel grafico della stima, da
x a un massimo locale
"! Associa x al massimo locale
"! Per ogni massimo locale, raccogli in
un unico cluster tutti gli oggetti
associati al massimo locale
"! Elimina i cluster determinati da un
massimo locale con densità inferiore
a%
"! Unisci i cluster i cui massimi locali
possone essere collegati da un
percorso con stima non inferiore %
Figura da: Alexander Hinneburg, Daniel A. Keim: An Efficient Approach to Clustering in Large Multimedia Databases
with Noise. KDD 1998: 58-65
Gianluca Moro
-
Introduzione al Data Mining
Gianluca Moro
37
KDE: esempi di cluster di forma arbitraria (ii)
-
Introduzione al Data Mining
38
Classificazione
SCOPO: Date delle osservazioni etichettate (con un
attributo categorico), addestrare una macchina ad
etichettare nuove osservazioni (in cui l’attributo non è
noto)
1.! Training del modello
%!
Figura da: Alexander Hinneburg, Daniel A. Keim: An Efficient Approach to Clustering in Large Multimedia Databases
with Noise. KDD 1998: 58-65
1
Training set
2.!
red
0.4
G1
1.3 blue 0.3
G1
1.1
red
1.3
G2
0.1
blac
0.3
k
G3
MODEL
Utilizzo del modello per la predizione
1.4
red
0.9
G2
?
CLASSIFICAZ
Gianluca Moro
-
Introduzione al Data Mining
39
red
0.4
G1
1.3
blue
0.3
G1
1.1
red
1.3
G2
0.1
black
0.3
G2
1.4
red
0.9
G1
0.8
blue
0.9
G2
1.8
blue
0.1
G1
Gianluca Moro
-
Introduzione al Data Mining
41
Esempio: prevedere i potenziali abbonati
ad una rivista
Classificazione: Misurare
l’errore (hold out)
1
IONE
G2
G2
Training set
MODEL
G1
Correct = 67%
Test set
Fingiamo di non conoscere le label delle
osservazioni del test set
Gianluca Moro
-
Introduzione al Data Mining
42
Gianluca Moro
-
Introduzione al Data Mining
43
Esempio (iii): scelta dell’attributo
radice e dei successivi nodi
Esempio: potenziali abbonati (ii)
!!
tre attributi predittori
!!
si intende predire la classe subscriptor
"! car type, age, number of children
Si sceglie iterativamente l’attributo che massimizza il
guadagno di informazione (max discriminazione del data set)
%! Metodo basato sul calcolo del valore dell’informazione o
entropia e sulla multistage decision property
%! Entropy(p1, p2, … , pN) = -p1 log p1 -p2 log p2 … - pN log pN
%! Fissato un attributo, es: car type, e un suo valore, es: sports,
p1 è la percentuale di osservazioni/item della classe Yes e p2
della classe No
%!
Gianluca Moro
-
Introduzione al Data Mining
Alberi di decisione e generazione
di regole
!!
Gianluca Moro
44
-
45
Introduzione al Data Mining
Esempio di copertura
Gli alberi di decisione lavorano top down
"! a ogni stadio si cerca l'attributo di split migliore e si
procede ricorsivamente
!!
Alternativa
!!
"! data una classe trovare il modo per coprirne tutte
"! il primo test lascia ancora parecchi b
le istanze
"! generazione di regole
algoritmo di copertura
Gianluca Moro
-
Introduzione al Data Mining
coprire le a
"! il secondo isola tutte le a tranne una
•! se x > 1.2 e y > 2.6 allora la classe è a
!!
in modo analogo si può coprire b
46
Gianluca Moro
%!
il comportamento sembra simile,
ma
SCOPO: Dato un insieme di osservazioni e un attributo
numerico target, addestrare una macchina ad indovinare
l’attributo target di una nuova osservazione, di cui si
conoscono tutti gli altri attributi
"! le regole si focalizzano su una
-
Introduzione al Data Mining
Training set
singola classe
"! l'albero ha un approccio più
globale, cercando di massimizzare
la purezza globale dello split
"! le regole possono essere
simmetriche, l'albero deve
obbligatoriamente scegliere un
ordine per gli attributi di split,
questo può generare alberi molto
grandi
Gianluca Moro
47
Introduzione al Data Mining
Regressione
Regole vs alberi di decisione
!!
-
ALTEZZ
A
PESO
SESSO
165
60
M
167
52
F
179
80
M
181
61
F
172
48
?
Gianluca Moro
M
-
Introduzione al Data Mining
MODEL
70
49
Validazione del modello:
Come e Cosa Valutare
Regressione (ii)
%!
%!
Regressione lineare (metodo dei minimi quadrati), ...
Regression Decision tree:
%!
analogo a Decision Tree, ma ad ogni split si cerca di minimizzare
la varianza all’interno di ciascun nodo figlio
!!
classificazione
"! qualità del classificatore
"! compattezza ...
!!
clustering
"! qualità dei cluster
"! coerenza interna
Regressione lineare
tra il numero dei
dipendenti del 2007
e 2008 in aziende
della Romagna
"! separazione
!!
regole associative
"! confidenza
"! supporto
Gianluca Moro
-
Introduzione al Data Mining
Gianluca Moro
50
!!
!!
!!
!!
!!
valutare l'affidabilità delle predizioni
confrontare l'efficacia di diversi classificatori
metodo holdout rapporto tipico 2/3 - 1/3
metodo
k-fold cross-validation
!! partizione in k sottoinsiemi, iterativamente k
volte uno è usato come test, gli altri come
training
!! l'accuratezza globale è il numero di
classificazioni corrette complessivo diviso il
numero di campioni iniziali
!! la divisione e la stratificazione possono
essere approssimative
!! valore tipico (empirico) di k è 10
fa in modo che nei due insiemi di training e test le
classi siano rappresentate allo stesso modo
Gianluca Moro
-
Introduzione al Data Mining
51
!!
una classe potrebbe essere sotto-rappresentata
nel training set
questo potrebbe distorcere i risultati
holdout stratificato
!!
Introduzione al Data Mining
Cross-validation
Accuratezza della classificazione
!!
-
52
Gianluca Moro
-
Introduzione al Data Mining
53
Data Mining Distribuito (DDM)
Data Clustering Avanzato
!!
Dataset
"! Enormi dimensioni
"! Inerentemente distribuiti
!!
Reti
"! Larghezza di banda limitata
"! Risorse computazionali o di storage dei nodi
limitate
!!
Privacy & sicurezza
"! Dati sensibili
"! Condivisione di obiettivi, non di dati
Gianluca Moro
-
Introduzione al Data Mining
55
Data Clustering Distribuito
Soluzione centralizzata
Applicazione di algoritmi tradizionali di DM ai
dati recuperati da sorgenti distinte e
memorizzati in data warehouse
!! Non conveniente o impossibile in numerose
applicazioni
!!
"! Autonomia delle sorgenti (competizione)
"! Privacy
"! Scalabilità (limiti di rete, calcolo, storage etc.
rispetto alla quantità di dati)
Gianluca Moro
-
Introduzione al Data Mining
56
Esempi di Data Mining Distribuito
!!
!!
Introduzione al Data Mining
Obiettivo
(eventualmente infinito) garantendo una soglia max al num.
di operazioni
!!
Velocità vs accuratezza
!!
DeStream: Idea di base
"! rendere trascurabile il num. di errori
indagini epidemiologiche:
"! Un’epidemiologa è interessata a studiare l’influenza delle
"! Il dato/punto cade in una griglia multi-dimensionale
variazioni meteorologiche sulle infezioni di epatite C in
relazione al territorio
"! L’epidemiologa ha accesso a due grandi database, uno
sull’epatite C al Centre for Disease Control and Prevention
(CDC) e l’altro sull’ambiente all’Evironmental Protection
Agency, in località geografiche diverse
"! Copiare entrambi i database in un unico sito non è possibile
"! ricalcolo della densità dei punti della griglia all’interno di
idem per istituti bancari, finanziari, multi-nazionali...
Gianluca Moro
-
Introduzione al Data Mining
57
"! clusterizzare un flusso di dati multi-dimensionale
fraudolente su scala nazionale/internazionale
"! condividono gli obiettivi ma non i dati perché sono sensibili
e rappresentano un patrimonio aziendale (competizione
comm.le)
"! raccogliere i dati in un server centrale non è consentito
!!
-
Stream Data Clustering
organizzazioni assicurative autonome:
"! interesse a cooperare per riconoscere e prevenire richieste
!!
Gianluca Moro
un’iper-sfera di raggio parametrizzabile in base alle
prestazioni richieste
"! aggiornamento del clustering all’interno dell’ipersfera
!!
Applicazioni:
"! stream delle transazioni con carte di credito
"! sistemi di monitoraggio evoluti
Gianluca Moro
58
-
Introduzione al Data Mining
59
Azienda, Obiettivo e Data Set
Caso Aziendale
!!
Azienda del settore agrario
"! 30 agenzie distribuite sul territorio romagnolo
"! vendita di concimi, fitofarmaci, sementi, ma anche
carburanti e attrezzature
"! circa 90MEuro / anno
"! Progetto: prevedere l’abbandono di clienti
!!
Data set sulle vendite:
"! circa 18000 clienti
"! oltre 500000 record all’anno
"! tabella con vendite dal 2003 al 2007
•! vendite(cod_cliente, data_acquisto, valore)
"! assenza dal data set dell’anagrafe clienti
•! -> nessun dato sui clienti, ma solo un codice interno
Gianluca Moro
-
Introduzione al Data Mining
61
Trasformazioni del Data Set (i)
Analisi e selezione dei dati
!!
!!
!!
definizione di abbandono:
!!
modifiche del tracciato record del dataset originario:
"! quando il cliente non acquista nulla per almeno un anno
L’intervallo di osservazione considerato è molto
esteso (64 mesi)
Il numero di osservazioni relative ad ogni cliente è
molto vario
"! vi sono clienti storici attivi nei 64 mesi di acquisti
"! ma anche diversi clienti occasionali con meno di 5 acquisti
"! frequenze e volumi di acquisto diversi
!!
Il periodo di osservazione a cui si riferiscono i dati
può variare profondamente da cliente a cliente
"! clienti che hanno primo e ultimo acquisto in mesi e anni
diversi
!!
selezione dei clienti con almeno 12 mesi di acquisti
Gianluca Moro
-
Introduzione al Data Mining
.
Trasformazione del Data Set (ii)
!!
Gianluca Moro
62
-
Introduzione al Data Mining
63
Accuratezza con Decision Tree J48
Dalle differenze nel data set costruire un tracciato che:
"! sia rappresentativo dell’intero periodo di osservazione
"! consenta di omogeneizzare tracciati di clienti con periodi di
osservazione di diversa durata
"! permetta di sintetizzare la storia di ogni cliente
!!
!!
!!
Restrizione dell’analisi a clienti con almeno 12 mesi di
acquisti (circa 12000)
Selezione di un campione casuale di 1982
osservazioni (16.5%): 50% fedeli (F) e 50% persi (A)
ogni osservaz. è costituita da 4 variabili su 12 mesi:
"! vendite_Mesei, Mesei, meseRelativoi, numVenditeMesei
"! con i tra 1 (più recente) e 12, perciò 48 variabili per osserv.
matrice di
confusione:
veri e
falsi neg/pos
"! nei tracciati di abbandono 1 è l’ultimo mese prima dello
abbandono; negli altri è un mese scelto casualmente
Gianluca Moro
-
Introduzione al Data Mining
Riduzione della dimensionalità (i)
!!
Gianluca Moro
64
!!
"! Valutatore: CfsSubsetEval
"! Metodo di ricerca: GeneticSearch
Introduzione al Data Mining
65
Riduzione della dimensionalità (ii)
!!
Parametri di attribute selection:
-
l’albero si riduce da 373 nodi a 27 nodi
Si ottengono accuratezze equivalenti nonostante
siano utilizzati solo 10 attributi:
"! J48: 79.76% VS 80,12%
!!
Dai 48 attributi si selezionano solo i seguenti 10:
"! J48 Graft: 79.96% VS 80,57%
"! Jrip: 81.08% VS 81.89%
"! Bayes Net: 83.20% VS 76.69%
"! …
Gianluca Moro
-
Introduzione al Data Mining
66
Gianluca Moro
-
Introduzione al Data Mining
67
Rigenerazione del modello senza
i Missclassified
!!
!!
!!
Rimozione delle osserv. classificate erroneamente
Rigenerazione del modello senza errori (solo 3 nodi)
Test su tutti i dati, compresi quelli rimossi:
Ricampionamento nel data set
!!
Resample della stessa numerosità del dataset, con
reimbussolamento, perciò con duplicati
!!
Tecnica: Utilizzare i dati replicati per ovviare,
almeno in parte, ai problemi legati all’elevata
variabilità del dataset instabilità dei decision tree
!!
Parametri
"! J48: 89.76% vs 80,12%
"! J48 Graft: 89.86% vs 80,57%
"! Jrip: 84.66% vs 81.89%
"! Bayes Net: 63.67% vs 76.69%
Gianluca Moro
-
Introduzione al Data Mining
Gianluca Moro
68
Introduzione al Data Mining
69
Bagging
Ricampionamento: risultati
!!
!!
-
Risultati migliori fino a 10 punti perc.:
"! J48: 90.76%VS VS 80,12%
!!
"! J48 Graft: 91.12% VS 80,57%
!!
"! Jrip: 85.92% VS 81.88%
Tecnica che combina più modelli di classificazione
appresi da n campioni (con duplicati) del data set
originale
Parametri: XXX
è il classificatore
I risultati ottenuti sono i migliori in assoluto:
"! J48: 91.17% VS 80,12%
"! J48 Graft: 91.42% VS 80,57%
"! Bayes Net: 75.63% VS 76.69%
"! Jrip: 90.31% VS 81.887%
"! Bayes Net: 75.78% VS 76.69
!!
Gianluca Moro
-
Introduzione al Data Mining
70
Senza gli attributi dell’ultimo mese l’accuratezza
diminuisce di circa 10 punti perc. (> 80%).
Gianluca Moro
-
Introduzione al Data Mining
71
CRISP-DM
Metodologie e Standard
CRoss-Industry Standard Process
for Data Mining
73
CRISP Standardization
Perché un processo standard di DM ?
!! Iniziativa
!!
!!
!!
!!
!!
avviata a fine 1996 da tre compagnie
veterane del data mining:
L’idea è che il processo di data mining sia
affidabile e ripetibile anche da persone con poco
background sul data mining
fornisce un framework per pianificare e gestire le
attività di progetti
"! Daimler Chrysler (then Daimler-Benz), SPSS (then ISL), NCR
!! Sviluppato e raffinato attraverso una serie di
conferenze dal 1997 al 1999
di 300 organizzazioni hanno contribuito a raffinare il
modello
!! Pubblicazione della prima versione CRISP-DM 1.0
(1999)
!! oltre 200 membri nel mondo nello special group of
interest CRISP-DM SIG
!! più
anche metodo per documentare
riduce la dipendenza
da esperti del settore
neutro rispetto alle
piattaforme di data
mining
"! DM Vendors - SPSS, NCR, IBM, SAS, SGI, Data Distilleries,
Syllogic, etc.
"! System Suppliers / consultants - Cap Gemini, ICL Retail,
Deloitte & Touche, etc.
"! End Users - BT, ABB, Lloyds Bank, AirTouch, Experian, etc.
Gianluca Moro
-
Introduzione al Data Mining
Gianluca Moro
74
CRISP-DM: Phases
-
Introduzione al Data Mining
Introduzione al Data Mining
75
Standard per il Data Mining
!! Business Understanding
"! Project objectives and requirements understanding, Data
mining problem definition
!! Data Understanding
"! Initial data collection and familiarization, Data quality
problems identification
!! Data Preparation
"! Table, record and attribute selection, Data transformation
(Discretization, binarization etc.) and cleaning
!! Modeling
"! Modeling techniques selection and application, Parameters
calibration
!! Evaluation
"! Business objectives & issues achievement evaluation
!! Deployment
"! Result model deployment, Repeatable data mining process
implementation
Gianluca Moro
-
OMG
CWM
DM
SQL/MM
Pt. 6 DM
Object model
for representing
data mining metadata:
models, model results
(UML/DTD/XML)
DMG
PMML
SQL-like interface
for data mining
OLE DB
operations
(OLE DB/SQL) for DM
Representation of data
mining models for intervendor exchange
Java API for defining,
(DTD/XML)
JSR-073 creating, applying, and
JDM obtaining their results of
data mining models
(Java)
Gianluca Moro
76
SQL objects for defining,
creating, and applying
data mining models, and
obtaining their results
(SQL)
-
Introduzione al Data Mining
77
Gruppo Informatica
Referente DEIS: Gianluca Moro
Dipartimento di Elettronica
Informatica e Sistemistica
Altri Progetti e Attività di Ricerca
Il progetto
%!nasce
dall’esigenza di rilevare e misurare le principali
dinamiche economiche del territorio, attraverso l’ampia
mole di informazioni e dati provenienti da fonti locali,
nazionali ed internazionali, con l’impiego di tecniche
innovative di data mining.
%!SiMET
mira ad offrire un sistema di indicatori economici
che permettano di monitorare e valutare le variabili
strutturali e congiunturali dell’economia locale
attraverso una accurata scomposizione dei fattori
chiave.
Obiettivi
%!Individuazione,
digitalizzazione, aggiornamento e verifica
delle basi dati della Camera di Commercio.
di fenomeni rilevanti e
definizione dei relativi panel di indicatori.
%!Condivisione del sistema con gli altri Enti Istituzionali del
Territorio per ampliare le basi dati di riferimento e
individuare azioni locali ad ampio raggio.
%!Individuazione/Scoperta
Metodologie, Modelli e Tecnologie
&! Progettazione
&!
e realizzazione del data warehouse:
processi di importazione e cleaning dei dati, modellazione
multidimensionale, set di datamart, definizione di algoritmi di
mantenimento incrementali a consistenza completa etc.
&! Progettazione
e sviluppo di sistemi web per la navigazione
e l’elaborazione degli indicatori.
&! Impiego
e definizione di algoritmi di data
mining per il knowledge discovery
PANEL DI INDICI SINTETICI
AMBIENTE E
TERRITORIO
POPOLAZIONE
LAVORO
IMPRENDITORIALITÀ
SOCIETÀ E
ISTITUZIONI
………….
ALMA MATER STUDIORUM UNIVERSITA’ DI BOLOGNA
DEIS, SEDE
Gianluca
Moro DI- CESENA
Introduzione al Data Mining
INNOVAZIONE
79
Alcuni casi aziendali (i)
!!
Alcuni casi aziendali (ii)
Zuccherificio di importanza nazionale (oltre 200 MEuro/
anno)
!!
!!
!!
!!
Perché gli Zuccherifici Francesi e Tedeschi sono più
competitivi di quelli italiani ?
Obiettivi:
Azienda del settore agrario
"! 30 agenzie distribuite sul territorio romagnolo
"! vendita di concimi, fitofarmaci, sementi, ma anche carburanti
e attrezzature
"! migliorare la resa agronomica delle barbabietole
"! Oltre 500000 record all’anno
"! aumentare la resa industriale (quantità di zucchero estratta)
"! circa 90MEuro / anno
Progetto:
"! Progetto: prevedere l’abbandono di clienti
"! a partire da dati agronomici, pedologici,climatici,produttivi....
"! Scoprire quali interventi deve eseguire l’agricoltore dalla
!!
semina al raccolto per aumentare la resa agronomica
"! Scoprire quali modifiche fare al processo industriale per
aumentare la quantità di zucchero estraibile
!!
"! il principale corriere espresso a capitale tutto italiano, 100
terminali in tutta italia, Milioni di record all’anno
"! Progetto:
Fase preliminare:
•! Individuare indicatori di qualità dei terminali
•! estrarre modelli per anticipare congestioni nei terminal
•! individuazione delle cause di congestione
"! quanto incide nella resa il clima, la qualità pedologica del
terreno e il tipo di barbabietola seminata ?
Gianluca Moro
-
Introduzione al Data Mining
Gianluca Moro
80
Alcuni casi aziendali (iv)
!!
Fornitore di prodotti e servizi professionali per l’igiene
della persona, degli ambienti, degli alimenti e dell’aria
clienti:
"! Ristorazione, Alberghiero, Industriale,Medicale Estetico, Imp
Rete di distribuzione:
in collaborazione con il gruppo di Bioingegneria Univ. di
Bologna e il Dipartimento Interaziendale di Oncologia
(AUSL Forlì)
!!
23% di tutti i tumori femminili ed è in aumento, 12%
delle donne in U.S. (2002 - National Center for Health Statistics)
tasso di sopravvivenza del 73% (regioni sviluppate)
recentemente la risonanza in senologia ha mostrato
accuratezza diagnostica superiore alla mammografia
ed ecografia (68% - 79%)
Sviluppo di nuove metodologie di diagnosi mediante
tecniche di data mining innovative:
!!
"! Sito web e-commerce, Rete di Partner sparsi sul territorio
!!
italiano, Rappresentanti e Consegnatari per le zone
dell’Emilia Romagna
!!
Introduzione al Data Mining
%!
rese di pulizia, Uffici direzionali e Professionali
!!
-
81
Diagnosi automatica del carcinoma al
seno da dati di risonanza magnetica
"! circa 4MEuro di fatturato
!!
Corriere espresso italiano
Progetto:
"! progettazione e sviluppo del data warehousing e data mining
!!
"! obiettivi: customer retention, acquisition, segmentazione
della clientela
"! che sfruttino l’informazione contenuta nelle immagini 3D
"! che forniscano misure dell’affidabilità della previsione
Gianluca Moro
-
Introduzione al Data Mining
Progetto: Predizione di Battiti
Cardiaci Pre-Ectopici
%!
!!
!!
84
BotNets
eseguire in modo coordinato e distribuito cyber-attacks
come DoS o spam
"! Estremamente difficile bloccare questi attacchi distribuiti
con le attuali strategie di prevenzione individuale
Possibili cause: aritmie cardiache, emodialisi
Piccola scarica elettrica poco prima (max 1-2 battiti) di un
battito ectopico previene il battito ectopico stesso
Problema:
!!
BotNet Detection Systems (BDS): nuovo approccio
"! Creare una rete P2P dove ogni peer genera modelli di
mining locali dal proprio traffico per scoprire anomalie
"! Come distinguere questi battiti da quelli non pre-ectopici ?
"! ogni peer condivide il proprio modello affinché la rete P2P
Il data set:
"! Data set: 10 pazienti in emodialisi, 97 attributi per ogni battito, 1 ora
di 10 tracciati contiene 97*80*60*10 & 5.000.000 valori
"! Idea: nuovi attributi calcolati (min, max, stddev etc.) e aggregazione
di una finestra scorrevole di k battiti prima dell’ectopico
!!
Introduzione al Data Mining
"! Ampia rete di calcolatori “infettati/compromessi” per
"! i battiti pre-ectopici sono battiti normali con forme d’onda usuali
!!
-
BotNets & Data Mining Distribuito
Battiti extrasistoli (ectopici) possono
causare fibrillazione o danni al cuore
%!
!!
Gianluca Moro
83
Scoperta: l’onda T dei pre-ectopici è impercettibilmente diversa
dai non pre-ectopici – con un solo attributo accuratezza del 94%
generi della conoscenza globale integrando modelli locali
"! La conoscenza globale viene ridistribuita a ciascun nodo
che può così scoprire (i.e. classificare/clusterizzare etc)
pattern di attacchi che non avrebbe riconosciuto ….
"! …ma anche prevenire tipi di attacchi non ancora ricevuti
"! (Cavalcanti, Moro, Samorani et. al. IEEE Computer in Cardiology 2008)
Gianluca Moro
-
Introduzione al Data Mining
85
Gianluca Moro
-
Introduzione al Data Mining
86
Data Mining e reti di Sensori On-Body:
Riconoscimento di Attività Umane
!!
Approccio: Sensori wireless distribuiti sulle articolazioni
!!
Dove interviene il data mining e perché ? (stream DM)
"! accelerometro: misure di accelerazioni triassiali
"! dalla posizione iniziale e accelerazione, calcola nuova posiz.
"! ma .... ogni misura è affetta da errore -> accumulo di errori ->
sismici, di maremoti, vulcanici, inquinamento etc.)
"! risparmio energetico negli edifici
!!
continuamente il moto ondoso via satellite
!!
"! Industriali (tracciabilità dei prodotti, sicurezza), mediche
(riabilitazione), sportive, ludiche etc.
-
Introduzione al Data Mining
Gianluca Moro
Introduzione al Data Mining
!!
"! Jiawei Han e Micheline Kamber, Data Mining: Concepts and
•! http://www.cs.waikato.ac.nz/ml/weka/
"! RapidMiner (Ingo Mierswa et. al.)
•! http://rapid-i.com/index.php?lang=en
"! R (The R Foundation for Statistical Computing)
•! http://www.r-project.org
"! ADaMSoft (Consorzio inter-universitario CASPUR)
•! http://adamsoft.caspur.it/
"! Data Mining: Practical Machine Learning Tools and
Techniques, Morgan Kaufmann Publishers, ISBN
1-55860-489-8"
Techniques (Second Edition) Ian H. Witten,$Eibe
Frank,$Morgan Kaufmann, 2005,$ISBN
0-12-088407-0$(contiene riferimenti a Weka)
!!
"! SQL Server 2005 Analysis Service
Database per il data mining disponibili online
"! Oracle Data Mining
(University of California at Irvine)
"! IBM DB2 Intelligent Miner
"! SAS,
(ACM Special Interest Group on Knowledge Discovery and Data
Mining)
"! SPSS …..
Gianluca Moro
-
Introduzione al Data Mining
Gianluca Moro
90
Altri rif. bibliografici (i)
"!
"!
"!
"!
"!
"!
"!
"!
"!
S. Lodi, G. Monti, G. Moro, C. Sartori. Peer-to-Peer Data Clustering in Selforganizing Sensor Networks. In Intelligent Techniques for Warehousing and
Mining Sensor Network Data. HERSHEY, PA: IGI global.
S. Lodi, G. Moro, C. Sartori Stream Clustering Based on Kernel Density
Estimation. In The 17th European Conference on Artificial Intelligence, Riva del
Garda, Italy, 2006.
J. Costa da Silva, M. Klusch, S. Lodi and G. Moro, Privacy-preserving agent-based
distributed data clustering. Web Intelligence and Agent Systems: An international
journal, Vol. 4, No. 3, pp. 1-18, IOS Press, 2006.
J. Costa Da Silva, M. Klusch, S. Lodi, G. Moro, Inference attacks in peer-to-peer
homogeneous distributed data mining. In the 16th European Conference on
Artificial Intelligence (ECAI 2004), IOS Press, Vol. 110, Valencia, Spain, 2004.
M. Klusch, S. Lodi, G. Moro. The Role of Agents in Distributed Data Mining. In the
2003 International Conference on Intelligent Agent Technology (IAT'2003), IEEE
Computer Society press, Halifax, Canada 2003. !
M. Klusch, S. Lodi, G. Moro. Distributed Clustering Based on Sampling Local
Density Estimates. In the Eighteenth biennial International Joint Conference on
Artificial Intelligence (IJCAI'2003), Morgan Kaufmann, Mexico, 2003.!
M. Klusch, S. Lodi, G. Moro. Issue on agent-based distributed data mining. In the
Second International Joint Conference on Autonomous Agents and Multi Agent
Systems (AAMAS'2003) ACM, Melbourne, Australia July 2003.
Ester, M., Kriegel, H. P., Sander, J., Xu, X. A density-based algorithm for
discovering clusters in large spatial databases with noise. In proc. of KDD 1996.
Alexander Hinneburg, Daniel A. Keim: An efficient approach to clustering in large
multimedia databases with noise. In proc. of KDD 1998
J.B. MacQueen. Some Methods for classification and Analysis of Multivariate
Observations, Proceedings of 5-th Berkeley Symposium on Mathematical
Statistics and Probability, Berkeley, Univ. of California Press, 1:281-297, 1967
Gianluca Moro
-
Introduzione al Data Mining
-
Introduzione al Data Mining
91
Altri rif. bibliografici (ii)
Data Mining:
"!
89
Testi
"! Weka (The University of Waikato, New Zealand)
Commerciali
!!
-
Altri riferimenti
Open Source
!!
Con algoritmi di DM in-network la rete di sensori
scopre da se il fenomeno di interesse e trasmette in
uscita solo il risultato
88
Tecnologie per il Data Mining
!!
la trasmissione esterna di dati è molto frequente ed
elevata per ridurre al minimo i tempi di reazione
"! e.g. sensori distribuiti nell’oceano che trasmettono
Applicazioni:
Gianluca Moro
vi sono diverse applicazioni in cui la rete di sensori è
sempre attiva:
"! monitoraggio ambientale di fenomeni naturali (rilevamenti
errori rilevanti nel calcolo della posizione
"! tuttavia.... la varietà di movimenti delle singole articolazioni è
limitata, inoltre sono possibili sono alcune combinazioni di
movimenti contemporanee
"! DM: riduzione degli errori di posizione mediante
addestramento da database di movimenti pre-esistenti
!!
reti di sensori passive:
"! accensione periodica dei sensori (sincronizzazione con clock),
"! rilevamento dati
"! trasmissione dati (anche multi-hop) ad un sink esterno
"! campionare la posizione degli arti nel tempo
"! individuare i movimenti da una sequenza di campioni
"! riconoscere dai movimenti l’attività svolta
!!
DM e reti di Sensori data centriche
!!
92
!!
Reti di sensori:
"! Gabriele Monti, Gianluca Moro: Multidimensional Range Query and
"!
"!
"!
"!
Load Balancing in Wireless Ad Hoc and Sensor Networks. 8th IEEE
International Conference on Peer-to-Peer Computing (P2P 2008),
Aachen, Germany, 2008 (20% acceptance rate).
G. Monti, G. Moro, S. Lodi: W*-Grid: A Robust Decentralized
Cross-layer Infrastructure for Routing and Multi-Dimensional Data
Management in Wireless Ad-Hoc Sensor Networks, In the 7th IEEE
International Conference on Peer-to-Peer Computing (P2P 2007),
Galway, Ireland, 2007 (18% acceptance rate)
G. Moro, G. Monti W-Grid: a Cross-Layer Infrastructure for MultiDimensional Indexing, Querying and Routing in Ad-Hoc and
Sensor Networks. In the Sixth IEEE International Conference on
Peer-to-Peer Computing (P2P 2006), Cambridge, UK, 2006. (19%
acceptance rate)!
G. Moro, G. Monti and A.M. Ouksel, Routing and Localization
Services in Self-Organizing Wireless Ad-Hoc and Sensor Networks
Using Virtual Coordinates. In the IEEE International Conference on
Pervasive Services 2006 (ICPS 2006), Lyon, France, 2006.
G. Monti, G. Moro, C. Sartori: WR-Grid: A Scalable Cross-Layer
Infrastructure for Routing, Multi-dimensional Data Management
and Replication in Wireless Sensor Networks. LNCS 4331 Springer
2006
Gianluca Moro
-
Introduzione al Data Mining
93