DENCLUE: algoritmo KDE- based (i) DENCLUE (ii)

DENCLUE: algoritmo KDEbased (i)
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
!!
Gianluca Moro
-
Introduzione al Data Mining
39
DENCLUE (ii)
!!
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
40
DENCLUE (iii)
!!
!!
!!
!!
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 !
Gianluca Moro
-
Introduzione al Data Mining
41
KDE: esempi di cluster di forma arbitraria (i)
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
42
KDE: esempi di cluster di forma arbitraria (ii)
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
43
DENCLUE: pregi e difetti
Pregi
Figura da: Alexander Hinneburg, Daniel A. Keim: An efficient approach to
clustering in large multimedia databases with noise. KDD 1998: 58-65
!!
"! Efficienza
"! Solida base
matematica
"! Generalizza altri
metodi
"! Considera solo le
regioni dello spazio
popolate
"! Prestazioni elevate
!!
Difetti
"! Elevato numero di
parametri
"! Curse of
dimensionality
Gianluca Moro
-
Introduzione al Data Mining
44
Classificazione
#!
1.!
SCOPO: Date delle osservazioni etichettate (con un
attributo categorico), addestrare una macchina ad
etichettare nuove osservazioni (in cui l’attributo non è
noto)
Training del modello
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
IONE
Gianluca Moro
-
Introduzione al Data Mining
45
Classificazione: Misurare
l’errore (hold out)
1
red
0.4
G1
1.3
blue
0.3
G1
G2
G2
Training set
Test set
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
MODEL
G1
Correct = 67%
Fingiamo di non conoscere le label delle
osservazioni del test set
Gianluca Moro
-
Introduzione al Data Mining
46
Esempio: prevedere i potenziali abbonati
ad una rivista
Gianluca Moro
-
Introduzione al Data Mining
47
Esempio: potenziali abbonati (ii)
!!
tre attributi predittori
"! car type, age, number of children
!!
si intende predire la classe subscriptor
Gianluca Moro
-
Introduzione al Data Mining
48
Esempio (iii): scelta dell’attributo
radice e dei successivi nodi
#!
#!
#!
#!
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
-
49
Introduzione al Data Mining
Alberi di decisione e generazione
di regole
!!
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
le istanze
"! generazione di regole
algoritmo di copertura
Gianluca Moro
-
Introduzione al Data Mining
50
Esempio di copertura
!!
coprire le a
"! il primo test lascia ancora parecchi b
"! 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
Gianluca Moro
-
Introduzione al Data Mining
51
Regole vs alberi di decisione
!!
il comportamento sembra simile,
ma
"! le regole si focalizzano su una
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
-
Introduzione al Data Mining
52
Regressione
#!
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
PESO
SESSO
165
60
M
167
52
F
179
80
M
181
61
F
172
?
M
Training set
ALTEZZ
A
Gianluca Moro
-
MODEL
70
Introduzione al Data Mining
53
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
Regressione lineare
tra il numero dei
dipendenti del 2007
e 2008 in aziende
della Romagna
Gianluca Moro
-
Introduzione al Data Mining
54
Validazione del modello:
Come e Cosa Valutare
!!
classificazione
"! qualità del classificatore
"! compattezza ...
!!
clustering
"! qualità dei cluster
"! coerenza interna
"! separazione
!!
regole associative
"! confidenza
"! supporto
Gianluca Moro
-
Introduzione al Data Mining
55
Accuratezza della classificazione
!!
!!
!!
!!
!!
!!
valutare l'affidabilità delle predizioni
confrontare l'efficacia di diversi classificatori
metodo holdout rapporto tipico 2/3 - 1/3
una classe potrebbe essere sotto-rappresentata
nel training set
questo potrebbe distorcere i risultati
holdout stratificato
!!
fa in modo che nei due insiemi di training e test le
classi siano rappresentate allo stesso modo
Gianluca Moro
-
Introduzione al Data Mining
56
Cross-validation
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
!!
Gianluca Moro
-
Introduzione al Data Mining
57