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