Il data mining di Alessandro Rezzani Cos’è il data mining. ................................................................................................................................. 2 Knowledge Discovery in Databases (KDD) ............................................................................................. 3 Lo standard CRISP-DM ............................................................................................................................. 4 La preparazione dei dati ........................................................................................................................... 7 Costruzione del modello .......................................................................................................................... 7 Attività tipiche ......................................................................................................................................... 8 Valutazione del modello........................................................................................................................... 9 La matrice di confusione ...................................................................................................................... 9 La curva ROC (Receiver Operating Characteristic) ............................................................................... 11 Lift chart ............................................................................................................................................ 13 Bibliografia............................................................................................................................................. 14 www.dataskills.it E-mail [email protected] Cos’è il data mining. Se esaminiamo come le modalità di analisi dei dati si sono evolute negli anni, notiamo come da indagini effettuate direttamente sulle fonti operazionali, si è passati, a partire dagli anni ’90, all’utilizzo di una base dati creata appositamente: il data warehouse. Con il data warehouse e i database multidimensionali è possibile analizzare i dati non solo al massino livello di dettaglio, ma anche a diversi livelli di aggregazione, e, inoltre, eseguendo operazione di drill-down o slicing e dicing si ottengono dinamicamente prospettive diverse del dato. Tuttavia si tratta sempre di una visione storica, che consente soltanto una valutazione a consuntivo di ciò che è accaduto nel passato, oppure di ciò che sta accadendo ora. Più di recente, a partire dai primi anni 2000, ha cominciato ad affermarsi la necessità di effettuare analisi previsionali, per anticipare gli eventi e ottenere un vantaggio di business. La grande quantità di dati disponibili ha reso inoltre necessaria l’adozione di tecniche di analisi efficienti e in grado di lavorare su valori numerici, testuali o binari (per es. le immagini). Le tecniche di analisi, a cui ci riferiamo, prendono il nome di data mining, poiché consentono di “scavare” nei dati ed estrarre informazioni, pattern1 e relazioni non immediatamente identificabili e non note a priori. Il data mining può essere utilizzato in qualsiasi settore economico, per risolvere molteplici problemi di business: - - - - Ricerca di anomalie. Il data mining può essere impiegato per l’identificazione di comportamenti fraudolenti nell’utilizzo di carte di credito. Churn Analysis. La churn analysis consiste nell’analisi della clientela per determinare i clienti che presentano un’alta probabilità di passare alla concorrenza, al fine di intervenire in anticipo ed evitarne la migrazione. Segmentazione della clientela. Le tecniche di segmentazione possono essere utili, per esempio, a determinare il profilo comportamentale dei clienti. Una volta identificati i segmenti di clienti simili, è possibile studiare strategie di marketing differenziate per ciascun gruppo. Previsioni. Le analisi predittive dell’andamento delle vendite, o, genericamente dell’andamento di serie temporali, sono un altro degli ambiti di impiego del data mining. Campagne pubblicitarie mirate. L’utilizzo del data mining nell’ambito delle campagne di marketing mirate, consente di stabilire a priori quali siano, tra i prospect, quelli con maggior probabilità di acquistare i prodotti dell’azienda, in modo da impiegare su di essi le risorse del marketing. Market basket analysis. Le tecniche di market basket analysis sono utili a suggerire, a un certo cliente, ulteriori prodotti da acquistare in base ai suoi comportamenti d’acquisto abituali, oppure a definire il layout dei prodotti sugli scaffali. Il data mining comporta l’utilizzo integrato di diverse discipline, come il data warehousing, la statistica, l’intelligenza artificiale, le tecniche di visualizzazione, l’analisi delle serie temporali e l’analisi di dati geospaziali. La componente tecnologica riveste una grande importanza, poiché gli algoritmi di data mining richiedono una certa potenza di calcolo e tecniche di ottimizzazione delle performance sono essenziali, soprattutto in presenza di una mole di dati elevata. Nel processo di data mining è però la figura dell’utente ad assumere un ruolo centrale: si tratta, infatti, di un processo che richiede l’interazione di un esperto del business, che deve sfruttare la propria conoscenza per la preparazione dei dati, per costruzione dei modelli e per la valutazione dei risultati. La tabella seguente contiene un sunto delle caratteristiche del data mining. 1 Per pattern intendiamo una struttura, un modello, o, più in generale una rappresentazione sintetica dei dati. www.dataskills.it E-mail [email protected] Tabella 1 Caratteristiche del data mining. Caratteristica Scopo Ambito dei dati Ipotesi di partenza Requisiti Interazione Capacità di elaborazione Interpretazione dei risultati Descrizione Il data mining utilizza tecniche analitiche per identificare pattern nascosti nei dati. Il data mining può trattare dati qualitativi, qualitativi, testuali, immagini e suoni. Non richiede ipotesi a priori da parte del ricercatore, nemmeno sulla forma distributiva2 delle variabili. E’ necessaria una buona conoscenza de business nel cui ambito si vogliono applicare le tecniche di data mining. Ciò consente la corretta valutazione e selezione dei dati di partenza rilevanti. Inoltre occorre aver pienamente compreso i requisiti e gli obiettivi che si vogliono raggiungere, al fine di poter interpretare nel modo corretto i risultati dei modelli. L’analista e il sistema di data mining devono interagire al fine di produrre un modello valido. L’analista sceglie i dati da analizzare, configura il sistema di data mining e valuta i risultati. Il processo può essere ripetuto per affinare il modello. Gli algoritmi sono ottimizzati per minimizzare i tempi di elaborazione anche in presenza di un numero elevato di osservazione e un numero elevato di variabili. I software i data mining offrono propongono i risultati in forma semplice, anche attraverso l’uso di strumenti visuali che ne facilitano l’interpretazione. Knowledge Discovery in Databases (KDD) Il data mining fa parte di un più ampio processo chiamato Knowledge Discovery in Databases (KDD) e ne rappresenta la fase più importante. Il KDD, come si evince dal nome, ha lo scopo di estrarre la conoscenza dai dati. Sappiamo che il dato è il risultato di una misurazione di un certo evento e di per sé non ha grande utilità. Tuttavia valutando i dati in un preciso contesto e applicandovi opportune elaborazioni è possibile ricavare informazioni: in questo modo il dato diventa utile e in grado di rispondere a una richiesta specifica. Tuttavia l’informazione va utilizzata in modo produttivo al fine di ottenere conoscenza. La conoscenza è dunque il risultato di un percorso che parte dai dati grezzi e termina con l’interpretazione e lo sfruttamento produttivo dei risultati. Il processo di KDD contiene diversi passi: 1) Selezione dei dati. E’ evidente come un database possa contenere nati di varia natura, che per il problema in esame possono risultare inutili. E’ dunque importante comprendere il dominio applicativo determinato dagli obiettivi dell’utente finale. 2) Preelaborazione. Dopo aver ridotto l’ambito dei dati da considerare, è comunque poco opportuno analizzarli per intero, poiché la quantità di dati potrebbe essere ancora molto elevata. Può essere conveniente estrarre un campione e analizzare soltanto quello. Inoltre nella fase di preelaborazione rientrano le attività di pulizia dei dati e di definizione del trattamento dei dati mancanti. Teniamo in 2 Le tecniche statistiche richiedono quasi sempre di formulare ipotesi sulla distribuzione delle variabili esaminate. www.dataskills.it E-mail [email protected] considerazione, però, che, se i dati provengono dal data warehouse, molte le operazioni di pulizia dovrebbero essere già state messe in opera nella fase di ETL. 3) Trasformazione. Le trasformazioni possono riguardare cambiamenti nei tipi di dato (da numero a stringa, per esempio), la discretizzazione di valori continui, oppure la normalizzazione dei valori. 4) Data Mining. La fase di data mining vede la determinazione dell’algoritmo da utilizzare, la costruzione e il testing di un modello. 5) Interpretazione dei risultati.I risultati del modello di data mining evidenzia dei pattern nascosti nei dati: occorre però valutare se essi sono utili e possono apportare un beneficio per il business. Figura 1 Il processo di KDD. Lo standard CRISP-DM CRISP-DM, che sta per “Cross Industry Standard Process for Data Mining” è un metodo di comprovata efficacia per l’implementazione di un processo di data mining. I lavori di definizione dello standard prendono avvio nel 1996 come iniziativa finanziata dall’Unione Europea e portata avanti da un consorzio di quattro società: SPSS, NCR Corporation, Daimler-Benz e OHRA. La prima versione della metodologia vede la luce nel 1999, mentre nel 2006 iniziano i lavori per definire lo standard CRISP-DM 2.0. Tuttavia, la seconda versione non ha mai visto la luce e nessun tipo di attività o comunicazione è più pervenuta dal gruppo di lavoro dal 2007, tant’è che anche il sito web non è più attivo da parecchio tempo. Nonostante questo la metodologia CRISP-DM è valida ed è stata largamente adottata dalle aziende che hanno affrontato progetti di data mining. www.dataskills.it E-mail [email protected] Il presupposto della metodologia risiede nella volontà di rendere il processo di data mining affidabile e utilizzabile da persone con pochi skill in materia, ma con elevata conoscenza del business. La metodologia fornisce un framework che prevede sei fasi, che possono essere ripetute ciclicamente con l’obiettivo di revisionare e rifinire il modello previsionale: - Business Understanding Data Understanding Data Preparation Modeling Evaluation Deployment La figura che segue mostra l’intero processo. Figura 2 Metodologia CRISP-DM. Ciascuna delle fasi si articola in più punti, illustrati nella tabella seguente. Tabella 2 Punti della metodologia CRISP-DM Determinazione degli obiettivi di business Assessment della situazione attuale Business Understanding La comprensione delle problematiche del business e degli obiettivi aziendali è necessaria al fine di poter creare un modello di data mining adeguato. Le attività di assessment riguardano tipicamente: Inventario delle risorse Requisiti, presupposti e vincoli Rischi e imprevisti www.dataskills.it E-mail [email protected] Determinazione degli obiettivi del processo di data mining Creazione del piano di progetto Identificazione e recupero dei dati Esplorazione e descrizione dei dati Verifica della qualità Selezione dei dati Pulizia dei dati, integrazione e formattazione Costruzione dei dati Selezione dell’algoritmo Creazione del modello Valutazione dei risultati Analisi dei costi/benefici La costruzione del modello e la scelta degli algoritmi di calcolo dipendono anche dagli obiettivi che il sistema dovrebbe raggiungere; in altre parole è necessario interpretare in maniera corretta i requisiti dell’utente. Già nella prima fase, una volta capiti gli obiettivi, è possibile predisporre il piano di sviluppo del progetto di data mining. Data understanding3 In base a quanto determinato con la fase precedente, occorre identificare quali sono i dati rilevanti per la creazione del modello. La metodologia prevede per questa fase la creazione di un report che evidenzi le caratteristiche delle fonti dati e i criteri di scelta. I dati devono essere analizzati e descritti attraverso un report L’attività di esplorazione e descrizione dei dati deve essere completata con la verifica della qualità. Devono essere indentificati i dati mancanti, le situazioni anomale (i cosiddetti outliers, ecc.) Data Preparation I dati identificati come pertinenti nel punto precedente, sono ulteriormente soggetti a selezione, poiché occorre individuare le singole tabelle e i singoli campi da utilizzare nel modello di data mining La preparazione del data set da utilizzare per la costruzione del modello di data mining prevede un’attività di pulizia dei dati, qualora la verifica della qualità avesse evidenziato problemi. Oltre a questo, potrebbe essere utile integrare il data set con dati provenienti da fonti esterne. La costruzione dei dati consiste nella creazione di campi calcolati che saranno utilizzati come attributi d’analisi nei modelli di data mining. Modeling Come vedremo esistono spesso più algoritmi che si adattano ad un determinato problema di data mining. In questa fase occorre identificare quali sono gli algoritmi corretti, e decidere se costruire un modello per ciascuno di essi. Occorre tener presente che alcuni algoritmi richiedono i dati in specifici formati, perciò è spesso necessario ritornare alla fase di preparazione dei dati, prima di proseguire con la creazione del modello. La creazione del modello consiste nell’impostazione dei parametri dell’algoritmo e nella loro calibrazione sulla base dei dati. Evaluation Il modello deve valutato attraverso un insieme di dati di test. Se i risultati non sono soddisfacenti occorrerà riconsiderare l’attività di modellazione oppure l’attività di preparazione dei dati. 3 Notiamo che, a parte la scelta dei dati rilevanti, il resto delle operazioni dovrebbe già essere parte del sistema di Business Intelligence. www.dataskills.it E-mail [email protected] Revisione del processo Decisione sull’utilizzo del modello Pianificazione del deployment Manutenzione e verifiche Revisione finale Una volta eseguita la valutazione del modello, è bene, anche in caso di risultati positivi, ricontrollare tutte le fasi del processo, soprattutto per indentificare eventuali omissioni di regole di business e per verificare la congruità dei risultati con gli obiettivi stabiliti. A questo punto è possibile decidere se utilizzare i risultati del modello nel processo di KDD, procedendo quindi con il deployment agli utenti. Deployment La fase di deployment include anche l’integrazione del modello con i sistemi esistenti. Inoltre la raccolta dati, la loro preparazione e l’elaborazione attraverso il modello devono essere automatizzati. Nel definire le attività di deployment occorre programmare anche l’attività di manutenzione. La fase di deployment si conclude con la documentazione dell’intero processo e con una revisione finale con il coinvolgimento degli utenti. La metodologia CRISP-DM ha il vantaggio di essere applicabile a qualsiasi ramo di attività e di essere indipendente dallo strumento software utilizzato. Inoltre è strettamente collegata al modello d’azione della KDD. Nei paragrafi che seguono approfondiremo i punti principali relativi alla costruzione e alla valutazione di un modello di data mining. In particolare vedremo gli aspetti di preparazione dei dati, di scelta dell’algoritmo e di valutazione dei risultati. La preparazione dei dati La preparazione dei dati assume un ruolo cruciale nel processo di data mining, poiché essa può influenzare in maniera sostanziale la bontà dei modelli. Il primo aspetto da considerare riguarda la qualità dei dati. Se supponiamo che i dati da utilizzare per il data mining arrivino dal data warehouse, allora possiamo dare per scontato che il processo di pulizia, integrazione e uniformazione dei dati sia già stato compiuto. Se così non fosse, occorre valutare il grado di affidabilità e completezza dei dati e porre rimedio ai problemi di qualità, pena la costruzione di modelli destinati ad essere completamente inefficaci. Esiste poi un problema legato ai valori mancanti degli attributi, che, in parte può essere sanato nel data warehouse attraverso l’integrazione diverse fonti, anche esterne all’azienda (si pensi all’acquisto di dati demografici o relativi al territorio da banche dati specializzate). Accade però che per alcuni attributi non sia sempre possibile ottenere un valore. In questo caso, nel data warehouse, invece di presentare un valore NULL, si utilizzerà un valore di default che indica la mancanza del dato, ma questa soluzione non è ottimale per il data mining ed è da gestire al momento della preparazione dei dati. Alcuni algoritmi richiedono che i dati siano trasformati, di solito attraverso operazioni di vario genere: normalizzazioni, riduzione del numero di attributi, riclassificazione dei valori di un attributo. Costruzione del modello La costruzione del modello di data mining si articola su più fasi: www.dataskills.it E-mail [email protected] - - - - La scelta dell’algoritmo di calcolo. Essa è basata sull’analisi del problema di data mining da risolvere. Il paragrafo che segue fornisce una descrizione dei più comuni algoritmi e delle situazioni alle quali essi si adattano. Il completamento della fase di preparazione dei dati. Qualora l’algoritmo richieda elaborazioni particolari, è necessario ultimare la fase di preparazione dei dati, con le tecniche che abbiamo trattato nel paragrafo precedente. La scelta dei parametri base di configurazione dell’algoritmo. La suddivisione dei dati disponibili in training set e test set. Nel costruire un modello di data mining occorre operare una suddivisione dei dati disponibili in due insiemi: uno, contenente un’ampia percentuale dei dati, costituisce il training set, cioè l’insieme dei dati su cui l’algoritmo scelto è calibrato. L’altro rappresenta il test set, cioè l’insieme di dati su cui si eseguirà il test del modello per verificarne la bontà. Il test set ovviamente contiene anche l’attributo o gli attributi che sono il risultato dell’attività predittiva del modello. In questo modo sarà possibile confrontare i dati reali con quelli previsti ed eseguire così una valutazione. La suddivisione in training set e test set dovrebbe avvenire mantenendo la stessa distribuzione degli attributi in entrambi gli insiemi di elementi, in modo che essi siano ugualmente rappresentativi. L’avvio della fase di training dell’algoritmo. Nella fase di training l’algoritmo analizza le relazioni nascoste nei dati e imposta il modello di data mining. Molto spesso è necessario ripetere più volte il processo di costruzione del modello al fine di provare algoritmi alternativi oppure di operare aggiustamenti sui parametri, o sulle trasformazioni del data set. Attività tipiche Le attività che tipicamente sono oggetto di un processo di data mining sono raggruppabili in categorie. Per ciascuna categoria è possibile individuare uno o più algoritmi di data mining che meglio si prestano a risolvere il problema. La tabella presenta una categorizzazione dei problemi di data mining, una breve descrizione e gli algoritmi più adatti a ciascuna categoria. Tabella 3 Problemi e algoritmi. Problema Esempio Algoritmo Stima di un attributo discreto: in questo caso si tratta di predire il valore di un particolare attributo sulla base dei valori degli altri attributi. Stimare se il destinatario di una campagna di mailing diretto acquisterà un prodotto, sulla base di dati anagrafici e comportamentali di vario genere. Decision Trees Bayesian classifier Clustering Neural Network Stima di un attributo continuo. Stimare le vendite dell'anno successivo Time Series Neural Network Ricerca di gruppi di elementi comuni nelle transazioni. Utilizzare analisi di mercato sugli acquisti per Association Rules suggerire a un cliente ulteriori prodotti da Decision Trees acquistare. www.dataskills.it E-mail [email protected] Ricerca di gruppi di elementi simili. Segmentare i dati demografici in gruppi, con comportamenti d’acquisto simili Clustering Ricerca di anomalie nei dati Per esempio la ricerca di utilizzi fraudolenti di strumenti di pagamento, come le carte di credito. Clustering Valutazione del modello Con qualsiasi algoritmo la si realizzi, una delle operazioni più frequenti nel data mining è la classificazione: dato un certo numero di elementi che appartengono a classi diverse, ciò che vogliamo ottenere è un modello che assegni ciascun elemento alla classe corretta. Per esempio, può essere utile, prima di iniziare una campagna di vendita, classificare i prospect in due classi: quella dei probabili acquirenti e quella dei non acquirenti, in modo da concentrare gli sforzi soltanto sulla prima classe. Nell’implementare un qualsiasi modello, abbiamo visto come sia necessario suddividere i dati in due insiemi: il training set e il test set. Entrambi gli insiemi devono contenere gli elementi con la corretta classificazione; il training set sarà utilizzato per la calibrazione dei parametri del modello, mentre il test set per valutare i risultati del classificatore. Teniamo sempre presente che è praticamente impossibile costruire un modello di classificazione perfetto, e che dovremo accontentarci di un modello sub ottimale. La scelta del modello da utilizzare avviene selezionando il migliore da un insieme di modelli calibrati e testati, costruiti con algoritmi e con parametri differenti. E’ chiara dunque la necessità di uno strumento che ci permetta di valutare la bontà di un modello e che ci permetta di confrontarlo con altri, al fine di poter scegliere tra essi il più efficace. Molti problemi di classificazione possono essere ricondotti a una classificazione binaria, cioè con sole due opzioni, dove una classe è detta classe positiva e l’altra è chiamata classe negativa. Nel nostro esempio della campagna di marketing, la classe positiva è quella dei possibili acquirenti, mentre la classe negativa è rappresentata dai non acquirenti. Descriviamo i metodi per la valutazione dei modelli. La matrice di confusione La performance di un modello è determinata dal numero di predizioni corrette o, per contro, dal numero di errori di predizione. Una prima metrica per la valutazione del modello è rappresentata dalla cosiddetta matrice di confusione il cui generico elemento Eij rappresenta il numero di elementi della classe i-esima che il modello assegna, erroneamente, alla classe j-esima. Come esempio, poniamo di dover rappresentare attraverso la matrice di confusione le previsioni di un modello di classificazione dei possibili acquirenti. I dati del modello, eseguito sul test set sono inclusi nella tabella che segue. Tabella 4 Esempio di risultati di un test. Codice cliente Dato reale Previsione www.dataskills.it E-mail [email protected] 1 2 3 4 5 6 7 8 9 10 Acquirente_SI Acquirente_NO Acquirente_NO Acquirente_SI Acquirente_SI Acquirente_NO Acquirente_NO Acquirente_SI Acquirente_NO Acquirente_SI Acquirente_SI Acquirente_NO Acquirente_NO Acquirente_SI Acquirente_SI Acquirente_SI Acquirente_NO Acquirente_SI Acquirente_SI Acquirente_NO Dati Reali In questo caso la matrice di confusione è data da: Predizione Acquirente_SI Acquirente_NO Acquirente_SI 4 1 (VERI POSITIVI) (FALSI NEGATIVI) Acquirente_NO 2 3 (FALSI POSITIVI) (VERI NEGATIVI) Nella matrice di confusione abbiamo quattro quadranti che esprimono: - I veri positivi (VP), cioè i veri acquirenti, classificati come tali. I falsi positivi (FP), cioè i non acquirenti, classificati come acquirenti dal modello. I veri negativi (VN), cioè i non acquirenti correttamente classificati. I falsi negativi (FN), cioè gli acquirenti, classificati come non acquirenti dal modello. Inoltre abbiamo che il numero totale di positivi è dato da P=VP+FN e che il numero totale di negativi è dato da N=FP+VN Dalla matrice possiamo ricavare alcune misure di performance: % falsi positivi = FP/N % veri positivi = VP/P Accuratezza = (VP+VN)/(P+N) Precisione = VP/(VP+FP) Bisogna fare attenzione in particolare all’interpretazione della misura di accuratezza, soprattutto nel caso di classi molto sbilanciate (solitamente questi casi sono quelli più interessanti!). Se avessimo nella realtà 999 non acquirenti reali e 1 solo acquirente reale e il modello classificasse tutti come non acquirenti, avremmo l’accuratezza pari a (999+0)/(999+1) = 99.9%. In realtà a noi interesserebbe soltanto la previsione dei veri acquirenti, che non si realizzerebbe mai (almeno secondo il nostro modello). Se associamo ai quadranti della matrice di confusione un ricavo derivante dalla corretta previsione o un costo che si origina dalla mancata previsione, otteniamo una matrice di costo per ciascuno dei modelli che sviluppiamo. I modelli possono così essere confrontati non solo in base alle misure proposte poco sopra, ma anche attraverso il risultato economico derivante dalla previsione. Come esempio, associamo i seguenti www.dataskills.it E-mail [email protected] costi e ricavi ai quadranti della matrice, ipotizzando che, in base alle previsioni, contatteremo soltanto i potenziali clienti: - Al quadrante VP associamo un margine netto di 50€ per cliente Al quadrante FP associamo un costo di 10€ per ciascun cliente contattato che non si rivela essere acquirente. Ai quadranti FN e VN associamo un risultato economico pari a 0. Il risultato dell’operazione sarebbe 4*50 -2*10 = 180, mostrando quindi un risultato economico positivo a fronte dell’applicazione del modello. Tuttavia il risultato è molto più significativo se utilizzato per paragonare vari modelli oppure parametrizzazioni diverse dello stesso modello, al fine di determinare quello più performante. La curva ROC (Receiver Operating Characteristic) La curva ROC è uno strumento messo a punto durante la seconda guerra mondiale dagli ingegneri che si occupavano dei radar per cercare di distinguere i segnali relativi a oggetti nemici dai segnali causati da stormi di uccelli. La curva è stata impiegata in diversi campi, tra cui vi è anche il data mining. La curva ROC è ampiamente utilizzata per valutare i risultati di un modello previsionali. Per il calcolo delle curve ROC occorre che il modello produca come output oltre alla previsione anche la probabilità di realizzazione. Ciò accade in modo nativo per modelli che utilizzano algoritmi come Naïve Bayes o reti neurali, mentre per altri algoritmi è comunque possibile calcolare la probabilità con tecniche specifiche. Solitamente se la probabilità è superiore a 0.5 allora l’appartenenza ad una certa classe è vera, altrimenti è falsa. La curva, mostrata in Figura 3, è disegnata ricalcolando la percentuale di falsi positivi e la percentuale di falsi negativi spostando via via la soglia di probabilità di appartenenza da 0 a 1 a piccoli intervalli. Figura 3 Esempi di tre curve ROC che descrivono modelli con performance differenti. Nel grafico ROC, il punto (0,0) rappresenta una classificazione in cui non vi sono falsi positivi, ma nemmeno veri positivi. Il punto (0,100) indica una classificazione perfetta: 0 falsi positivi e 100% veri positivi. Il punto www.dataskills.it E-mail [email protected] (100,100) è il risultato di una strategia in cui tutti gli elementi sono classificati come veri positivi: così facendo il tasso di falsi positivi è massimo. Come di nota dalla figura nei grafici ROC compare una retta diagonale che unisce i punti (0,0) e (100,100). Essa rappresenta un classificatore completamente casuale: i mostri modelli dovranno per lo meno presentare una curva che stia sopra a quella del classificatore casuale. Ora, utilizziamo la formula dell’accuratezza e trasformiamola attraverso semplici passaggi algebrici: π΄πππ’πππ‘ππ§π§π = ππ+ππ π+π = ππ πΉπ × π+(1− ) π π π+π = %ππππ πππ ππ‘ππ£π ×π+(1−% ππππ π πππ ππ‘ππ£π) ×π π+π Da questa formula si ricava che: %ππππ πππ ππ‘ππ£π = = π π π΄πππ’πππ‘ππ§π§π × (π + π) − (1 − %ππππ π πππ ππ‘ππ£π) × π π × %ππππ π πππ ππ‘ππ£π + π΄πππ’πππ‘ππ§π§π×(π+π)−π π Se visualizziamo graficamente l’equazione appena determinata otteniamo un fascio di rette parallele che rappresentano diversi livelli di accuratezza. Possiamo utilizzare la retta per determinare il punto di miglior accuratezza nel modello: esso sarà quello in cui la retta è tangente alla curva ROC, come mostrato nella figura seguente. Figura4 ROC con curva di livello dell'accuratezza. Il punto di miglior accuratezza ci dice qual è la soglia di probabilità ottimale al di sopra della quale un elemento è classificato come appartenente alla classe positiva. Dunque, se ritorniamo all’esempio della campagna di marketing, dovremo utilizzare il modello in questo modo: www.dataskills.it E-mail [email protected] - Come prima azione, eseguiamo la classificazione dei prospect in modo da determinare gli appartenenti alla classe dei probabili acquirenti (classe positiva) Come output del modello otteniamo anche la probabilità di assegnazione alla classe. Determiniamo il livello della soglia di probabilità ottimale attraverso la curva ROC e l’equazione delle rette di accuratezza. Selezioniamo gli elementi che appartengono alla classe dei probabili acquirenti e la cui probabilità di appartenenza è maggiore della soglia di probabilità ottimane Lift chart Il lift chart risponde, per mezzo una rappresentazione grafica, alla domanda: selezionando, secondo un certo criterio, l’x% di casi nel test set, quale percentuale dei casi di veri positivi (VP) è raggiunta? In questo tipo di grafico sull’asse delle ascisse poniamo le percentuali, da 0 a 100% di elementi selezionati dal test set, scelti secondo un certo ordine (tipicamente la probabilità di appartenenza alla classe positiva). Sull’asse delle ordinate compare la percentuale dei veri positivi ottenuti attraverso la selezione, sul totale dei veri positivi del test set. Figura 5 Lift chart Anche nel caso del lift chart, così come abbiamo fatto per matrice di confusione, possiamo ragionare in termini di costi e ricavi. I costi possono essere suddivisi in costi fissi e costi cariabili. I costi fissi non dipendono dal numero di elementi estratti dal campione, mentre i costi variabili sono determinati da un costo unitario da moltiplicare al numero di elementi estratti dal test set. Il ricavo è dato da un valore unitario moltiplicato per il numero di veri positivi ottenuti attraverso la selezione. Sempre considerando l’esempio della campagna di marketing, potremmo avere costi fissi per la campagna, indipendenti dal numero di clienti contattati; inoltre avremo un costo per ciascun contatto effettuato e un ricavo in caso di acquisizione del cliente. Contattando prima i clienti con maggior probabilità di essere veri positivi, avremo un alta percentuale di successo, che via via diminuisce, al diminuire della probabilità. Ciò significa che il guadagno ( = ricavi - costo fisso – costi variabili) tenderà ad aumentare velocemente per poi assestarsi e addirittura diminuire, poiché, con una bassa probabilità di avere un falso positivo dovremo spendere molto nei contatti, prima di ottenere un ricavo. La figura seguente mostra un Profit chart ottenuto con il Data Mining add-in per Excel di Microsoft SQL Server 2008. www.dataskills.it E-mail [email protected] Figura 6 Profit Chart ricavato con il Data Mining add-in per Excel di Microsoft SQL Server 2008. Il profit chart proposto nell’add-in di Microsoft, offre la possibilità di specificare un costo fisso, il numero di elementi della popolazione, il costo variabile, per ciascun elemento e il ricavo unitario. In output lo strumento presenta, oltre al grafico anche una tabella con i parametri impostati, il valore del profitto massimo e la soglia di probabilità. La probabilità della classificazione, come abbiamo già detto, è utilizzata per ordinare in modo decrescente gli elementi della popolazione. Il numero proposto dall’ add-in di Microsoft rappresenta la soglia sotto la quale non bisogna prendere più in considerazione gli elementi. Detto in altri termini, seguendo sempre il nostro esempio di classificazione dei prospect in acquirenti e non acquirenti, se la probabilità di essere acquirente è maggiore o uguale alla Probability threshold, allora possiamo contattare il prospect, altrimenti non ne vale la pena. Bibliografia A. Rezzani, Business Intelligence. Processi, metodi, utilizzo in azienda, APOGEO, 2012 Jack E. Olsen, Data Quality: The Accuracy Dimension, Morgan Kaufmann Publishers , 2003 Tamraparni Dasu, Theodore Johnson: Exploratory Data Mining and Data Cleaning, John Wiley & Sons, 2003 www.dataskills.it E-mail [email protected]