Classification Salvatore Orlando Data Mining S Orlando 1

  • Slides: 73
Download presentation
Classification Salvatore Orlando Data Mining - S. Orlando 1

Classification Salvatore Orlando Data Mining - S. Orlando 1

Classificazione § Dati una collezione di dati (training set ) – Ciascun record contiene

Classificazione § Dati una collezione di dati (training set ) – Ciascun record contiene un insieme di attributi, uno dei quali è la classe di appartenenza. § Trova un modello per l’attributo classe che diventa funzione degli altri attributi § Obiettivo: trovare una funzione che assegni in modo accurato l’attributo classe a nuovi records non classificati. – Un test set è usato per determinare l’accuratezza del modello. – Di solito il dataset iniziale è suddiviso in training e test sets: costruiamo il modello con il training set, e usiamo il test set per validarlo. Data Mining - S. Orlando 2

Esempio di classificazione l l a c i r o g te ca o

Esempio di classificazione l l a c i r o g te ca o ca g te a c i r c in t on u uo s s as l c Test Set Training Set Learn Classifier Model Cheat = truffatore, imbroglione Data Mining - S. Orlando 3

Classificazione vs. Clustering § Supervised learning (classification) – Supervisione: I dati del training set

Classificazione vs. Clustering § Supervised learning (classification) – Supervisione: I dati del training set (osservazioni, misure, etc. ) sono stati preventivamente associati a etichette che indicano la classe di appartenenza • conoscenza supervisionata – I nuovi record di dati sono classificati usando il modello costruito sulla base del training set § Unsupervised learning (clustering) – L’etichetta della classe è sconosciuta – Dati un insieme di misure, osservazioni, ecc. lo scopo del clustering è quello di stabilire l’esistenza di gruppi/classi nei dati • Imparare l’esistenza di un qualche modello presente nei dati, che Data Mining - S. Orlando dà luogo ad una suddivisione dei dati, senza conoscenza 4

Tecniche di classificazione § § § § Metodi basati sugli Alberi di Decisione (Decision

Tecniche di classificazione § § § § Metodi basati sugli Alberi di Decisione (Decision Tree) Metodi Rule-based Memory-based reasoning Neural Networks Genetic Algorithms Naïve Bayes Support Vector Machines Data Mining - S. Orlando 5

Classificazione basata su Decision Tree § I modelli di classificazione basati su Decision Tree

Classificazione basata su Decision Tree § I modelli di classificazione basati su Decision Tree sono considerati tra i migliori – – Non costosi da costruire Facili da interpretare Facili da integrare con le basi di dati Buona accuratezza in molte applicazioni, anche in confronto ad altri metodi di classificazione Data Mining - S. Orlando 6

Decision tree § Decision Tree – Un struttura ad albero che somiglia ad un

Decision tree § Decision Tree – Un struttura ad albero che somiglia ad un flow-chart – Ogni nodo interno denota un test su un attributo • Gli archi uscenti rappresentano i risultati del test – Ogni nodo foglia rappresenta un’etichetta di classe o la distribuzione delle varie classi § Uso di un Decision Tree – Per classificare un nuovo dato campione sulla base degli attributi • ovvero per assegnare un’etichetta di classe al nuovo dato – Effettua i test sui valori degli attributi del campione rispetto ai test presenti nel decision tree • A partire dalla radice, e sulla base degli attributi del campione da classificare, segue un cammino fino ad una foglia • L’etichetta della foglia definisce la classe di appartenenza del campione Data Mining - S. Orlando 7

Esempio di albero di classificazione l ca g te l a ric o o

Esempio di albero di classificazione l ca g te l a ric o o ca g te s a ric u uo co in t n ss a cl Splitting Attributes Refund Yes No NO Mar. St Single, Divorced Married Tax. Inc < 80 K NO NO > 80 K YES Data Mining - S. Orlando 8

Un altro albero di classificazione l ca g te l a ric o o

Un altro albero di classificazione l ca g te l a ric o o ca g te s a ric u uo co in t n ss a cl Married Mar. St? NO Single, Divorced Refund? No Yes NO Tax. Inc? < 80 K NO > 80 K YES Si possono derivare più alberi dagli stessi dati! Data Mining - S. Orlando 9

Un altro esempio age? <=30 >40 31. . 40 student? YES credit rating? no

Un altro esempio age? <=30 >40 31. . 40 student? YES credit rating? no yes excellent NO YES NO fair YES Data Mining - S. Orlando 10

Algoritmo per Decision Tree Induction § Algoritmo di base (metodo greedy) – L’albero è

Algoritmo per Decision Tree Induction § Algoritmo di base (metodo greedy) – L’albero è costruito in modo: • top-down - ricorsivo - divide-and-conquer – All’inizio tutti gli esempi di training sono in corrispondenza della radice – Gli esempi di training sono partizionati ricorsivamente sulla base degli attributi selezionati – Gli attributi di test sono selezionati in base ad un’euristica o a misure statistiche (es. , gini index, information gain) • Scopo: suddividere gli esempi creando partizioni omogenee • Esistono metodi che funzionano su attributi di test categorici e/o su attributi numerici § Condizioni per stoppare il partizionamento – Tutti gli esempi di una partizione in una stessa classe – Non abbiamo più attributi sulla cui base partizionare ulteriormente – usiamo una tecnica di majority voting per classificare la foglia Data Mining - S. Orlando 11

Come effettuare lo splitting: attributi nominali § Ciascuna partizione è caratterizzato da un sottoinsieme

Come effettuare lo splitting: attributi nominali § Ciascuna partizione è caratterizzato da un sottoinsieme di valori. § Multi-way split: Usa tanti ramificazioni dello split quanti sono i valori distinti. Car. Type Family Luxury Sports § Binary split: Divisi i valori in due sottoinsiemi. Bisogna individuare un partizionamento ottimale. {Sports, Luxury} Car. Type {Family} oppure {Family, Luxury} Car. Type {Sports} Data Mining - S. Orlando 12

Come effettuare lo splitting: attributi ordinali § Ciascuna partizione è caratterizzato da un sottoinsieme

Come effettuare lo splitting: attributi ordinali § Ciascuna partizione è caratterizzato da un sottoinsieme di valori. § Multi-way split: Usa tanti ramificazioni dello split quanti sono i valori distinti. Size Small Medium Large § Binary split: Divisi i valori in due sottoinsiemi. Bisogna individuare un partizionamento ottimale. {Small, Medium} § Size {Large} Questo partizionamento potrebbe essere possibile? oppure {Small, Large} {Medium, Large} Size {Small} Size {Medium} Data Mining - S. Orlando 13

Come effettuare lo splitting: attributi numerici § Metodi differenti – Binary Decision: (A <

Come effettuare lo splitting: attributi numerici § Metodi differenti – Binary Decision: (A < v) or (A v) • considera tutti i possibili split e individua il miglior taglio • Può risultare molto costo computazionalmente, anche se esistono dei metodi basati sull’ordinamento – Discretizzazione per formare un attributo categorico (ordinale) • Statico – discretizzato una volta per tutte all’inizio • Dinamico – le suddivisioni possono essere trovati tramite equal interval partitioning, equal frequency partitioning, o distance-based clustering. Data Mining - S. Orlando 14

Discretizzazione § Equal-width (distance) partitioning: – Dividi la scala di variazione dell’attributo in N

Discretizzazione § Equal-width (distance) partitioning: – Dividi la scala di variazione dell’attributo in N intervalli identici – Se A e B sono il più piccolo e il più grande valore di un attributo, la larghezza degli intervalli sarà: W = (B-A)/N. – E’ il metodo più semplice, ma gli outlier (o dati non ben distribuiti) possono dare problemi al metodo di discretizzazione § Equal-depth (frequency) partitioning: – Dividi la scala di variazione dell’attributo in N intervalli identici, ciascuno contenente approssimativamente lo stesso numero di campioni – Buon metodo § Cluster analysis partitioning: – Può risultare costoso Data Mining - S. Orlando 15

Discretizzazione Data Equal frequency Equal interval width K-means (clustering) Data Mining - S. Orlando

Discretizzazione Data Equal frequency Equal interval width K-means (clustering) Data Mining - S. Orlando 16

Criterio di splitting § Come scegliere l’attributo e il relativo splitting? – uso di

Criterio di splitting § Come scegliere l’attributo e il relativo splitting? – uso di particolari indici di dispersione dei valori dell’attributo categorico di classe § Gini index (algoritmo di IBM Intelligent. Miner, CART, SLIQ, SPRINT) § Information gain (algoritmi ID 3/C 4. 5) Data Mining - S. Orlando 17

Gini index § In corrispondenza di un certo nodo t dell’albero in costruzione, e

Gini index § In corrispondenza di un certo nodo t dell’albero in costruzione, e rispetto alla corrispondente partizione del dataset di training, possiamo definire il Gini Index: (NOTA: p( j | t) è la frequenza relativa della classe j al nodo t). – Misura l’impurità/disordine del dataset corrispondente a t. • Massimo valore (1 - 1/nc) quando i record sono equamente distribuiti tra tutte le classi informazione meno interessante • Minimo valore (0. 0) quando tutti i record appartengono ad una sola classe informazione più interessante Data Mining - S. Orlando 18

Gini § Una sola classe: – 1 - 12 = 0 § nc classi

Gini § Una sola classe: – 1 - 12 = 0 § nc classi equiprobabili: – 1 - sum ((n / nc) / n)2 = 1 - sum (1 / nc)2 = 1 – nc (1 / nc)2 = 1 – 1 / nc Data Mining - S. Orlando 19

Esempi relativi a Gini Index P(C 1) = 0/6 = 0 P(C 2) =

Esempi relativi a Gini Index P(C 1) = 0/6 = 0 P(C 2) = 6/6 = 1 Gini = 1 – P(C 1)2 – P(C 2)2 = 1 – 0 – 1 = 0 P(C 1) = 1/6 P(C 2) = 5/6 Gini = 1 – (1/6)2 – (5/6)2 = 0. 278 P(C 1) = 2/6 P(C 2) = 4/6 Gini = 1 – (2/6)2 – (4/6)2 = 0. 444 Data Mining - S. Orlando 20

Uso del GINI Index § Criterio di Splitting: Minimizza il Gini Index della suddivisione.

Uso del GINI Index § Criterio di Splitting: Minimizza il Gini Index della suddivisione. § Quando un nodo t è suddiviso in k partizioni (figli), la qualità della suddivisione è calcolata come: dove, ni = numero di record della partizione (figlio) i, n = numero di record del dataset al nodo t. ni /n costituisce il peso dei vari GINI(i) § Dato il dataset associato al nodo t, si sceglie l’attributo che fornisce il più piccolo GINIsplit(t) per partizionare il dataset – È necessario enumerare tutti i possibili punti di splitting per ciascun attributo Data Mining - S. Orlando 21

Calcolare il GINI Index per attributi binari § Suddivisione in due partizioni § Si

Calcolare il GINI Index per attributi binari § Suddivisione in due partizioni § Si cercano partizioni più grandi e più pure possibili. B? Yes Node N 1 No Node N 2 Data Mining - S. Orlando 22

Calcolare il GINI Index per attributi categorici § Per ciascuna classe nel dataset, conta

Calcolare il GINI Index per attributi categorici § Per ciascuna classe nel dataset, conta il numero dei valori differenti per ogni attributo – computa le singole righe delle matrici di conteggio § Usa la matrice dei conteggi per prendere le decisioni Multi-way split Two-way split (bisogna trovare il migliore partizionamento dei valori) Data Mining - S. Orlando 23

Calcolare il GINI Index per attributi continui § Solitamente si usa Binary Decision, basato

Calcolare il GINI Index per attributi continui § Solitamente si usa Binary Decision, basato su un singolo valore di splitting – Non abbiamo bisogno di discretizzare § Sono possibili scelte diverse per il valore di splitting – Es. : Numero di possibili valori di splitting = Numero di valori distinti assunti dall’attributo § Ciascun valore di splitting ha una matrice di conteggi associata – Conteggio delle varie classi per ciascuna partizione, (A < v) e (A v) § Metodo naive per scegliere il miglior v – Per ciascun v, scandisci il database per raccogliere la matrice dei conteggi e computare il corrispondente Gini Index (GINIsplit) – Questo metodo è computazionalmente inefficiente! Lavoro ridondante. Data Mining - S. Orlando 24

Calcolare il GINI Index per attributi continui (2) § Metodo per migliorare l’efficienza §

Calcolare il GINI Index per attributi continui (2) § Metodo per migliorare l’efficienza § Per ciascun attributo – Ordina rispetto ai valori degli attributi – Scandisci linearmente questi valori, aggiornando ogni volta la matrice dei conteggi necessario per calcolare il GINI index • considera che, quando spostiamo il pivot, abbiamo un singolo elemento (appartenente ad una certa classe) che passa da una partizione all’altra • +/- 1 in una particolare riga – Scegli le posizioni di split che hanno il GINI index minore Sorted Values Split Positions Data Mining - S. Orlando 25

Criterio di splitting alternativo: Information Gain § In corrispondenza di un certo nodo t

Criterio di splitting alternativo: Information Gain § In corrispondenza di un certo nodo t dell’albero in costruzione, e rispetto alla corrispondente partizione del dataset di training, possiamo definire l’Information Gain: (NOTA: p( j | t) è la frequenza relativa della classe j al nodo t). – Misura l’omogeneità/ordine di un nodo. • Massimo (log nc) quando i record sono equamente distribuiti tra tutte le classi implica meno informazione • Minimo valore (0. 0) quando tutti i record appartengono ad una sola classe implica più informazione – I calcoli basati sulla misura dell’Entropia sono simili a quelle basate sul GINI index Data Mining - S. Orlando 26

Entropy § Una sola classe: – - (1 * log 1) = 0 §

Entropy § Una sola classe: – - (1 * log 1) = 0 § nc classi equiprobabili: – - (sum ( (n / nc) / n) * log ((n / nc) / n) ) = – - ( sum ( (1 / nc) * log (1 / nc) ) = – - nc * (1 / nc) * log (1 / nc) = - (log 1 - log nc) = log nc Data Mining - S. Orlando 27

Esempi relativi all’Information Gain (Entropia) P(C 1) = 0/6 = 0 P(C 2) =

Esempi relativi all’Information Gain (Entropia) P(C 1) = 0/6 = 0 P(C 2) = 6/6 = 1 Entropy = – 0 log 0 – 1 log 1 = – 0 = 0 P(C 1) = 1/6 P(C 2) = 5/6 Entropy = – (1/6) log 2 (1/6) – (5/6) log 2 (1/6) = 0. 65 P(C 1) = 2/6 P(C 2) = 4/6 Entropy = – (2/6) log 2 (2/6) – (4/6) log 2 (4/6) = 0. 92 Data Mining - S. Orlando 28

Uso dell’Entropia come criterio di splitting § Quando un nodo t è suddiviso in

Uso dell’Entropia come criterio di splitting § Quando un nodo t è suddiviso in k partizioni (figli), la qualità della suddivisione è calcolata come IG (Information Gain): dove, ni = numero di record della partizione (figlio) i, n = numero di record del dataset al nodo t. ni /n costituisce il peso dei vari Entropy(i) § Misura la riduzione nell’Entropia in conseguenza dello split. Scegli lo split che raggiunge la riduzione maggiore (massimizza il GAIN) § Usato in ID 3 e C 4. 5 Data Mining - S. Orlando 29

Problemi legati all’Information Gain § Svantaggio: – l’IG tende a preferire suddivisioni che producono

Problemi legati all’Information Gain § Svantaggio: – l’IG tende a preferire suddivisioni che producono molte partizioni, piccole ma pure (ovvero che comprendono elementi appartenenti ad una singola classe). Si rischia di costruire un albero overfitted rispetto al training set § Gain Ratio: Il nodo padre, è suddiviso in k partizioni ni è il numero di record della partizione i – Corregge l’Information Gain dello split usando l’entropia del partizionamento (Split. INFO). – Valori alti di Split. INFO si ottengono all’aumento del numero di piccole partizioni! l’aumento di Split. INFO penalizza Gain Ratio – Usato in C 4. 5 Data Mining - S. Orlando 30

Algoritmo C 4. 5 - like Data Mining - S. Orlando 31

Algoritmo C 4. 5 - like Data Mining - S. Orlando 31

Overfitting § L’albero può overfit-are i dati di training – Troppi rami, alcuni dei

Overfitting § L’albero può overfit-are i dati di training – Troppi rami, alcuni dei quali possono riflettere anomalie dovuti a rumori o outlier – Poca accuratezza (troppi errori) per campioni non visti (test dataset) Overfitting Data Mining - S. Orlando 32

Overfitting: Pre-Pruning § Pre-Pruning (Early Stopping Rule) – Stop dell’algoritmo prima che esso produca

Overfitting: Pre-Pruning § Pre-Pruning (Early Stopping Rule) – Stop dell’algoritmo prima che esso produca un albero fullygrown – Le tipiche condizioni di stopping: • Stop se tutte le istanze appartengono alla stessa classe • Stop se tutti i valori degli attributi hanno lo stesso valore – Condizioni più restrittive per il pruning: • Stop se il numero di istanze è minore di uno user-specified threshold – Evita la creazione di piccole partizioni – Difficile trovare il threshold • Stop se espandendo il nodo corrente non miglioriamo la misura di impurità (es. . , Gini o Information Gain). Data Mining - S. Orlando 33

Overfitting: Post-Pruning § Post-Pruning – Rimuovi nodi/rami da un albero completo (“fully grown” tree)

Overfitting: Post-Pruning § Post-Pruning – Rimuovi nodi/rami da un albero completo (“fully grown” tree) • Elimina i nodi in modo bottom-up – Usa un insieme di dati differenti dal training data (testing data) per decidere qual è il “best pruned tree” – Se l’errore sui dati di testing migliora dopo la sostituzione del sotto-albero con un nodo foglia • Sostituisci in maniera permanente, generando un albero pruned – L’etichetta di classe da assegnare al nuovo nodo foglia è determinato dalla classe maggioritaria nel sotto albero Data Mining - S. Orlando 34

Presentation: decisiontree Data Mining - S. Orlando 35

Presentation: decisiontree Data Mining - S. Orlando 35

Presentation: decisiontree Data Mining - S. Orlando 36

Presentation: decisiontree Data Mining - S. Orlando 36

Estrarre regole di classificazione da alberi § Rappresenta la conoscenza nella forma di regole

Estrarre regole di classificazione da alberi § Rappresenta la conoscenza nella forma di regole IFTHEN – Una regola per ogni cammino dalla radice ad una foglia – Ciascuna coppia attributo-valore lungo un cammino forma una congiunzione – Il nodo foglia restituisce la predizione della classe per la regola estratta § Le regole sono più facili da capire § Esempi IF age = “<=30” AND student = “no” THEN buys_computer = “no” IF age = “<=30” AND student = “yes” THEN buys_computer = “yes” IF age = “ 31… 40” THEN buys_computer = “yes” IF age = “>40” AND credit_rating = “excellent” THEN buys_computer = “yes” IF age = “>40” AND credit_rating = “fair” THEN buys_computer = “no” Data Mining - S. Orlando 37

Classificatori Bayesiano § § Metodo probabilistico (Bayesian) per risolvere il problema della classificazione C

Classificatori Bayesiano § § Metodo probabilistico (Bayesian) per risolvere il problema della classificazione C Probabilità condizionali: A § Teorema di Bayes : Data Mining - S. Orlando 38

Esempio di applicazione del teorema di Bayes § Conoscenza pregressa: – Un dottore sa

Esempio di applicazione del teorema di Bayes § Conoscenza pregressa: – Un dottore sa che la meningite causa rigidità del collo per il 50% dei casi • P(rigidità del collo | meningite) = 1/2 – La probabilità incondizionata che un paziente possa avere la meningite è • P(meningite) = 1/50000 = 0, 00002 – La probabilità incondizionata che un paziente possa avere rigidità del collo è • P(rigidità del collo) = 1/20 = 0, 05 § Se un paziente ha rigidità del collo, qual è la probabilità che egli abbia la meningite? Data Mining - S. Orlando 39

Classificatori Bayesiano § Considera i vari attributi e l’etichetta della classe come variabili casuali

Classificatori Bayesiano § Considera i vari attributi e l’etichetta della classe come variabili casuali § Dato un record R contenente gli attributi (A 1, A 2, …, An) – Lo scopo è predire la classe C di R – Più specificatamente, vogliamo trovare il valore di C che massimizza: P(C| A 1, A 2, …, An ) § Possiamo stimare P(C| A 1, A 2, …, An ) direttamente dai dati? Data Mining - S. Orlando 40

Classificatori Bayesiano § Approccio: – Calcoliamo la probabilità a posteriori P(C | A 1,

Classificatori Bayesiano § Approccio: – Calcoliamo la probabilità a posteriori P(C | A 1, A 2, …, An) per tutti i valori dell’etichetta C di classe – Scegli il valore di C che massimizza P(C | A 1, A 2, …, An) § Sulla base del teorema di Bayes, possiamo equivalentemente scegliere il valore di C che massimizza P(A 1, A 2, …, An | C) P(C) § Come stimiamo P(A 1, A 2, …, An | C) ? Data Mining - S. Orlando 41

Classificatore Naïve Bayes § Assunzione Naïve : Assumiamo l’indipendenza tra gli attributi Ai quando

Classificatore Naïve Bayes § Assunzione Naïve : Assumiamo l’indipendenza tra gli attributi Ai quando sia data una certa classe C – P(A 1, A 2, …, An |Cj) = P(A 1| Cj) P(A 2| Cj)… P(An| Cj) – Possiamo facilmente calcolare P(Ai| Cj) per tutte le coppie Ai e Cj nel training set, oltre ai vari P(Cj) – Un nuovo record (B 1, B 2, …, Bn) è classificato come Cj se risulta massima la produttoria: P(Cj) P(Ai| Cj) = P(Cj) P(A 1, A 2, …, An |Cj) Data Mining - S. Orlando 42

Come stimiamo la probabilità dai dati? § Probabilità delle Classi: – P(C) = Nc/N

Come stimiamo la probabilità dai dati? § Probabilità delle Classi: – P(C) = Nc/N – dove Nc è il numero di istanze che appartengono alla classe C – Es. , P(No) = 7/10, P(Yes) = 3/10 § Per attributi discreti: – P(Ai | Ck) = |Aik| / Nck – dove |Aik| è il numero di istanze che hanno l’attributo Ai e appartengono alla classe Ck – dove Nck è il numero di istanze che appartengono alla classe Ck – Esempi: P(Married | No) = 4/7 P(Refund=Yes | Yes)=0 Data Mining - S. Orlando 43

Come stimiamo la probabilità dai dati? § Per attributi continui: – Abbiamo bisogno di

Come stimiamo la probabilità dai dati? § Per attributi continui: – Abbiamo bisogno di conoscere la probabilità condizionale P(Ai|C) • nota che il particolare valore dell’attributo continuo Ai potrebbe non essere presente nel dataset di training – Assumiamo che gli attributi obbediscono a certe distribuzioni di probabilità • Tipicamente, si assume la distribuzione normale • Si usano i dati per stimare i parametri della distribuzione di probabilità (ovvero, media e deviazione standard) • Una volta che la distribuzione di probabilità è nota, possiamo usarla per stimare la probabilità condizionale P(Ai|C) Data Mining - S. Orlando 44

Come stimiamo le probabilità dai dati? § Distribuzione normale: – Una per ciascuna coppia

Come stimiamo le probabilità dai dati? § Distribuzione normale: – Una per ciascuna coppia (Ai, ci) § Per (Income, Class=No): – Se Class=No • ij (media nel campione) = 110 • 2 ij (varianza nel campione) = 2975 Data Mining - S. Orlando 45

Esempio di classificatore Naïve Bayes Dato il seguente test: P(Refund=Yes|No) = 3/7 P(Refund=No|No) =

Esempio di classificatore Naïve Bayes Dato il seguente test: P(Refund=Yes|No) = 3/7 P(Refund=No|No) = 4/7 P(Refund=Yes|Yes) = 0 P(Refund=No|Yes) = 1 P(Marital Status=Single|No) = 2/7 P(Marital Status=Divorced|No) = 1/7 P(Marital Status=Married|No) = 4/7 P(Marital Status=Single|Yes) = 2/3 P(Marital Status=Divorced|Yes) = 1/3 P(Marital Status=Married|Yes) = 0 Per Income: Se No: Se Yes: media = 110 varianza = 2975 media = 90 varianza = 25 l P(X|Class=No) = P(Refund=No| Class=No) P(Married| Class=No) P(Income=120 K| Class=No) = 4/7 0. 0072 = 0. 0024 P(X|Class=No) P(No) = 0. 0024 0. 7 = 0. 00168 l P(X|Class=Yes) = P(Refund=No| Class=Yes) P(Married| Class=Yes) P(Income=120 K| Class=Yes) = 1 0 1. 2 10 -9 = 0 P(X|Class=Yes) P(Yes) = 0. 0 0. 3 = 0. 0 Poiché P(X|No)P(No) > P(X|Yes)P(Yes) abbiamo che: P(No|X) > P(Yes|X) => Class = No Data Mining - S. Orlando 46

Esempio di classificatore Naïve Bayes Test sugli attributi: A: attributes M: mammals Non-M: non-mammals

Esempio di classificatore Naïve Bayes Test sugli attributi: A: attributes M: mammals Non-M: non-mammals P(A|M)P(M) > P(A|N)P(N) => Mammals Data Mining - S. Orlando 47

Classificatore Naïve Bayes: sommario § Robusto rispetto al rumore § Gestisce i valori mancanti

Classificatore Naïve Bayes: sommario § Robusto rispetto al rumore § Gestisce i valori mancanti ignorando le istanze durante il calcolo della stima di probabilità § Purtroppo l’assunzione di indipendenza può non essere valida per qualche attributo § Per superare queste limitazioni: – Bayesian networks, che combinano ragionamenti Bayesiani con relazioni di causalità tra gli attributi – Alberi di decisione, che ragionano su un attributo alla volta, considerando gli attributi più importanti per primi Data Mining - S. Orlando 48

Classificatori Instance-Based • Memorizza le istanze di training => “Ritarda” nella costruzione del modello

Classificatori Instance-Based • Memorizza le istanze di training => “Ritarda” nella costruzione del modello (lazy learner) • Usa le istanze di training per predire l’etichetta di classe di nuovi casi non visti • Approcci Tipici • k-nearest neighbor • Locally weighted regression • Case-based reasoning Data Mining - S. Orlando 49

K-nearest neighbor § Istanze come punti nel piano euclideo – attributi continui § Richiede

K-nearest neighbor § Istanze come punti nel piano euclideo – attributi continui § Richiede tre cose: – L’insieme di istanze memorizzate – Metrica di Distanza – Il valore di k, il numero di vicini “nearest” da estrarre § Per la classificazione: – Estrai i k nearest neighbors – Usa le etichette di classe dei nearest neighbors per determinare l’etichetta di classe dell’istanza non vista (es. , attraverso il voto di maggioranza) Data Mining - S. Orlando 50

K-nearest neighbor I K-nearest neighbors di un’istanza x sono i punti che hanno le

K-nearest neighbor I K-nearest neighbors di un’istanza x sono i punti che hanno le K più piccole distanze da x Data Mining - S. Orlando 51

1 nearest-neighbor Voronoi Diagram § A causa del costo della classificazione, è necessario indicizzare/precomputare

1 nearest-neighbor Voronoi Diagram § A causa del costo della classificazione, è necessario indicizzare/precomputare informazioni per velocizzare il calcolo dei K vicini più prossimi Data Mining - S. Orlando 52

Classificatore K-nearest neighbor § Calcola la distanza tra due punti: – Distanza Euclidea §

Classificatore K-nearest neighbor § Calcola la distanza tra due punti: – Distanza Euclidea § Distanza per pesare i voti – fattore di peso, w = 1/d 2 – pesa il voto in accordo alla distanza Data Mining - S. Orlando 53

Classificatore K-nearest neighbor ……… § Scegliere il valore di k: – Se k è

Classificatore K-nearest neighbor ……… § Scegliere il valore di k: – Se k è troppo piccolo, il classificatore è sensibile al rumore – Se k è troppo grande, • costoso dal punto di vista computazionale • la cerchia dei vicini può includere punti appartenenti ad altre classi Data Mining - S. Orlando 54

Case-Based Reasoning § Anche questo metodo usa: lazy evaluation + analisi delle istanze più

Case-Based Reasoning § Anche questo metodo usa: lazy evaluation + analisi delle istanze più simili § Differenza: Le istanze non sono “punti nello spazio Euclideo” § Metodologia – Le istanze/casi sono rappresentate da una ricca descrizione simbolica (es. , grafi, funzioni) – Un case-based reasoner prima cerca di capire se esiste un caso di training identico al nuovo caso da classificare => classificazione OK – Se questo caso uguale non esiste, si cercano casi di training “vicini”, ovvero con componenti simili a quelli del nuovo caso • Es. : se i casi sono rappresentati come grafi, si cercano sottografi comuni § Problemi – Trovare una buona misura di similarità (es. per il matching tra grafi) – Metodi di indicizzazione per velocizzare la ricerca di casi simili Data Mining - S. Orlando 55

Lazy (pigro) vs. eager (impaziente) evaluation § Instance-based learning: lazy evaluation § Decision-tree and

Lazy (pigro) vs. eager (impaziente) evaluation § Instance-based learning: lazy evaluation § Decision-tree and Bayesian classification: eager evaluation § Differenze chiavi – I metodi lazy considerano l’istanza di query q contemporaneamente alla decisione su come generalizzare a partire dal dataset D di training – I metodi eager non possono farlo, poiché hanno già scelto approssimazioni globali per costruire il modello nel momento in cui vedono la query § Efficienza: i metodi lazy impiegano meno tempo per il training, ma più tempo per predire la classe § Accuratezza – I metodi lazy: usano efficientemente uno spazio di ipotesi più ricco ritagliato sulla query q – I metodi eager: devono convergere da subito ad una ipotesi singola che copre l’intero spazio delle istanze di training Data Mining - S. Orlando 56

Metriche per valutare i classificatori § Siamo interessati alle prestazioni dei classificatori – rispetto

Metriche per valutare i classificatori § Siamo interessati alle prestazioni dei classificatori – rispetto alla capacità predittiva del modello – possibile tradeoff rispetto alla velocità dell’algoritmo § Confusion Matrix: PREDICTED CLASS Class=Yes Class=No a: TP (true positive) ACTUAL CLASS Class=Yes a b Class=No c d b: FN (false negative) c: FP (false positive) d: TN (true negative) Conteggi: a, b, c, e d anche esprimibili in percentuale Data Mining - S. Orlando 57

Metriche per valutare i classificatori PREDICTED CLASS Class=Yes ACTUAL CLASS Class=No Class=Yes a (TP)

Metriche per valutare i classificatori PREDICTED CLASS Class=Yes ACTUAL CLASS Class=No Class=Yes a (TP) b (FN) Class=No c (FP) d (TN) § Metrica più usata: Error Rate = 1 - Accuracy Data Mining - S. Orlando 58

Problemi con lo sbilanciamento delle classi § Se il problema non è bilanciato P(Class=Y)

Problemi con lo sbilanciamento delle classi § Se il problema non è bilanciato P(Class=Y) molto diverso da P(Class=N) Accuracy non è una misura adeguata o obiettiva § Esempio: – solo l’ 1% delle transazioni di carte di credito sono fraudolente – il 99% sono quindi lecite ! – un modello che classifica tutte le transazioni come legittime, ha un’accuratezza dello 0. 99 !!! – ma il modello è cattivo ha un rate di FP dell’ 1%, ma questo 1% include TUTTE le transazioni fraudolente a cui siamo interessati Data Mining - S. Orlando 59

Altre misure § Misure che considerano le classi rare più interessanti § Nella classificazione

Altre misure § Misure che considerano le classi rare più interessanti § Nella classificazione binaria, di solito la classe rara = positiva § True positive rate (TPR) o sensibilità – TPR = TP / (TP + FN) – frazione di veri positivi individuati, rispetto a tutti i positivi § True negative rate (TNR) o specificità – TPR = TN / (TN + FP) – frazione di veri negativi individuati, rispetto a tutti i negativi § Recall e Precision – misure tipiche dell’Information Retrieval – usate quando è signicativo individuare correttamente una delle due classi Recall: Precision: r = TP / (TP + FN) p = TP / (TP + FP) Data Mining - S. Orlando 60

Metodi di valutazione § Holdout – Usa 2/3 del dataset classificato per il training,

Metodi di valutazione § Holdout – Usa 2/3 del dataset classificato per il training, e 1/3 per il testing – Problemi dovuti alla riduzione degli esempi per il training, e al fatto che training e test sono sottoinsiemi dello stesso dataset § Random subsampling – Holdout ripetuto – acci : accuratezza del modello all’iterazione i-esima § – accsub = i=1, k acci/k Cross validation – Partiziona il dataset in k sottoinsiemi disgiunti – Stesso record usato lo stesso numero di volte per il training, e una sola volta per il testing – k-fold: allena su k-1 partizioni, e testa sulla partizione rimanente – Leave-one-out: Cross-validation con k=N § Bootstrap – Training: Sampling con rimpiazzamento – Lo stesso record può apparire più volte nel training dataset – Dati N record, un training costituito da N record contiene circa il 63. 2% dei record originali – Test set = record non selezionati Data Mining - S. Orlando – Ripetuto b volte 61

Prediction (vs. Classification) § I metodi predittivi sono simili a quelli per la classificazione

Prediction (vs. Classification) § I metodi predittivi sono simili a quelli per la classificazione – Prima costruisci il modello – Poi usa il modello per predire i valori sconosciuti • Il metodo di predizione più importante è la regressione – Regressione Lineare e Multipla – Regressione non-lineare § La predizione è differente dalla classificazione – La classificazione predice etichette di classe categoriche – I metodi predittivi si occupano di predire valori continui non conosciuti Data Mining - S. Orlando 62

Metodi predittivi § Regressione lineare: Y = + X – Modelliamo una variabile Y

Metodi predittivi § Regressione lineare: Y = + X – Modelliamo una variabile Y (variabile che vogliamo predire) come una funzione lineare di un’altra variabile X (che di solito è nota, e sulla quale basiamo la predizione di Y) – I coefficienti del modello ( , ) determinati sulla base dei dati conosciuti (di training del modello) • Metodi dei minimi quadrati applicati ai valori conosciuti del training dataset Y 1, Y 2, …, X 1, X 2, …. Y = 21. 7 + 3. 7 X Data Mining - S. Orlando 63

Metodi predittivi § Regressione lineare multipla: Y = b 0 + b 1 X

Metodi predittivi § Regressione lineare multipla: Y = b 0 + b 1 X 1 + b 2 X 2 …. – Abbiamo variabili multiple di predizione X 1, X 2, ecc. su cui basare il valore di Y – Ancora minimi quadrati § Regressione non lineare – I dati non mostrano l’esistenza di una dipendenza lineare – La variabile di predizione X ha una relazione con la variabile da predire Y modellabile con una funzione polinomiale Y = + 1 X + 2 X 2 + 3 X 3 – Possiamo introdurre nuove variabili (X 1 = X, X 2 = X 2, X 3 = X 3) per trasformare l’equazione polinomiale in una lineare, su cui applicare il metodo dei minimi quadrati Data Mining - S. Orlando 64

Reti neurali Neurone artificiale x 0 w 0 x 1 w 1 xn -

Reti neurali Neurone artificiale x 0 w 0 x 1 w 1 xn - k å f wn Input weight vector x vector w weighted sum output y Activation function § Il vettore x di input a n-dimensioni è mappato in una variabile y attraverso un prodotto scalare e una funzione nonlineare Data Mining - S. Orlando 65

Rete neurale multilivello Output vector Output nodes Hidden nodes wij Input nodes Input vector:

Rete neurale multilivello Output vector Output nodes Hidden nodes wij Input nodes Input vector: xi Data Mining - S. Orlando 66

Allenamento della rete § L’obiettivo dell’allenamento – Ottenere un insieme di pesi/bias che permette

Allenamento della rete § L’obiettivo dell’allenamento – Ottenere un insieme di pesi/bias che permette di classificare correttamente la quasi totalità dei dati di training § Passi del metodo di backpropagation – Inizializza i pesi con valori random – Poni sugli input le ennuple di allenamento una alla volta – Per ogni ennupla in input • Calcola i valori di output • Calcola l’errore • Aggiorna i pesi e il bias Data Mining - S. Orlando 67

Reti neurali § Vantaggi dei classificatori neurali – Accuratezza nella predizione – Robustezza, funziona

Reti neurali § Vantaggi dei classificatori neurali – Accuratezza nella predizione – Robustezza, funziona anche con esempi di training che contengono errori – Valutazione veloce § Critiche – Tempo di training lungo – Difficile da interpretare la funzione di classificazione modellata dalla fase di training, ed applicata nella classificazione • interpretazione dei pesi degli archi della rete Data Mining - S. Orlando 68

Conclusioni § La Classificazione è stato un problema studiatissimo (soprattutto in statistica, machine learning

Conclusioni § La Classificazione è stato un problema studiatissimo (soprattutto in statistica, machine learning & neural networks) § La Classificazione è probabilmente una delle tecniche di data mining più usate, e rispetto alle quali sono state introdotte moltissime estensioni § Direzioni di ricerca: classificazione di dati non-relazionali, es. : testi, dati spaziali, multimedia, etc. . Data Mining - S. Orlando 69

Classificatori basati su regole associative § Dati su cui costruire il classificatore – Insieme

Classificatori basati su regole associative § Dati su cui costruire il classificatore – Insieme di record in D classificati, ovvero contenenti un attributo categorico y Y, che determina la classe di appartenenza § Trasformiamo il dataset per poter applicare un algoritmo Apriorilike – Ogni record deve diventare una transazione che contiene un insieme di item I – Gli attributi categorici vengono mappati su insiemi di interi consecutivi – Gli attributi continui sono discretizzati e trasformati come quelli categorici – Ogni record diventa una ennupla di item distinti appartenenti a I, dove ogni item è una coppia (Attribute, Integer-value) § Le regole estratte (CAR=Class Association Rule) con supporto/confidenza minimi hanno quindi forma – condset y – Dove condset è un insieme di item (Attribute, Integer-value) Data Mining - S. Orlando 70

Classificatori basati su regole associative § Una CAR ha confidenza c – se il

Classificatori basati su regole associative § Una CAR ha confidenza c – se il c% dei campioni in D che contengono condset contengono anche y (ovvero appartengono alla classe y) § Una CAR ha supporto s – se l’ s% dei campioni in D contengono sia condset e sia y (ovvero contengono condset ed appartengono anche alla classe y ) Data Mining - S. Orlando 71

Classificatori basati su CAR in dettaglio § 1° passo (generazione delle CAR) – Algoritmo

Classificatori basati su CAR in dettaglio § 1° passo (generazione delle CAR) – Algoritmo iterativo (come Apriori) che ricerca k-ruleitems frequenti (CAR frequenti il cui condset contiene K item) – Scansione multipla del database – Cerca ad ogni iterazione k = 1, 2, 3, … i k-ruleitems frequenti – La conoscenza dei k-ruleitems frequenti viene usata per generare i (k+1)-ruleitems candidati Data Mining - S. Orlando 72

Classificatori basati su CAR in dettaglio § 2 ° passo (generazione del Classificatore) –

Classificatori basati su CAR in dettaglio § 2 ° passo (generazione del Classificatore) – Ricerca delle CAR più accurate – Metodo euristico, basato su un ordinamento tra CAR – Una regola ri precede una regola rj (ri < rj) se • La confidenza di ri è più grande di rj • La confidenza è la stessa, ma ri ha un supporto più grande • La confidenza e il supporto delle due regole sono uguali, ma ri è stata generata prima di rj – Al termine l’algoritmo seleziona un insieme di CAR ordinate che coprono tutti i campioni in D § Uso del classificatore – Nel classificare un nuovo campione, si usa l’ordine tra le CAR • Si sceglie la prima regola il cui condset soddisfa il campione. – E’ necessaria una regola di default, a precedenza minima, che specifica una classe di default • Serve per classificare nel caso in cui nessuna regola soddisfa il nuovo campione da classificare § Buoni risultati sia in velocità e sia in accuratezza rispetto a C 4. 5 Data Mining - S. Orlando 73