Business Intelligence

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Business Intelligence"

Transcript

1 UNIVERSITÀ DEGLISTUDIDIGENOVA FACOLTÀ DI INGEGNERIA Corso di Laurea Specialistica in Ingegneria Gestionale Dispense per le esercitazioni dell insegnamento Business Intelligence Prof. Davide Anguita A cura di: Alessandro Ghio Anno Accademico Documento realizzato in L A TEX

2 Indice Prefazione 5 Principali acronimi utilizzati 7 1 Introduzione Cos è il Data Mining? Terminologia di base Data Mining Process Definizione degli obiettivi Organizzazione dei dati Analisi esplorativa dei dati Scelta delle metodologie di analisi Analisi dei dati Valutazione dei metodi statistici e dei risultati ottenuti Implementazione dell algoritmo Il software che useremo: WEKA Organizzazione della dispensa Organizzazione dei dati Tipi di attributi Variabili qualitative Variabili quantitative La matrice dei dati Gestione delle variabili Normalizzazione di un dataset Analisi esplorativa dei dati Distribuzioni di frequenza

3 3.1.1 Distribuzioni univariate Distribuzioni bivariate e multivariate Analisi esplorativa univariata Richiami su stimatori e loro caratteristiche Indici di posizione Indici di variabilità Indici di eterogeneità Analisi esplorativa bivariata e multivariata Esempi di analisi con WEKA Riduzione di dimensionalità Esempi di riduzione di dimensionalità utilizzando WEKA Classificazione Zero Rules Apprendimento Fase in avanti Estensione al caso multiclasse Esempio di analisi in WEKA Naive Bayesian Classifier Apprendimento Fase in avanti Estensione al caso multiclasse Esempio di analisi in WEKA Reti neurali: MultiLayer Perceptrons Cenni storici: il percettrone Architettura di un MLP Apprendimento Fase in avanti Estensione al caso multiclasse Esempio di analisi in WEKA (I) Esempio di analisi in WEKA (II) Validation set e test set Support Vector Machines Il problema del classificatore a massimo margine Apprendimento Fase in avanti

4 4.4.4 Estensione al caso multiclasse SVM e la probabilità Esempio di analisi in WEKA SVM per feature selection Decision Trees La nascita degli alberi di decisione Apprendimento Fase in avanti Estensione al caso multiclasse Esempio di analisi in WEKA Regressione Zero Rules Apprendimento Fase in avanti Esempio di analisi in WEKA Support Vector Regression Apprendimento Fase in avanti Esempio di analisi in WEKA Regression Trees Apprendimento Fase in avanti Esempio di analisi in WEKA Clustering k Means Apprendimento Fase in avanti Esempio di analisi in WEKA Association rules Apriori Apprendimento Esempio di analisi in WEKA (I) Esempio di analisi in WEKA (II)

5 8 Valutazione comparativa di algoritmi di Data Mining Metodi (pratici) per la comparazione fra algoritmi Training set (TS) Validation set (VS) K Fold Cross Validation (KCV) Analisi in WEKA explorer Metodo TS Metodo VS Metodo KCV Analisi in WEKA KF Input Selezione della classe Creazione delle k foldperlakcv Inserimento dei blocchi per le SVM Elaborazione dei risultati Uscita a video Configurazione finale ed esecuzione Note conclusive Bibliografia 117 4

6 Prefazione Il termine Business Intelligence (BI )è piuttosto vago. Una definizione che comunemente può essere rintracciata in letteratura [14] è la seguente: Con il termine business intelligence (BI) ci si può solitamente riferire a: un insieme di processi aziendali per raccogliere ed analizzare informazioni strategiche; la tecnologia utilizzata per realizzare questi processi; le informazioni ottenute come risultato di questi processi. Per quanto abbia riscosso sempre maggiore interesse solo negli ultimi anni, il processo di BI venne definito come tale nel 1958 da H. P. Luhn, ricercatore dell IBM: ovviamente, all epoca non si avevano a disposizione gli strumenti di oggi (a partire dal computer stesso, almeno nell accezione moderna di PC), ma già era nata l idea che i dati, specialmente quando sono numerosi, debbano essere interpretati al fine di fornire informazioni utili. Non solo: le stesse informazioni devono essere a loro volta analizzate per trovare indici (quanto più completi e sintetici) in grado di velocizzare il processo decisionale. È immediato, quindi, comprendere come una parte fondamentale del processo di BI sia costituita dal Data Mining (DM ). Traducendo letteralmente il termine Mining, esso deriva da to mine, ovvero estrarre (come si fa, nella pratica, in miniera) risorse preziose dalle viscere dei (numerosi, in generale) dati a disposizione. Proprio per questo motivo, al Data Mining viene spesso affiancato il concetto di Knowledge Discovery (KD): è quindi frequente sentire parlare non solo di DM, ma, più in generale, di KDDM. Nel corso di questo insegnamento vedrete che il DM fa parte di un processo molto complesso, che comprende progettazione ed interrogazione di database, creazione di Data Marts, reportistica, ecc. Durante le esercitazioni, data l esiguità del tempo a nostra disposizione, ci concentreremo solamente 5

7 sulla presentazione dei principali algoritmi di DM per BI: sia, quindi, ben chiaro che: queste esercitazioni (sfortunatamente) non potranno coprire per intero il problema della BI; verranno presentati solo alcuni algoritmi (i più famosi ed usati, seppure in moltissime varianti che non analizzeremo), scelti tra la miriade di tecniche a disposizione in letteratura. Per queste dispense, ho tratto ispirazione da [10], sebbene Wikipedia 1 offra sempre ottimi spunti di approfondimento. 1 6

8 Principali acronimi utilizzati Acronimo BI DM KD KDDM MBA ML MLP NN SLT SVM NBC IT OLAP KF CV IQR PCA SVD MAE RMSE TP FP CM Significato Business Intelligence Data Mining Knowledge Discovery Knowledge Discovery & Data Mining Market Basket Analysis Machine Learning MultiLayer Perceptrons Neural Networks (reti neurali) Statistical Learning Theory Support Vector Machine Naive Bayesian Classifier Information Technology OnLine Analytical Processing Knowledge Flow (programma di WEKA) Coefficiente di variazione Inter Quartile Range Principal Component Analysis Singular Value Decomposition Mean Absolute Error Root Mean Squared Error True Positives False Positives Confusion Matrix 7

9 Acronimo BP WTA CCQP SMO KKT OVA AVA DT SVR RT KCV Significato BackPropagation Winner Take All Constrained Convex Quadratic Problem Sequential Minimal Optimization Condizioni di Karush Kuhn Tucker One Vs. All All Vs. All Decision Trees Support Vector Regression Regression Trees K Fold Cross Validation 8

10 Capitolo 1 Introduzione 1.1 Cos è il Data Mining? Posto nella Prefazione che in queste dispensecioccuperemosolamente dei principali algoritmi di Data Mining (DM) per Business Intelligence (BI), vediamo di approfondire meglio cosa si intende per Data Mining. Consideriamo il caso di una catena di supermercati e supponiamo di avere tre centri di vendita: per esempio, Genova, Savona e La Spezia. Ipotizziamo inoltre di aver sede a Genova e di avere a disposizione un enorme database in cui salviamo tutte le transazioni (i.e., tutte le vendite) di ogni supermercato. Da questa montagna di dati vorremmo estrarre, per esempio, informazioni di più alto livello, come le relazioni fra prodotti venduti. Per renderci conto di quanti dati potremmo avere a disposizione, basti pensare che, in media, un supermercato di dimensione medio grande in una giornata può effettuare più di 2000 vendite in giorni feriali e 3000 nei festivi. Supponiamo di collezionare dati per il mese di luglio 2008, che comprende 8 giorni festivi e 23 feriali. Considerando i 3 supermercati della nostra piccola catena abbiamo: ( ) 3 = , più di dati! E solo in un mese!! È abbastanza intuitivo capire che analizzare ad occhio più di 200mila dati non è banale... Supponiamo ora di disporre di un algoritmo A in grado di identificare relazioni fra prodotti venduti: potrebbe sovente capitare che il cliente che acquista Coca Cola compri anche degli snack. Il nostro algoritmo A individuerà in automatico tali relazioni, che potranno poi essere sfruttate al fine di 9

11 sistemare Coca Cola e snack in maniera strategica all interno degli scaffali, oppure per organizzare le offerte commerciali da proporre ai clienti. Non solo: si possono utilizzare altri algoritmi B, C,... per individuare altri tipi di indici o estrarre altre informazioni, dividendo queste ultime sulla base della città in cui il supermercato è situato o per tipologia di prodotto. Questo tipo di problema viene detto Market Basket Analysis (MBA) edè una delle situazioni in cui le metodologie di BI (e, in particolare, le tecniche di DM) trovano applicazione. Altri migliaia di esempi potrebbero essere portati in questa sede. Quello che ci interessa maggiormente è, ora, cercare di dare una definizione di Data Mining [9]: Data mining is the process of selection, exploration, and modelling of large quantities of data to discover regularities or relations that are at first unknown with the aim of obtaining clear and useful results for the owner of the database. Le metodologie utilizzate dal DM provengono da due mondi diversi, in generale: 1. alcuni algoritmi sono stati sviluppati nell ambito del Machine Learning (ML), il cui scopo è di cercare di rappresentare nel miglior modo possibile il processo di generazione dei dati, in modo tale da evitare la mera memorizzazione dei dati in favore di un più efficace processo di generalizzazione del modello anche a casi non ancora osservati. Il primo esempio di algoritmo di ML è stato il percettrone di Rosenblatt [21], dal quale hanno avuto origine modelli sempre più complessi come i MultiLayer Perceptrons (MLP), facenti parte della categoria delle reti neurali (Neural Networks, NN ), di cui torneremo a parlare a tempo debito. Negli ultimi dieci anni circa, ha preso sempre più piede, nel campo del ML, l algoritmo Support Vector Machine (SVM ), che, basandosi su una teoria statistica molto solida e chiamata Statistical Learning Theory (SLT ) [23], costituisce l attuale stato dell arte nel campo del Machine Learning, almeno per quanto riguarda l ambito della classificazione; 2. altri metodi sono stati invece sviluppati nell ambito delle cosiddette statistica multivariata e statistica computazionale: è il caso, per esem- 10

12 pio, di algoritmi basati sulle teorie di Bayes, come il Naive Bayesian Classifier (NBC ) [12]. Volendo unire assieme nel mondo del DM i principi della statistica e del ML, possiamo dire che negli algoritmi di DM devono permettere un analisi approfondita dei dati (come i modelli statistici), ma devono anche garantire una sorta di non memorizzazione del dato (la generalizzazione del ML). Nelle analisi degli algoritmi di DM, si parte dal principio che ogni dato sia in qualche modo affetto da rumore: tornando all esempio del supermercato, il rumore consiste nel fatto che ognuno di noi ha gusti diversi. Ad esempio, qualcuno potrebbe gradire acquistare Coca Cola abbinata a salatini, mentre qualcun altro abbina l acquisto della Coca Cola ad una torta dolce. Se noi memorizzassimo ogni possibile associazione, senza cercare di estrarre informazione, non avremmo più Data Mining, per la precisione non avremmo più il Mining! Si viene, quindi, a porre un trade off tra memorizzazione e capacità di generalizzazione dei dati disponibili: in pratica, non dovremo avere nè un modello troppo complicato (ovvero, che memorizza perfettamente sia il dato disponibile sia il rumore che affligge per definizione i dati a nostra disposizione), nè troppo generale, ovvero non più in grado di descrivere adeguatamente la sorgente dei nostri dati. Come ogni algoritmo, anche i metodi di DM generano un output, che sarà di natura diversa a seconda del tipo di applicazione che ci troviamo ad analizzare (rimandiamo di qualche paragrafo ulteriori chiarimenti a riguardo). Spesso, l output del nostro modello, nell ambito della BI, può fornire nuova ispirazione per raccogliere altri dati, oppure per generare nuovi indici o ipercubi per l analisi: ecco perchè, in applicazioni di tipo business, si parla di circolo virtuoso della conoscenza [5], in quanto l estrazione di conoscenza porta a nuove informazioni, che possono a loro volta essere usate per ottenere ulteriori e più approfondite nozioni a riguardo. Per questi motivi, il DM non è semplicemente l utilizzo di uno o più algoritmi o tecniche statistiche su dati utilizzando un calcolatore; il DM è un processo di BI che dev essere usato insieme a tutti gli strumenti di Information Technology (IT ) al fine di fornire un supporto alle decisioni in ambito aziendale. Non solo: tale informazione dev essere utile, quanto più corretta possibile e di facile interpretazione per tutti, dal consigliere di amministrazione all impiegato dell area logistica. 11

13 Temperatura Pressione Guasto Tabella 1.1: Esempio di controllo sul funzionamento di un macchinario. 1.2 Terminologia di base Prima di avventurarci in maggiori dettagli, elenchiamo un po di termini di base. Viene definito dataset un insieme di dati a disposizione per l analisi: può essere un data warehouse, un data mart o parte di essi. In particolare, il dataset utilizzato per creare un modello viene detto training set, inquanto utilizzato nella fase di training, ovvero di creazione del modello stesso. Quest ultimo, così trovato, verrà quindi usato nella cosiddetta fase in avanti o feedforward, ovvero lo step di applicazione a run time. Distingueremo più avanti in questa dispensa, invece, i validation set e test set. Un dataset è composto, come dice il nome stesso, di dati: ogni osservazione viene chiamata pattern. Ogni pattern è caratterizzato da un insieme di valori, detti variabili (variables), attributi (attributes) ofeatures. Ad ogni pattern può essere assegnato un target, ovvero un valore indicante una particolare proprietà di ogni pattern. In pratica, una feature svolge il ruolo di target, se così deciso da noi. Un paio di esempi chiariranno il tutto. Consideriamo il dataset di Tab. 1.1: ogni riga del dataset è un pattern, mentre ogni colonna rappresenta una feature. Questo dataset, in particolare, è composto da 6 pattern, ognuno dei quali è costituito da 3 variabili (feature). Possiamo, però, considerare il seguente problma da analizzare: a seconda del livello di temperatura e pressione, vogliamo controllare se un macchinario è guasto o funzionante. In tal caso, Guasto svolge il ruolo di target, quindi il nostro dataset è composto da 6 pattern, 2 attributi e un target. Nel caso del dataset di Tab. 1.2, invece, abbiamo 6 pattern e 5 feature: in questo caso, tuttavia, è difficile identificare una feature come target. Difficile 12

14 Vendita Coca Cola Snack Pane Gelato Tabella 1.2: Esempio di vendite in un supermercato. ma non impossibile: per esempio, potremmo voler prevedere se un cliente acquisterà o meno gelato sulla base degli acquisti di Coca Cola, snack e pane, per quanto analisi di questo tipo non siano particolarmente utili. In generale, è l applicazione e il tipo di analisi che ci guidano a selezionare (eventualmente) una feature come target. Esistono, peraltro, target di diverso tipo (ove presenti), a seconda del problema che si vuole affrontare. Normalmente, si usa la seguente notazione per indicare un dataset dotato di target: {(x 1,y 1 ),..., (x l,y l )}, conx i R m indicanti i pattern. Quindi, m èilnumerodifeature,l è il numero di pattern, mentre y i varia, come detto, a seconda del tipo di problema: se y i { 1, 1} oppure y i {0, 1}, siparladiclassificazione biclasse: considerando Guasto come target, il dataset di Tab. 1.1 èunesempio di dataset per classificazione binaria, in cui le feature Temperatura e Pressione sono utilizzate per cercare una relazione fra esse e, appunto, Guasto. Tale target può assumere solo due valori binari, in quanto una macchina può solo essere guasta o funzionante (anche se vedremo che si può introdurre un discorso di tipo probabilistico, ma ne riparleremo a tempo debito); se y i S ℵ, ovvero il target può assumere solo un certo set di valori interi, si parla di classificazione multiclasse, semplice estensione di quanto descritto al punto precedente; se y i Rsi parla di regressione, ed equivale di fatto a trovare una relazione f( ) deltipoy = f(x). 13

15 1.3 Data Mining Process Viene definita Data Mining Process una serie di operazioni che vanno dalla definizione preliminare degli obiettivi per l analisi fino alla valutazione dei risultati ottenuti. Di seguito, elenchiamo le varie attività caratterizzanti il DM Process, quindi, nei successivi paragrafi, daremo maggiori dettagli sulle varie fasi di progetto: 1. Definizione degli obiettivi per l analisi; 2. Selezione, organizzazione ed eventuale preprocessing dei dati; 3. Analisi esplorativa dei dati ed eventuale trasformazione di questi; 4. Scelta delle metodologie di analisi da usare (e comparare); 5. Analisi dei dati, sulla base dei metodi scelti al passo precedente; 6. Comparazione e valutazione delle prestazioni dei diversi metodi; scelta della metodologia di analisi da utilizzare a run time; 7. Implementazione del modello scelto, interpretazione dei risultati che esso fornisce ed utilizzo di questi ultimi nel processo decisionale aziendale Definizione degli obiettivi Sebbene questa fase sembri la più immediata e semplice, non èsempre così: spesso gli obiettivi e le problematiche aziendali non sono così chiari, nè è chiaro quali dati, coefficienti o tipologie di analisi debbano essere applicate. Di sicuro, la grande massa di dati a disposizione non aiuta in questo step: torniamo al caso della catena di supermercati, ad esempio. Supponiamo che l obiettivo prefissato sia di voler aumentare i profitti: che tipo di analisi vogliamo effettuare sui dati? Trovare le associazioni fra prodotti per organizzare meglio la disposizione degli scaffali o le offerte? Trovare l andamento dei guadagni per prodotto e/o supermercato per, eventualmente, decidere di ingrandire un market o un reparto, o aprirne direttamente uno nuovo? Questa fase è di certo la più critica, e spesso viene sottovalutata: è importante che gli obiettivi dell analisi siano definiti precisamente a priori e non persistano dubbi prima di passare alle fasi successive. 14

16 1.3.2 Organizzazione dei dati Una volta terminata la fase 1.3.1, iniziamo a considerare i dati a nostra disposizione. Normalmente, in un azienda si ha a disposizione un grande database di dati, il data warehouse, da cui estraiamo i data marts. La prima fase consiste in una preliminare pulizia del dataset, detta data cleansing: si analizzano tutte le variabili che caratterizzano i dati alla ricerca di possibili valori mancanti (missing), palesemente sbagliati (incorrect) o inutili (per esempio, considerando il dataset di Tab. 1.2, il codice della vendita in molti casi non ha utilità alcuna per un analisi sui dati). Questa fase aiuta anche, in maniera retroattiva, a migliorare (se necessario) la qualità della sorgente dati. Inoltre, il data cleansing permette di effettuare anche una scelta tra variabili utili e inutili al fine dell analisi (per esempio, eliminando feature con molti valori missing). La seconda fase consiste nella creazione di subset di dati: questo step è necessario soprattutto quando ci troviamo a trattare masse davvero imponenti di dati, per le quali l utilizzo di tutto il data mart spesso porta ad avere meno informazione (meglio, un informazione meno pulita ) rispetto all utilizzo di sottoinsiemi di esso opportunamente scelti. In generale, l utilizzo di dataset troppo grandi può portare al fenomeno dell overfitting, ovvero alla memorizzazione dei dati (e della realizzazione particolare del rumore che li affligge). Inoltre, vedremo più avanti nella nostra trattazione come i dati non selezionati possano diventare ottimo banco di prova per verificare le prestazioni del modello durante la fase La selezione dei subset, tuttavia, è tutt altro che banale, ed è stata affrontata spesso in letteratura [4, 3] Analisi esplorativa dei dati Un analisi esplorativa dei dati è spesso determinante al fine di incrementare la qualità dei risultati ottenuti. Queste metodologie di analisi, simili nella loro filosofia alle tecniche OLAP (OnLine Analytical Processing), permettono di comprendere meglio l origine dei nostri dati e trovare relazioni di base che possono risultare di cruciale importanza per il modello operativo. L analisi dei dati passa anche attraverso una selezione dei dati stessi e, in particolare, si parla di: feature selection (altresì variable selection); 15

17 feature analysis (altresì variable analysis); outlier detection. La feature selection consta nella selezione di un sottoinsiemi di variabili, caratterizzanti ogni dato, che permettono di preparare e riorganizzare il nostro data mart (ad esempio) in modo da rendere più semplice e più performante le analisi dei passi successivi. Un esempio dovrebbe chiarire meglio questo concetto. Torniamo al caso della catena di supermercati, e supponiamo che il nostro data mart sia piuttosto piccolo e sia rappresentato in Tab. 1.2: ovviamente, non è un caso reale, ma ci serve come spunto per qualche riflessione. La prima colonna rappresenta il codice univoco di una vendita, per esempio il numero seriale dello scontrino fiscale; le colonne successive rappresentano 4 prodotti che possono essere acquistati: uno 0 indica che quel prodotto non è stato venduto in quella particolare transazione, mentre un 1 indica la vendita del prodotto. Notiamo subito due cose: in questo caso, tutti hanno acquistato snack, e nessuno ha acquistato pane. Pertanto, sia gli snack sia il pane ci danno informazioni di base (ovvero che ai nostri clienti piacciono moltissimo i nostri snack e che dobbiamo cambiare panettiere...) ma sono variabili che potrebbero essere inutili per analisi più sofisticate, non permettendo distinzioni tra le varie vendite. Come accorgersi di tutto ciò in casi reali con migliaia di vendite e prodotti? Semplice, basta controllare le colonne a varianza nulla, ad esempio, o utilizzare appositi algoritmi di ranking per classificare l informatività delle variabili (ne parleremo piùavanti). Selezionare un sottoinsieme di variabili può essere utile in quanto: spesso feature poco informative peggiorano le prestazioni di un modello; molti algoritmi soffrono la curse of dimensionality in rapporto al numero di feature. Non è sempre vantaggioso, comunque, ridurre il numero di variabili, in quanto tutto dipende dal tipo di analisi che vogliamo affrontare. Tornando alla Tab. 1.2, eliminare la colonna snack, in quanto poco informativa, potrebbe essere una buona scelta in alcune metodologie, ma potrebbe, ad esempio, farci perdere delle relazioni importanti nel caso di cui abbiamo discusso nel paragrafo 1.1. Morale della favola: la feature selection va applicata con molta 16

18 Figura 1.1: Campioni del segnale ignoto y = f(x). In 0.8, si noti il presunto outlier. attenzione e solo sapendo esattamente ciò che si sta facendo e l analisi che vorremo applicare in seguito. La feature analysis, invece, consiste nell analizzare le caratteristiche statistiche di base del nostro insieme di dati e notificare (se è il caso) l eventuale mancanza di ulteriori variabili, che potrebbero facilitare le operazioni successive. Di fatto, la feature analysis permette di capire preventivamente se è meglio intervenire sulla sorgente dati o se le variabili che abbiamo a disposizione dovrebbero essere sufficienti per gli algoritmi da applicare. Per spiegare più in dettaglio l operazione di outlier detection, invece, dobbiamo definire innanzitutto cos è unoutlier. Un dato viene detto outlier se è palesemente afflitto da un picco di rumore, quindi se è estremamente sbagliato. Supponiamo di voler ricostruire una relazione del tipo y = f(x) in un intervallo [0, 1] a partire da alcuni valori campionati (x c,y c ) e di trovare dei sample come in Fig Con ogni probabilità, il campione in 0.8 è sbagliato, magari perchè inquelmomentosulsistemaè intervenuto un picco di disturbo. Nella ricostruzione del segnale, mantenere o eliminare l outlier può avere influenze importanti sulla qualità del risultato finale: le Figg. 1.2 e 1.3 mostrano due approssimazioni del segnale includendo e escludendo l outlier. Abbiamo detto che un outlier èundatoestremamente sbagliato: ma estremamente, di preciso, cosa significa? Ovviamente, il tutto varia da caso 17

19 Figura 1.2: Approssimazione escludendo l outlier Figura 1.3: Approssimazione includendo l outlier. 18

20 a caso, e molto si basa sulle eventuali informazioni a priori che potremmo avere a disposizione. Nel caso di Fig. 1.1, qualora sapessimo che i dati hanno un andamento lineare, ovviamente l outlier deve essere escluso; senza informazioni a priori, corriamo comunque un rischio. Una nota conclusiva: spesso, proprio per i motivi precedentemente presentati, l outlier detection è considerata, a tutti gli effetti, un metodo statistico da valutare attentamente sulla base della qualità dei risultati ottenuti e viene pertanto spostata dalla fase di analisi esplorativa dei dati alle fasi successive del DM Process Scelta delle metodologie di analisi Ci sono moltissimi metodi statistici e ognuno di essi è stato implementato in una miriade di algoritmi: è importante, quindi, una classificazione di tali metodi, al fine di fare un po di ordine. La scelta del metodo dipende dal tipo di analisi che vogliamo fare, che a sua volta dipende dagli obiettivi prefissati e dai dati che abbiamo a disposizione. Per questo motivo, si dice che il Data Mining Process è guidato dall applicazione. Le principali classi di metodi statistici sono: 1. Metodi descrittivi; 2. Metodi predittivi; 3. Metodi locali. Nei prossimi paragrafi, li presentiamo brevemente. Metodi descrittivi Anche detti metodi non supervisionati (unsupervised) o indiretti, mirano a raggruppare i dati sulla base di relazioni non note (e potremmo dire non notabili ) a priori o con un analisi esplorativa. Nel dataset, non èpre- sente il target. Tra i vari problemi affrontati con metodi descrittivi, noi ci occuperemo principalmente del clustering. 19

21 Metodi predittivi Anche detti metodi supervisionati (supervised) o diretti, hanno come obiettivo trovare relazioni tra feature e target, al fine di identificare relazioni di classificazione o predizione. Nel dataset utilizzato èsemprepresenteun target. È il caso dei problemi di classificazione biclasse e multiclasse e della regressione. Metodi locali Hanno come obiettivo identificare particolari caratteristiche e relazioni su sottoinsiemi del dataset. Esempi sono le association rules, che abbiamo citato indirettamente nel nostro esempio introduttivo nel paragrafo 1.1. Non solo: come anticipato in precedenza, anche il problema della outlier detection può essere considerato un metodo locale e, come tale, potrà poi essere sottoposto ad attenta valutazione negli step successivi del DM Process Analisi dei dati A questo punto, scelto il metodo (o i metodi) con cui vogliamo affrontare l analisi dei dati, scelti gli algoritmi e scelti gli obiettivi, non ci rimane che dare inizio alle operazioni. In questa fase, potrebbero essere usati software ad hoc, ma, più in generale, ci si affida ad applicazioni già sviluppate (e testate) disponibili in commercio o per il libero download. Daremo brevemente un occhiata a questi software nel paragrafo 1.4, concentrandoci in particolar modo sul software che useremo: il freeware WEKA Valutazione dei metodi statistici e dei risultati ottenuti Terminata l analisi con tutti i metodi prescelti, non ci resta che definire (se non l abbiamo già fatto in precedenza) dei coefficienti per la comparazione. Per esempio, nel caso di classificazione, un buon termine di paragone potrebbe essere l errore previsto a run time per ogni metodo e algoritmo, al fine di scegliere quello che sbaglierà meno. Per trovare questi (o altri) coefficienti, e affinchè essi siano affidabili, è necessario, di norma, affidarsi a metodi di tipo statistico: analizzeremo più avanti in queste dispense alcune di queste 20

22 tecniche, come la Cross Validation. Tali tecniche ci devono permettere una valutazione rapida, semplice e affidabile. Spesso un coefficiente per la comparazione non è sufficiente, ma è necessario considerare altri fattori quali vincoli temporali o di risorse, qualità e stabilità del risultato ottenuto, e molto altro ancora Implementazione dell algoritmo Concludiamo questa carrellata sul DM Process con la fase di realizzazione del modello: una volta scelto, esso dovrà essere implementato a tutti gli effetti per entrare in funzione (la già citata fase feedforward) nel nostro business aziendale. Anche in questo caso, ci si può affidare ad eseguibili in commercio o freeware. Data l usuale semplicità di implementazione della fase in avanti di molti algoritmi, si possono realizzare codici e programmi ad hoc, ottimizzati e customizzati sulle esigenze aziendali e di analisi. 1.4 Il software che useremo: WEKA Negli ultimi anni è cresciuto in modo esponenziale il numero di software per BI che comprendono al loro interno suite per il DM: basti citare Oracle e Microsoft SQL Server. Date le caratteristiche di prodotti commerciali a prezzi tutt altro che contenuti e data l oggettiva difficoltà di apprendimento in strumenti più professionali che divulgativi, si è deciso di utilizzare un programma freeware chiamato Waikato Enviroment for Knowledge Analysis, in breve WEKA. Esso è stato sviluppato in Nuova Zelanda presso l Università di Waikato ed è scaricabile gratuitamente 1. Al proprio interno, comprende moltissime routine per training e fase in avanti di moltissimi algoritmi. WEKA è realizzato in Java, pertanto necessita solo della Java Virtual Machine (JVM) installata sulla propria macchina (è possibile scaricare la JVM assieme a WEKA in un unico pacchetto dal sito neozelandese). Nel caso di utilizzo su macchine Windows (qualsiasi versione, Vista incluso), è possibile installare il programma, che viene compilato con opzioni di compilazione standard. Su altri sistemi operativi (Mac piuttosto che Linux) è obbligatorio (su Windows è solo opzionale) scaricare i sorgenti e compilarli prima di eseguire WEKA. La riga di compilazione è la seguente: 1 21

23 Figura 1.4: Interfaccia di base di WEKA. java -jar weka.jar esarà la JVM a occuparsi del resto. Ulteriori opzioni di compilazione sono possibili per aumentare la dimensione dello stack o simili. In Fig. 1.4 viene mostrata l interfaccia di base di WEKA. Quattro opzioni sono possibili: Simple CLI apre una finestra a riga di comando per qualsiasi tipo di operazione e analisi sui dati. Essendo poco user friendly, è facilmente utilizzabile solo da utenti esperti e dopo un po di pratica; Explorer lancia una finestra GUI per ogni tipo di analisi e operazione sui dati. Explorer è decisamente più intuitivo rispetto alla CLI, quindi, almeno nei primi tempi, ci dedicheremo soprattutto a questa applicazione; Experimenter permette di confrontare fra loro più metodi di analisi, comparandone le prestazioni. Il setup di Experimenter non è banale e necessita di un po di esperienza, ma i risultati sono decisamente interessanti; 22

24 Knowledge Flow assomiglia all ambiente Simulink di MATLAB e consente di costruire confronti fra metodi (tipo Experimenter) ma sotto forma di diagrammi a blocchi, quindi in modo più intuitivo. Si noti che WEKA non comprende direttamente al proprio interno un software per la fase in avanti degli algoritmi: abbiamo anticipato nel paragrafo come spesso si preferiscano realizzazioni ad hoc, quindi gli autori di WEKA si sono concentrati sui passi 1 6 del DM Process piuttosto che sul 7. Ciononostante, mostreremo come Explorer e KF possano essere utilizzati anche per implementare la fase in avanti degli algoritmi. Dedichiamo qualche cenno al formato dei file in input a WEKA. I dataset possono essere passati al software in tre differenti modi: file ARFF (che analizzeremo a breve); indirizzo web (per database di tipo Java DB); filelocalejavadb. Premesso che probabilmente nel corso dell insegnamento utilizzeremo esclusivamente i file locali ARFF, analizziamone la struttura (può essere utile per scrivere eventuali convertitori da altri formati per dataset). Ogni riga preceduta dal carattere jolly % è considerata un commento, mentre sono necessari i seguenti campi: un seguito dal nome del dataset; l elenco degli attributi, uno per riga, aventi la seguente struttura: la parola il nome dell attributo; il set di valori che la variabile può assumere (per attributi di tipo qualitativo o quantitativo discreto) o, in alternativa, il tipo di feature (real o integer); la parola seguita nella linea successiva da tutti i pattern. Ogni pattern è costituito dalle feature, divise dal carattere,. Un missing è contraddistinto da?. 23

25 1.5 Organizzazione della dispensa Questa dispensa è organizzata sulla base del flusso del Data Mining Process, di cui analizzeremo (per motivi di tempo) solamente alcuni aspetti. In particolare: nel Capitolo 2, affronteremo il problema dell organizzazione dei dati, delle trasformazioni applicabili ai pattern e dei tipi di variabili; nel Capitolo 3, approfondiremo alcuni concetti su parametri statistici e caratteristiche del nostro dataset; nel Capitolo 4, invece, cominceremo ad analizzare alcuni algoritmi per la classificazione di pattern; nel Capitolo 5 affronteremo il problema della regressione; il clustering sarà, invece, l argomento centrale del Capitolo 6; trovare le regole di associazione tra feature di un dataset èilproblema affrontato nel Capitolo 7; termineremo presentando alcuni metodi pratici per il confronto fra algoritmi e introducendo l utilizzo di WEKA Knowledge Flow nel Capitolo 8. 24

26 Capitolo 2 Organizzazione dei dati In questo capitolo andiamo ad affrontare brevemente le problematiche relative all organizzazione dei dati. Dati per scontati concetti quali data warehouse e data marts, partiamo dal presupposto di avere a disposizione un dataset, composto da l pattern e m feature, come definito nel paragrafo 1.2. Al momento, non ci interessa se il dataset è dotato di target o meno. Tralasciamo per il momento, inoltre, la selezione di un subset adatto: èun problema decisamente complesso, che richiameremo solo in parte a tempo debito, negli ultimi capitoli di queste dispense. Per quanto riguarda le prime applicazioni usando WEKA, rimandiamo alla fine del prossimo capitolo, quando avremo terminato questa breve carrellata sull analisi e l organizzazione dei dati. 2.1 Tipi di attributi Le feature possono essere organizzate in due principali categorie, a loro volta divise in due sottocategorie: 1. Variabili qualitative: (a) nominali; (b) ordinali; 2. Variabili quantitative: (a) discrete; 25

27 (b) continue. Nei prossimi paragrafi dettagliamo i tipi di attributi precedentemente elencati Variabili qualitative Le feature di tipo qualitativo sono di solito legate ad aggettivi riferiti ad un particolare attributo e possono essere classificate in livelli, detti categorie. Esempi sono il codice postale o il sesso di una persona. Variabili qualitative nominali Una variabile qualitativa è detta nominale se è organizzata su diverse categorie, per le quali non è possibile definire un ordine preciso. In particolare, è possibile definire rapporti di uguaglianza e disuguaglianza (= e ) tra diversi livelli. Esempio sono le codifiche per il sesso: è possibile definire rapporti di uguaglianza (ad esempio, M = M), ma non un ordine fra sessi (non si può definire un rapporto M<F,adesempio). Variabili qualitative ordinali Viceversa, sono dette ordinali le variabili qualitative per le quali è possibile stabilire un ordine (operazioni <, >, =), ma senza la possibilità di quantificare la differenza fra livelli. Un esempio è una classifica di una gara podistica: se noi non indichiamo i distacchi, ma solo le posizioni finali, da esse si può stabilire l ordine d arrivo ma non quantificare la distanza fra un atleta e l altro Variabili quantitative Le feature quantitative sono strettamente legate alle quantità numeriche che le descrivono ed è possibile non solo stabilire un ordine (operazioni <, >, =), ma anche quantificare la distanza (in senso generico) fra vari livelli. È il caso dell età di una persona, ad esempio: è possibile non solo dire che una persona di 20 anni èpiù giovane di una di 45, ma anche che ci sono 25 anni di differenza fra i due. 26

28 Variabili quantitative discrete Una variabile quantitativa è discreta solo se può assumere un numero finito di valori. È il caso di segnali campionati, per esempio. Si distingue dalle variabili qualitative nominali perchèè possibile definire quantitativamente la distanza fra i livelli. Variabili quantitative continue Una variabile quantitativa ècontinuasepuò assumere un numero infinito di valori. Per esempio, una temperatura registrata da un sensore ad alta precisione può essere considerata a tutti gli effetti una variabile quantitativa continua. A tutti gli effetti, ricordiamo comunque che variabili continue su un calcolatore non possono nè potranno mai esistere, sebbene 32 (o 64) bit di precisione siano più che sufficienti per approssimare ogni variabile discreta come continua. 2.2 La matrice dei dati Abbiamo anticipato nel paragrafo 1.2 la rappresentazione di una matrice dati, notazione che ripetiamo per comodità: {x 1,..., x l }, (2.1) e rappresentante un dataset composto da l pattern (in questo caso, supponiamo non sia presente target). Abbiamo inoltre stabilito che ogni pattern x i R m, ovvero abbiamo m feature. Viene chiamata matrice dei dati (data matrix) la rappresentazione matriciale di tale dataset: x 1,1 x 1,j x 1,m..... X = x i,1 x i,j x i,m. (2.2)..... x l,1 x l,j x l,m Quindi, l elemento ij esimo x i,j rappresenta la j esima feature dell i esimo pattern della matrice. D ora in poi, questa notazione verrà utilizzata 27

29 implicitamente, anche quando non ci riferiremo espressamente alla matrice dei dati X Gestione delle variabili Come detto, i nostri dati possono essere rappresentati utilizzando una matrice o, in alternativa, una rappresentazione ad insiemi. Le variabili x i,j devono essere, quindi, quantità numeriche. Inoltre, in molti algoritmi la distanza tra pattern svolge un ruolo centrale nella scelta del modello ottimo. Se, di solito, non ci sono problemi per quanto riguarda le variabili quantitative (in quanto rappresentate già da valori numerici), possono sorgere difficoltà per le feature qualitative. Siano attributi qualitativi nominali o ordinali, spesso essi vengono salvati nel data warehouse (in generale) sotto forma testuale. La trasformazione in variabili numeriche avviene attraverso la cosiddetta binarizzazione, ovvero l assegnazione di un codice binario per ognuno dei valori assunti dalla feature. Supponiamo che una variabile sia di tipo qualitativo e possa assumere r distinti livelli. Verranno create, quindi, r nuove variabili quantitative binarie in codice one hot, ovvero la variabile binaria equivarrà a1solose corrispondente all originale livello della variabile qualitativa. Un esempio dovrebbe chiarire il tutto. Supponiamo di considerare una variabile qualitativa v che può assumere 3 distinti livelli: a, b oppure c. Codifichiamo i 3 livelli utilizzando un codice binario one hot, come quello rappresentato in Tab Supponendo di avere una matrice di dati X come in Eq. (2.3), caratterizzata da 5 pattern e 2 feature, attraverso la binarizzazione otteniamo la matrice dei dati finale X f di Eq. (2.4), avente sempre 5 pattern, ma 4 attributi: 1.1 a 3.5 b X = 1.4 b. (2.3) 9.0 c 3.1 a 28

30 Variabile qualitativa Codifica v v 1 v 2 v 3 a b c Tabella 2.1: Esempio di codifica per variabile qualitativa X f = (2.4) La binarizzazione è estremamente utile in molti casi, ma comporta un aumento del numero di feature: abbiamo già discusso nel paragrafo che questa non è sempre una scelta ottimale. Un analisi preliminare serve anche per cercare una codifica efficace e/o per eliminare, ove consentito, il salvataggio di variabili di tipo qualitativo in memoria (agendo sulla sorgente di osservazioni). 2.3 Normalizzazione di un dataset La normalizzazione di valori è una delle operazioni che più di frequente vengono effettuate su un dataset per svariati motivi. Numerici, innanzitutto, in quanto eventuali valori nell ordine di 10 3 o superiori possono portare a problemi di overflow (e viceversa, ovvero valori sotto 10 3 possono portare all underflow). Esistono diverse tecniche per la normalizzazione: le più comuni prevedono di riportare i dati della nostra matrice X all interno dell intervallo [0, 1] o[ 1, 1]. Dovrebbe ora risultare più chiaro come mai si sia tanto insistito su data cleansing e analisi dei dati nel capitolo 1. Supponiamo di avere una matrice di dati 29

31 X = : (2.5) con ogni probabilità, x 3,2 =10 8 rappresenta un errore di misura. Se non ce ne accorgessimo, potremmo semplicemente normalizzare la nostra matrice fra [0, 1] e ottenere una matrice con elementi < 10 7, ad eccezione di x 3,2 =1. 30

32 Capitolo 3 Analisi esplorativa dei dati In questo capitolo, affronteremo brevemente il problema dell analisi esplorativa dei dati, presentando alcuni indici statistici. Questo capitolo potenzialmente potrebbe coprire un intero insegnamento, quindi ci limiteremo a qualche nozione di base, anche in relazione agli strumenti operativi forniti da WEKA. Per maggiori dettagli, gli interessati possono fare riferimento a [10]. 3.1 Distribuzioni di frequenza Distribuzioni univariate Avolteè utile analizzare le distribuzioni dei valori che può assumere una variabile di tipo qualitativo, oppure quantitativa discreta. Questo tipo di analisi può essere estesa anche alle variabili quantitative continue, cercando gli intervalli ottimi in cui dividere i valori assunti dalle feature (ce ne occuperemo brevemente quando parleremo di alberi di decisione). Supponiamo di considerare una variabile v e che essa possa assumere un numero finito k di livelli, ovvero v = {v1,..., v k }. Si definisce frequenza assoluta il numero di occorrenze n i di un livello in un dataset. Ad esempio, Tab. 3.1 riporta le distribuzioni assolute per la seconda feature della matrice X dell Eq. (2.3). Si definisce frequenza relativa la frequenza assoluta normalizzata per il numero totale di pattern, ovvero: p i = n i l. (3.1) 31

33 Livello Frequenza n a 2 n b 2 n c 1 Tabella 3.1: Esempio di frequenza assoluta per una feature qualitativa. Livello Frequenza p a 0.4 p b 0.4 p c 0.2 Tabella 3.2: Esempio di frequenza relativa per una feature qualitativa. Tab. 3.2 riporta le frequenze relative per il dataset X. Proprietà banali sono che i n i = l e i p i = Distribuzioni bivariate e multivariate Nel precedente paragrafo abbiamo considerato sempre solo una variabile per volta; ora, invece, siamo interessati ad una statistica incrociata delle variabili. Inoltre, sarebbe possibile estendere il ragionamento a più feature, ma per brevità ci limiteremo a descrivere le distribuzioni bivariate. Analogamente a quanto visto nel paragrafo precedente, supponendo di avere due variabili qualitative v e z, che possono assumere, rispettivamente, k e h livelli, si definisce frequenza assoluta congiunta n vz (vi,z j )ilnumero di osservazioni in cui, contemporaneamente, la variabile v assume livello vi e la feature z vale zj. Si definisce frequenza relativa congiunta p vz(vi,z j )la frequenza assoluta congiunta, normalizzata per il numero totale di pattern l. È possibile, inoltre, trovare una matrice, detta matrice di contingenza C R k h, che comprende al proprio interno tutti i valori di frequenze assolute congiunte. In pratica, l elemento ij esimo C ij equivale alla frequenza assoluta congiunta n vz (vi,zj ). 32

34 3.2 Analisi esplorativa univariata Abbiamo visto nel precedente paragrafo come si possano analizzare le frequenze univariate o bivariate per le occorrenze di variabili qualitative (con eventuale estensione al caso di feature quantitative). Ora ci occupiamo di estrarre una descrizione di massima del nostro dataset, sulla base di indici di posizione, varibilità ed eterogeneità. Prima, però, un breve richiamo sulle caratteristiche degli stimatori (in poche parole, gli indici che andremo a breve a presentare), utili per capire alcuni concetti dei prossimi paragrafi Richiami su stimatori e loro caratteristiche Supponiamo di considerare un generico parametro da stimare α econ- sideriamo un suo stimatore ˆα. A titolo di esempio, si potrebbe considerare come parametro da stimare l età media di tutta la popolazione mondiale e come stima l età media di un campione di N persone. Esistono due quantità che definiscono la qualità di uno stimatore e sono: 1. la polarizzazione o bias; 2. la stabilità. Se uno stimatore è non polarizzato (unbiased) estabile viene detto consistente. Tutti gli stimatori che presenteremo nei prossimi paragrafi sono consistenti, ad eccezione di uno (la stima della varianza), per il quale presenteremo la variante biased e consistente. Bias di uno stimatore Viene definito bias di uno stimatore la quantità: dove E {ˆα α} = + b = α E {ˆα α}, (3.2) + ˆα p(x 1,..., x N α) dx 1 dx N (3.3) èilvalor medio condizionale della stima. Uno stimatore è detto unbiased se vale 33

35 lim b =0, (3.4) N + ovvero se, al crescere all infinito del numero di osservazioni, il valore vero del parametro e la sua stima tendono a coincidere asintoticamente. Stabilità di uno stimatore La stabilità di uno stimatore viene calcolata utilizzando la varianza esatta dello stimatore (riparleremo nei prossimi paragrafi di varianza, ma in quel caso faremo riferimento allo stimatore della varianza): σ 2ˆα = E {ˆα 2 α } E {ˆα α} 2. (3.5) Al crescere del numero di osservazioni, ci aspettiamo che il nostro valore stimato si avvicini in media sempre più al valore da stimare (bias nullo), ma anche che tale valore medio sia stabile rispetto alle oscillazioni del parametro reale (varianza nulla). Pertanto, la seconda condizione che poniamo per la consistenza di uno stimatore èche Indici di posizione lim σ2ˆα =0. (3.6) N + Il più comune indice di posizione èlamedia aritmetica, definita su un set di N osservazioni come: N i=1 x = x i (3.7) N ed è calcolabile solo nel caso di variabili quantitative. Ovviamente, la media da sè ha poco significato, in quanto può fortemente risentire di possibili valori fuori scala. Vedremo come essa vada integrata nell analisi da altri indici. Solo nel caso di variabili quantitative discrete (che possono assumere un numero finito k di valori), avendo a disposizione le distribuzioni di frequenza, in particolare le frequenze relative p i di cui al paragrafo 3.1.1, la media può anche essere calcolata come: x = k p i x i, (3.8) i=1 34

36 dove x i rappresentano i k livelli che la variabile può assumere. Un secondo importante indice di posizione èlamoda: essa può essere calcolata sia per variabili qualitative che quantitative (nel caso di variabili continue, si rende necessaria un apposita discretizzazione) e corrisponde al valore (o all intervallo) della variabile caratterizzata dalla più alta frequenza assoluta. Un terzo indice èlamediana: in una sequenza ordinata di dati, la mediana è il punto per il quale metà dati sono maggiori di esso e metà sono più piccoli. In altre parole, la mediana è il punto per il quale la probabilità che un valore caschi alla sinistra di esso o alla destra di esso è pari al 50%. Necessitando di un ordine fra dati, le operazioni <, >, = devono poter essere definite: pertanto, la mediana è calcolabile per le variabili quantitative e qualitative ordinali Indici di variabilità Altro indice importante èlavariabilità, ovvero la dispersione di una distribuzione. Esistono diverse tecniche per valutare la variabilità, ma tutte sono solamente applicabili alle variabili quantitative: è necessario, infatti, non solo essere in grado di definire un ordine tra i valori, ma anche poterne definire una misura di distanza. La prima consiste nel considerare il valore minimo e massimo che l attributo può assumere: è una tecnica piuttosto elementare, ma che risente enormemente della presenza di eventuali outliers non identificati. Viene, quindi, poco usata. La seconda tecnica consiste nel calcolare la varianza: attenzione, nel paragrafo abbiamo parlato di varianza di uno stimatore, qui stiamo parlando di stima della varianza, ovvero cercare di valutare la varianza della popolazione utilizzando un campione limitato. La varianza viene calcolata come: σ 2 = 1 (xi x) 2, (3.9) N dove x è la media. Spesso, dato che l Eq. (3.9) rappresenta uno stimatore della varianza della popolazione, si utilizza s 2 invece di σ 2. Sfortunatamente, si può facilmente dimostrare che lo stimatore di Eq. (3.9) è biased. Uno stimatore unbiased è invece il seguente: 35

37 σ 2 = 1 (xi x) 2. (3.10) N 1 In alternativa alla varianza, si può utilizzare la deviazione standard σ, che è semplicemente la radice quadrata della varianza. Altro indice è rappresentato dal coefficiente di variazione (CV ), calcolabile quando la media non è nulla: CV = σ x. (3.11) In alternativa agli indici di variabilità fin qui presentati, ètalvoltauti- lizzata l analisi dei quartili: un quartile è ognuno dei tre punti che divide un dataset in aree al 25% di probabilità. In particolare, il secondo quartile equivale alla mediana. I tre quartili vengono definiti come Q i,coni =1, 2, 3. Un indice di variabilitàè dato dall Inter Quartile Range (IQR): IQR = Q 3 Q 1, (3.12) cioè dalla differenza fra il valore del terzo e del primo quartile. È inoltre possibile calcolare gli upper bound e lower bound del nostro dataset, definiti come T 1 e T 2 : T 1 = max(minimo valore osservato,q IQR) (3.13) T 2 = min(massimo valore osservato,q IQR). (3.14) A partire dai quartili e dai bound, è possibile tracciare i cosiddetti boxplot, che identificano graficamente le quantità descritte in precedenza. Fig. 3.1 mostra un esempio di boxplot, in cui vengono anche segnalati eventuali outliers, calcolati semplicemente (ma, spesso, efficacemente) come tutti quei valori assunti dalla nostra variabile più piccoli (più grandi) di T 1 (T 2 ) Indici di eterogeneità Gli indici fin qui analizzati sono utili quasi esclusivamente in caso di variabili quantitative. Comunque, risulta utile, in molti casi, avere anche misure in grado di descrivere feature di tipo qualitativo, siano esse nominali o ordinali. L indice più comune per gli attributi qualitativi èl eterogeneità. 36

38 Figura 3.1: Esempio di boxplot. Consideriamo una variabile qualitativa x, che può assumere k distinti livelli. Supponiamo di aver calcolato le frequenze relative p i per ogni livello, come mostrato nel paragrafo Una definizione generale di eterogeneità può essere la seguente: si ha eterogeneità minima (si parla anche, in questo caso, di omogeneità) quando non abbiamo variazioni nei livelli delle feature, ovvero una certa p i =1evalep j =0, j i; viceversa, si ha eterogeneità massima quando le osservazioni si distribuiscono uniformemente su tutti i livelli, ovvero p i =1/k, i. Esistono due indici molto comuni di eterogeneità. Il primo è il cosiddetto Gini index: G =1 k p 2 i, (3.15) per il quale è facile mostrare come, se siamo in condizioni di omogeneità, si ha G = 0, mentre in condizioni di massima eterogeneità sihag =1 1. k Dato che spesso può essere utile normalizzare i valori degli indici affinchè siano compresi in [0, 1], si può definire il Gini index normalizzato: i=1 G G = (k 1)/k. (3.16) Altro indice piuttosto comune èl entropia, definita come: E = k p i log p i, (3.17) i=1 37

39 che vale 0 in caso di omogeneità elogk in caso di massima eterogeneità. Anche in questo caso, è possibile definire l entropia normalizzata nell intervallo [0, 1]: E = E log k. (3.18) 3.3 Analisi esplorativa bivariata e multivariata Analogamente a quanto visto in precedenza per le distribuzioni di frequenza, è ovviamente possibile effettuare analisi incrociate sulle caratteristiche dei nostri dati anche dal punto di vista del calcolo di indici. Dato che questo tipo di analisi è tutt altro che banale, ne daremo solo alcuni brevi cenni, rimandando poi gli interessati ad ulteriori approfondimenti su appositi testi. Per quanto riguarda l analisi bivariata, normalmente un buon metodo per trovare eventuali relazioni fra feature consiste nell utilizzare l approccio grafico. A tal proposito, molto utilizzato è lo strumento della scatterplot matrix, in cui gli attributi vengono messi in relazione a coppie. Ogni cella della matrice è detta scatterplot diagram. Un esempio di scatterplot matrix è riportato in Fig Analogamente a quanto visto nel precedente paragrafo, sarebbe possibile definire moltissimi indici anche per l analisi bivariata: per brevità citiamo, in questa sede, solo l indice di concordanza, ovvero la tendenza ad osservare alti (bassi) valori di un attributo in accordo con alti (bassi) valori di un altra feature. In questo senso, la misura più utilizzata èlacovarianza, definita come: Cov(x, y) = 1 N N (x i x)(y i y). (3.19) i=1 È immediato notare che Cov(x, x) =σ 2. Ovviamente, analogamente a quanto visto nel paragrafo 3.1.2, è possibile costruire una matrice di varianza covarianza, simile alla matrice di contingenza. In alternativa alla covarianza, è possibile utilizzare la correlazione (lineare): 38

40 Figura 3.2: Esempio di scatterplot matrix. Cov(x, y) r(x, y) =, (3.20) σ x σ y dove σ x e σ y rappresentano le deviazioni standard delle due variabili. La correlazione lineare ha le seguenti proprietà: r(x, y) = 1 quando tutti i punti nello scatterplot diagram sono posizionati su una retta a pendenza positiva, e r(x, y) = 1 quando la pendenza è negativa. Proprio per questa relazione di tipo lineare, r viene chiamata correlazione lineare; 39

41 Feature Descrizione Tipo outlook Condizioni del meteo Qualitativa nominale temperature Temperatura atmosferica Quantitativa continua humidity Umidità atmosferica Quantitativa continua windy Situazione del vento Qualitativa nominale play (Target) Giocare o meno a golf Qualitativa nominale Tabella 3.3: Il dataset weather. se r(x, y) = 0, le due variabili non sono assolutamente legate da alcuna relazione lineare, e si dicono scorrelate; in generale, 1 r(x, y) 1. Si potrebbero ora approfondire le analisi di tipo multivariato, ma risultano piuttosto complesse, in quanto è forte in questi casi la distinzione fra i vari tipi di attributo. Quindi, rimandiamo gli interessati ad approfondimenti su appositi testi. 3.4 EsempidianalisiconWEKA Analizziamo un dataset piuttosto elementare utilizzando WEKA. In particolare, analizziamo in questo paragrafo il dataset chiamato weather, eriferito ad una collezione di osservazioni riferite al meteo (sereno, nuvoloso o piovoso), temperatura, umidità e situazione del vento (presente o assente). La classe è costituita da una variabile binaria riferita alla possibilità omeno di giocare a golf, sulla base delle condizioni climatiche. Le feature e il target di questo dataset sono ricapitolati in Tab Lanciamo quindi WEKA ed avviamo l explorer. Sull interfaccia, clicchiamo su Open file... e selezioniamo, dalla cartella Data, il file weather.arff. Dovrebbe apparire una finestra simile a quanto mostrato in Fig Interpretiamo un po tutte le informazioni che ci vengono fornite. In alto troviamo una serie di tasti, i primi per caricare dataset, mentre gli ultimi due servono per editare (sfruttando una GUI) e salvare il nostro dataset (per esempio, per verificare eventuali missing, completare i dati, correggere valori palesemente sbagliati e via dicendo). 40

42 Figura 3.3: Esempio dell interfaccia explorer di WEKA. Scendendo, troviamo la possibilità di scegliere dei filtri da appicare ai dati. Cliccando sul pulsante di scelta, si apre una box ricca di filtri, sia supervisionati (tengono conto del target) che non supervisionati (viceversa). A loro volta, i metodi sono divisi in metodi che agiscono sugli attributi o sulle singole istanze. Lasciando poi alla vostra curiosità maggiori dettagli su molti di questi filtri, da usare sempre e comunque con un obiettivo ben fissato, supponiamo di scegliere fra gli unsupervised che agiscono sulle singole osservazioni (istances) ilrandomize, e vediamo di cosa si occupa. Una volta scelto, clicchiamo sul nome del filtro e si apre una finestra come quella di Fig. 3.4: ci viene fornita una breve spiegazione del filtro (semplicemente, randomizza l ordine dei pattern all interno del dataset, azione utile quando vengono usate tecniche per la stima delle performance di un metodo nei casi di dataset ordinati rispetto al target), con la possibilità di saperne di più (pulsante More ); quindi, ci vengono proposte le possibili opzioni. In questo caso, possiamo solo modificare il seed dell algoritmo di random. Altro filtro molto usato è la normalizzazione (normalize), che troviamo tra gli unsupervised sia per attributi che per singole istanze. La differenza sta nel fatto che il primo normalizza tutta la matrice dati nell intervallo [0, 1], mentre il secondo normalizza ogni singolo pattern affinchè la sua norma p sia 41

43 Figura 3.4: Esempio di box con dettagli per un filtro. uguale ad un certo valore: x i p = s, i =1,.., n, (3.21) dove p e il valore desiderato s sono assegnati dall utente. Torniamo a WEKA explorer. Ci vengono fornite, di seguito, alcune informazioni sul dataset: nome, numero di pattern e di attributi (target incluso). Seguono l elenco degli attributi e la possibilità di rimuoverne uno o più dall elenco. A destra, troviamo, per l attributo evidenziato, le caratteristiche di distribuzione di frequenza o di indici statistici a seconda che si tratti, rispettivamente, di una feature qualitativa o quantitativa. Più inbasso, troviamo la possibilità di scegliere un attributo come classe e, a seguire, l istogramma rappresentativo delle distribuzioni viene rappresentato, utilizzando più colori per rappresentare i pattern afferenti alle diverse classi. Nel caso di variabili continue, il range viene suddiviso in un numero adeguato di intervalli. Agendo su queste opzioni grafiche e sui filtri, un analisi esplorativa di base dei dati può essere facilmente eseguita. Non solo: agendo sul tab Visualize in alto, viene mostrata la scatterplot matrix, con la possibilità di visualizzare i singoli scatterplot diagram cliccando sulle celle della matrice: un esempio è mostrato in Fig

44 Figura 3.5: Esempio di scatterplot matrix e scatterplot diagram. 3.5 Riduzione di dimensionalità Abbiamo già parlato in fase di introduzione di riduzione di dimensionalità e dei possibili pro e contro di questo approccio. Premettendo che esistono migliaia di tecniche per selezionare un subset di variabili, noi ci concentreremo su uno dei più utilizzati: la Principal Component Analysis (PCA) [13, 17]. Vedremo più avanti che non sempre la PCA rappresenta la soluzione ottima per la feature selection, ma essa rimane una delle tecniche piùdiffuse. La PCA consta di alcuni passaggi: 1. calcolo della matrice di covarianza, che definiamo C R m m,dovem èilnumerodifeature; 2. calcolo degli autovettori e autovalori di C e diagonalizzazione di C. Viene trovata una matrice diagonale D R m m,icuielementid i,i = λ i, ovvero sulla diagonale troviamo gli autovalori precedentemente calcolati; 3. gli autovalori e i corrispondenti autovettori vengono ordinati in maniera decrescente; 43

45 4. viene calcolata l energia cumulativa totale di tutti gli autovettori come g = m d i,i ; (3.22) i=1 5. viene stabilita una soglia percentuale g th sull energia cumulativa totale g; 6. vengono mantenuti solo gli m PCA autovettori e autovalori che permettono di ottenere un energia cumulativa parziale g p g th. Tutto ciò cosa significa? La parte più difficile di tutta la PCA èesattamente questa: interpretare i risultati. In pratica, il calcolo degli autovettori implica che noi andiamo ad effettuare nient altro che una combinazione lineare delle nostre feature, ottenendo m PCA nuove feature. L operazione di sogliatura significa, semplicemente, tagliare quelle componenti che meno influiscono sulla descrizione dello spazio degli ingressi. Ovviamente, se il nostro scopo è, in aggiunta alla riduzione della dimensionalità, mantenere anche l interpretabilità degli attributi, la PCA non è di certo la via più adatta da seguire. Ciononostante, è possibile effettuare, sfruttando le proprietà della cosiddetta Singular Value Decomposition (SVD), la trasformazione inversa nell ambito dello spazio originale degli attributi: il problema, in questo caso, è che non possiamo permetterci di escludere alcun autovettore, quindi non effettuiamo di fatto alcuna riduzione di dimensionalità! 3.6 Esempi di riduzione di dimensionalità u- tilizzando WEKA Proviamo ora ad applicare la PCA in WEKA. Prima di tutto, lanciato explorer e caricato il dataset weather, spostiamoci sul tab Select attributes e selezioniamo dal menù la PCA ( PrincipalComponents ). Lasciamo intatte le opzioni di default, utilizziamo il ranker di WEKA (classifica le variabili usando indici basati sull entropia) e forziamo WEKA a usare tutto il training set (lasciamo per ora perdere la Cross Validation, di cui parleremo più avanti in queste dispense). Selezionata la classe ( play ), lanciamo l esecuzione della PCA. 44

46 L output di WEKA conterrà, in ordine: un riepilogo del dataset e dei metodi selezionati; la matrice di correlazione (usata in alternativa alla matrice di covarianza); gli autovalori, la porzione di energia corrispondente, l energia cumulativa totale fino a quell autovalore e il corrispondente autovettore; la matrice degli autovettori; il ranking delle variabili (in questo caso, le combinazioni lineari calcolate con la PCA), ordinate dal ranker di WEKA. Notiamo che, avendo una variabile nominale qualitativa (il meteo) che può assumere 3 possibili livelli, WEKA effettua la binarizzazione; la situazione del vento è anch essa qualitativa, ma binaria e non necessita di ulteriore binarizzazione. Alla fine, abbiamo 6 attributi da considerare. Notiamo che compaiono solo 5 autovalori, il che equivale a dire che il sesto autovalore è nullo; questo fatto è confermato anche dall energia cumulativa, che raggiunge il 100% con solo i primi 5 autovalori. Passiamo ora a capire meglio le opzioni della PCA. Possiamo settare: il massimo numero di attributi che vogliamo visualizzare nella combinazione lineare (per semplicità di lettura); se vogliamo normalizzare i dati fra [0, 1], qualora non l avessimo già fatto; un flag per trasformare nuovamente le feature della PCA nello spazio originario attraverso SVD; la percentuale di energia cumulativa che vogliamo garantire. Analizzando il ranking ottenuto in precedenza: Ranked attributes: temperature outlook=overcast outlook=sunny windy temperature... notiamo che la quinta componente della PCA ha un ranking davvero basso, e stesso dicasi per la quarta. Potrebbe essere, quindi, una buona idea abbassare la soglia per l energia cumulativa: portiamolo al 90%, ad esempio, valore piuttosto tipico. Prima di lanciare la simulazione, diamo un occhiata anche alle opzioni del ranker: 45

47 possiamo scegliere se fare effettuare il ranking o no; possiamo settare il numero massimo di feature da mantenere; possiamo selezionare un subset iniziale di attributi; possiamo stabilire una soglia per il valore dell entropia sotto la quale la variabile viene esclusa dal dataset. Lasciamo le impostazioni di default, e lanciamo la PCA. Come previsto, otteniamo solo 4 componenti. Possiamo continuare a fare analisi di questo tipo, ma adesso vogliamo effettuare una verifica: la sesta componente èdav- vero nulla? Settiamo la soglia di energia al 100%, ovvero includiamo tutto. In effetti, il sesto autovettore è nullo: eigenvalue proportion cumulative temperature outlook=overcast outlook=sunny windy temperature outlook=rainy... ma possiamo notare che, curiosamente, dal punto di vista entropico ha la stessa importanza del quinto autovettore: Ranked attributes: temperature outlook=overcast outlook=sunny windy outlook=rainy temperature... L ultima prova che vogliamo effettuare riguarda la possibilità dieffet- tuare il mapping inverso attraverso SVD nello spazio originale. Settiamo le apposite opzioni e lanciamo la SVD. L output è il seguente: 46

48 PC space transformed back to original space. (Note: can t evaluate attributes in the original space) Ranked attributes: 1 3 outlook=rainy 1 1 outlook=sunny 1 2 outlook=overcast 1 6 windy 1 4 temperature 1 5 humidity La nota, sebbene sembri allarmante, in verità fornisce un informazione alquanto intuitiva: la PCA non può ottenere esattamente lo spazio di partenza, semplicemente perchè abbiamo binarizzato la matrice (per quanto la matrice non binarizzata potrebbe essere facilmente ricavata). In questo caso, non possiamo tagliare alcun autovalore nè autovettore, quindi l eventuale riduzione di dimensionalità è affidata per intero al ranker (che, in questo caso, non riesce a fare molto, essendo anche il dataset usato molto semplice e piccolo). 47

49 Capitolo 4 Classificazione Addentriamoci ora nel problema della classificazione di pattern. In questo capitolo supporremo di utilizzare sempre un dataset X, perilqualeun attributo è utilizzato come target. Ad ogni valore del target corrisponde una classe. Tornando all esempio weather considerato nei paragrafi 3.4 e 3.6, il target è la variabile play, ovvero la decisione di giocare a golf o meno. I problemi di classificazione si possono dividere in due sottocategorie, come già avevamo visto nel paragrafo 1.2: si parla di classificazione binaria quando il target può assumere solamente due valori. Un esempio èilgiàcitatoweather: le due classi corrispondono alla decisione di giocare o no a golf. Normalmente, i target sono del tipo y i {0, 1} oppure y i { 1, 1}; si parla di classificazione multiclasse quando il target può assumere un numero finito di valori interi numerici, ovvero y i S ℵ,doveℵ rappresenta l insieme dei numeri naturali non negativi. Un esempio èil dataset iris, sempre incluso tra gli esempi di WEKA, in cui tre tipi di fiore vengono distinti sulla base delle caratteristiche di petalo e sepalo: in questo caso, y i {1, 2, 3}, dove ogni classe corrisponde ad un preciso fiore. Alcuni algoritmi nascono nell ottica della classificazione binaria: inizieremo con l analisi per questo problema e mostreremo, quindi, le tecniche per la generalizzazione al problema multiclasse. 48

50 4.1 Zero Rules Apprendimento Il classificatore Zero Rules (0 R) è davvero elementare: la classe viene scelta sulla base della moda. Ciò significa che assegneremo ogni pattern a run time alla classe più ricorrente del nostro training set (in caso di parità, la scelta avviene una volta per tutte randomicamente). Ovviamente, non èun metodo particolarmente furbo nè utile, e spesso viene utilizzato nella pratica solo per trovare le frequenze relative e assolute delle varie classi. Supponendo di avere a disposizione un dataset X con 15 pattern e 3 classi, e ipotizzando di avere 7 pattern afferenti alla classe 2 e 4 pattern ciascuno per le classi 1 e 3, sceglieremo la classe 2 in quanto moda del nostro dataset Fase in avanti La fase feedforward a run time di 0 R consisterà semplicemente nell assegnare la classe più frequente del training set ad ogni nuovo pattern che arrivi in ingresso al nostro sistema Estensione al caso multiclasse L algoritmo Zero Rules si adatta già nella sua forma originaria a problemi binari e multiclasse Esempio di analisi in WEKA Torniamo a considerare il dataset weather. Lanciamo explorer di WEKA e carichiamo il dataset. Ora, spostiamoci sul tab Classify in alto e selezioniamo come metodo di classificazione ZeroR nella sottocategoria Rules. Aprendo la finestra delle opzioni, notiamo subito che l unica opzione a disposizione si riferisce ad eventuali output di debug: settiamo a true. Tornando ad explorer, nell area Test options settiamo l uso dell intero training set (le altre opzioni verranno presentate più avanti). Clicchiamo poi su More options e abilitiamo Output predictions. Scelta la classe (play, nel nostro caso), lanciamo l analisi. A parte un po di output di riepilogo, ci viene precisato che: 49

51 ZeroR predicts class value: yes essendo yes la classe più ricorrente del nostro dataset. Passando ai risultati successivi, analizziamo le voci che ci vengono fornite. Predictions on training set Viene presentato un riepilogo del comportamento del nostro classificatore sul training set. Abbiamo a disposizione le seguenti voci: numero del pattern; valore reale della classe; valore ottenuto dal classificatore; un flag di errore corrispondente ai pattern per i quali sbagliamo la previsione; la probabilità di indovinare la previsione. Tale calcolo coinvogle il pattern, il training set ed il particolare classificatore che usiamo. Il valore più alto fra quelli a disposizione è contraddistinto da *. (In)Correctly Classified Instances Equivale al numero di classificazioni corrette o errate. A seguire, troviamo le percentuali relative al numero totale di pattern: nel nostro caso, sbagliamo circa nel 36% dei casi. Kappa statistic La statistica Kappa [7] (anche nota come Kappa di Cohen o semplicemente Kappa) è basato su considerazioni statistiche e sull uso di cosiddetti rater, cioè valutatori. Rappresenta un metodo abbastanza rapido per valutare la robustezza di un algoritmo. L indice K viene calcolato come P (A) P (E) K =, (4.1) 1 P (E) dove P (A) rappresenta l accuratezza, ovvero la percentuale che il nostro predittore azzecchi, e P (E) è la probabilità che il classificatore indovini per pura coincidenza: 50

52 n c P (E) = p i q i, (4.2) i=1 dove n c rappresenta il numero di classi, p i è la frequenza relativa di ogni classe nel training set e q i è la frequenza relativa dell output del nostro classificatore. Vale K (, 1]: K<0è indice di un classificatore che sbaglia volutamente; K = 0 rappresenta un classificatore che, quando indovina, lo fa per puro caso; K = 1è indice di massima robustezza del predittore. Nel caso in esame, il nostro classificatore 0 R è caratterizzato da Kappa nulla, il che mostra la scarsa affidabilità di 0 R. Controlliamo il risultato. Le quantità che caratterizzano il nostro 0 R sono: P (A) 64.29% è l accuratezza; p %, p %, q 1 = 100% e q 2 = 0%. Pertanto, P (E) 64.29%. Ne risulta, appunto, K =0. Mean absolute error Rappresenta l errore medio assoluto (MAE), quantità che nei problemi di classificazione ha poca importanza. Comunque sia, esso è definito in questo caso come la distanza media tra la probabilità di classificazione corretta e il target originario del dataset. In pratica, fornisce una misura complessiva del comportamento del classificatore relativa al particolare dataset che utilizziamo. Il MAE ha, invece, enorme importanza nei problemi di regressione, che affronteremo a breve, in quanto in quei casi rappresenta la differenza media tra l output del nostro sistema e quello originario del dataset. 51

53 Root mean squared error Per l errore quadratico medio (RMSE) valgono molte delle considerazioni fatte in precedenza per il MAE: infatti, il RMSE è calcolato (sia per regressione che per classificazione) come il MAE, tranne che ogni volta calcoliamo il quadrato della differenza fra output (o probabilità) e valore originario. Relative absolute error e Root relative squared error Queste misure sono ottenute come rapporto, rispettivamente, fra MAE e RMSE e i valori ottenuti col worst case, ovvero con un classificatore 0 R. Dato che in questo caso usiamo un classificatore 0 R, non abbiamo miglioramenti e l errore relativo è pari al 100%. Detailed Accuracy By Class e Confusion Matrix Analizziamo ora i dati relativi alla tabella di accuratezza della previsione. Otteniamo un output di questo tipo: TP Rate FP Rate Precision Recall F-Measure Class yes no Prima di addentrarci nella spiegazione dei termini riportati, consideriamo la matrice di confusione: a b <-- classified as 9 0 a = yes 5 0 b = no La matrice di confusione (CM) va analizzata nel seguente modo: nelle colonne, troviamo le classificazioni ottenute col metodo selezionato; nelle righe, il numero di dati afferenti alle due classi nel training set. Spieghiamoci meglio: nel nostro caso, abbiamo 9 dati, originalmente appartenenti alla classe yes, che sono stati classificati come yes ; abbiamo inoltre 5 dati che nel training set appatrtenevano alla classe no (seconda riga), ma che sono comunque stati classificati come yes. In Eq. (4.3), riportiamo un esempio di confusion matrix CM con k classi, nel quale: C ii indica le caselle contenenti il numero di dati della classe i correttamente classificati; C ij indica 52

54 il numero di dati appartenenti ad una classe i, ma erroneamente attribuiti dal metodo alla classe j. C 11 C 12 C 1k C CM = 21 C 22 C 2k (4.3) C k1 C k2 C kk Torniamo ora all accuratezza per classe. Definita la CM, Analizziamo voce per voce: iniziando dal fondo, Class indica la classe a cui i precedenti coefficienti sono riferiti: la prima riga si riferisce ai dati classificati come classe yes, la seconda riga è riferita ai dati classificati come no ; TP rate indica il True Positives rate, ovvero la percentuale dei dati appartenenti alla classe c, i quali sono stati effettivamente classificati in modo corretto. Nel nostro caso, il 100% dei dati afferenti alla classe yes sono stati classificati correttamente, mentre nessun pattern è stato classificato come no ; FP rate indica il False Positives rate, ovvero la percentuale dei dati appartenenti alla classe c, i quali sono stati classificati in modo errato. Nel nostro caso, qualsiasi dato non afferente a yes, è stato comunque classificato come yes, quindi il FP rate di questa classe è il 100%. Viceversa, nessun pattern è stato classificato come no, quindi anche il FP rate di questa classe è0%; Precision indica la percentuale di dati, classificati come appartenenti alla classe c, correttamente classificati in quella classe. Nel nostro caso, il 100% dei dati yes sono stati correttamente classificati, mentre lo 0% dei no è stato attribuito a tale classe dallo 0 R; Recall è la parte di classe che è stata correttamente scoperta : coincide quindi con il TP rate; la F measure unisce Precision e Recall in un unico indice. In termini formali, si può scrivere (i pedici c si riferiscono ad una generica classe), riferendoci alla notazione di Eq. (4.3): 53

55 TP c = C cc k i=1 C, (4.4) ci FP c = k j=1 C cj k i=1 C, j c, (4.5) ci Prec c = C cc k i=1 C, ic (4.6) Rec c = TP c, (4.7) Fm c = 2 Prec c Rec c Prec c + Rec c. (4.8) 4.2 Naive Bayesian Classifier Terminata la rassegna sul poco utile classificatore 0 R, passiamo a qualche metodo più complesso ma anche decisamente più efficace. Iniziamo la rassegna con il Naive Bayesian Classifier, anche noto come NBC Apprendimento L idea di base di NBC consiste nel classificare un dato sulla base del dato stesso, ovvero della probabilità di classe dato il pattern p (C = c X = x), dove C indica una variabile random per la classe, X un vettore di variabili random per gli attributi, c una particolare classe e x una particolare osservazione. NBC si basa su due ipotesi semplificative: 1. tutte le feature sono indipendenti fra loro, data una classe; 2. non esistono attributi nascosti (e non presenti nel dataset) che influenzino in qualche modo il processo decisionale sulla classe. Dato che spesso, nella realtà, queste due ipotesi sono tutt altro che strettamente rispettate, le prestazioni del classificatore talvolta peggiorano. Proseguiamo con l analisi. Il teorema di Bayes ci dice che, dato un nuovo pattern da classificare x, possiamo scegliere la classe sulla base delle seguenti probabilità condizionali: p (C = c i X = x) = p(c = c i)p (X = x C = c i ), i, (4.9) p (X = x) 54

56 scegliendo quindi la classe c i a probabilità maggiore. In questo caso, p(c = c i ) rappresenta la probabilità a priori di classe, mentre ( ) p (X = x C = c i ) = p j X j = x j C = c i = = j p (X (4.10) j = x j C = c i ), avendo supposto indipendenti le feature data la classe. Inoltre, il termine p (X = x) viene spesso trascurato, essendo soltanto un fattore di normalizzazione. Il termine di Eq. (4.10) è facile da calcolare per variabili non continue; nel caso di attributi continui, si può ipotizzare che la distribuzione di tali valori sia gaussiana, ottenendo 1 p (X j = x j C = c i )= 2πσj 2 ( ) exp (x j x j ) 2, (4.11) 2σj 2 con x j e σj 2 che rappresentano media e varianza dell attributo x j,calcolate sui pattern del training set. Di fatto, l apprendimento si esaurisce nel calcolo di media e varianza sul dataset usato per l apprendimento. Una nota: in alternativa all Eq. (4.11), è possibile utilizzare un mapping non lineare dei dati attraverso funzioni kernel (che riprenderemo più avanti), le quali complicano la trattazione e non sono particolarmente didattiche al momento. Per chi fosse interessato a maggiori dettagli, si veda [12] Fase in avanti La fase feedforward del NBC è stata già definita all interno del paragrafo sull apprendimento: all arrivo di un nuovo pattern, si utilizza l Eq. (4.9) e si sceglie la classe con probabilità condizionale piùalta Estensione al caso multiclasse Come risulta chiaro dalla trattazione e, in particolare, dall Eq. (4.9), NBC è nativamente multiclasse: è sufficiente iterare il calcolo della probabilità condizionale di classe su tutte i valori che il target può assumere. 55

57 4.2.4 Esempio di analisi in WEKA Utilizziamo il nostro solito dataset, weather, e vediamo come si comporta con NBC. Innanzitutto, da WEKA explorer, selezioniamo il classificatore NaiveBayes dalla sottocategoria Bayes. Il classificatore permette tre personalizzazioni: 1. alcuni ulteriori output di debug (si possono attivare o no); 2. passare ad un mapping non lineare attraverso kernel dei nostri ingressi (lo lasceremo a false in questa analisi); 3. rappresentare le variabili continue non attraverso una distribuzione normale, ma attraverso una discretizzazione dell attributo in appositi intervalli (di fatto, rendere la variabile discreta o, se vogliamo, qualitativa). Anche in questo caso, lasceremo false questa opzione. Appurandoci di effettuare il training su tutto il training set e, se vogliamo, avendo attivato l uscita di tipo probabilistico, lanciamo l analisi. In questo caso, abbiamo ben 13 classificazioni esatte su 14 pattern di training,valorimedidierrorebassie una Kappa elevata (sopra lo 0.8). Premesso che per un test più accurato è necessario l utilizzo di dati non appartenenti al training set, i valori che ritroviamo sono decisamente incoraggianti. Anche la CM è: a b <-- classified as 9 0 a = yes 1 4 b = no ovvero l unico errore è un no che classifichiamo come yes. Quantomeno abbiamo cominciato a distinguere due classi, ègià un bel passo in avanti. 4.3 Reti neurali: MultiLayer Perceptrons Cenni storici: il percettrone Prima di lanciarci nell analisi del percettrone multistrato, èbenecomin- ciare a capire cosa sia un percettrone. Introdotto da Rosenblatt nel 1958 [21], esso rappresentava per l epoca un innovazione incredibile: in pratica, 56

58 esso consisteva in una funzione matematica in grado di imparare dai dati attraverso un algoritmo di apprendimento vero e proprio. Infatti, fino ad ora, sia 0 R sia NBC non effettuano un vero e proprio learning dai dati: il primo fa un semplice conto sulla frequenza, il secondo al massimo calcola media e varianza per fittare una gaussiana. Il percettrone è un classificatore binario che mappa i suoi ingressi x R m in un valore scalare y = f(x) R, calcolato come y = f(x) =χ (w x + b), (4.12) dove w è un vettore di pesi da applicare agli ingressi, b è detto bias ed è un termine costante che non dipende dagli ingressi, e χ(z) èlafunzione di attivazione. Le scelte più comuni per χ(z) sono: dove Θ(z) è la cosiddetta funzione Heaviside: χ(z) = Θ(z) (4.13) χ(z) = z Θ(z) (4.14) χ(z) = tanh(z) (4.15) χ(z) = 1 1+e z (4.16) χ(z) = z, (4.17) 0 se z<0 1 Θ(z) = se z =0 2 1 se z>0 Non è raro vedere riformulata l Eq. (4.12) come. (4.18) y = f(x) =χ ( w x), (4.19) esattamente equivalente all Eq. (4.12), ma nella quale abbiamo aggiunto al vettore dei pesi il termine del bias e al vettore degli ingressi un termine costante a 1. Uno schema grafico del percettrone è presentato in Fig L algoritmo di apprendimento è iterativo di tipo error backpropagation (BP), ovvero la differenza tra l uscita reale e quella ottenuta dal percettrone ad ogni passo viene usata come feedback per adattare i pesi. Sfortunatamente, il percettrone riusciva a riconoscere dopo l addestramento solamente 57

59 Figura 4.1: Schema grafico di un percettrone. funzioni linearmente separabili, ovvero senza sovrapposizione fra le classi (le Figg. 4.2 e 4.3 mostrano due esempi di dataset linearmente e non linearmente separabili): in particolare, Minsky e Papert [16] mostrarono che il percettrone non era in grado di apprendere nemmeno l elementare funzione logica XOR. Questo perchè, come mostrato in Fig. 4.4, lo XOR non èun problema linearmente separabile (i simboli x mostrano le uscite a 1 e i o rappresentano gli output a 0) Figura 4.2: Esempio di due classi di dati linearmente separabili. Dopo, quindi, un iniziale straordinario successo, il percettrone rimase 58

60 Figura 4.3: Esempio di due classi di dati non linearmente separabili Figura 4.4: Rappresentazione grafica della funzione logica XOR. 59

61 quasi inutilizzato per una decina d anni, fino a quando non vennero sviluppate le cosiddette reti multistrato, cioè lemlp Architettura di un MLP La struttura generale di un MLP è costituita da tre strati di neuroni: 1. il primo strato viene detto input layer ed è in contatto diretto con i dati di ingresso; 2. lo strato intermedio viene detto hidden layer e non ha contatti diretti con l esterno, in quanto riceve i dati dall input layer e li invia allo strato di neuroni di uscita; 3. l ultimo livello èl output layer, il quale riceve i dati dai neuroni dello strato intermedio e si interfaccia con l uscita. Dato che, spesso, per la rappresentazione del MLP si utilizzano grafi, si parla di topologia di una rete, in alternativa al più classico termine architettura della rete. Un esempio di MLP è presentato in Fig Talvolta, lo strato hidden è assente e i layer di ingresso ed uscita coincidono: si parla in quel caso di Single Layer Perceptron, ma non analizzeremo questo tipo di rete. Il layer hidden può, inoltre, contenere diversi layers al proprio interno. Il MLP rappresenta il primo esempio di Artificial Neural Network opiùsemplicemente Rete Neurale (NN) che abbia avuto davvero successo, anche dal punto di vista pratico. Iniziamo a considerare l architettura di un MLP: supponiamo che esso contenga, al proprio interno, n neuroni nell input, h nell hidden e p neuroni nell output layer. I pesi w ik, con i = 1,..., n e k = 1,..., h, permettono l interfacciamento fra i neuroni di input e quelli di hidden; i pesi z kj,conk = 1,..., h e j =1,..., p, connettono i neuroni di hidden con quelli di output. Per quanto riguarda la determinazione del numero di neuroni e strati per l hidden layer, non esiste un metodo preciso in letteratura, ma di solito si procede ad un confronto fra architetture per scegliere quella ottimale. I neuroni di hidden, quindi, ricevono informazione dai neuroni di input attraverso i pesi w, e producono l uscita h k = f(x, w k ), dove f( ) è la funzione di attivazione del neurone. I neuroni di output, a loro volta, ricevono i dati dall hidden layer, 60

62 Figura 4.5: Esempio di architettura di un MLP vi applicano gli opportuni pesi z e quindi producono l output y j = g(h, z j ). Unendo le due funzioni, l uscita del j esimo neurone è quindi: ( ) ( ( )) y j = g h k z kj = g z kj f x i w ik. (4.20) k k i Questa equazione mostra come il mapping degli ingressi in un MLP sia altamente non lineare. È, però, necessario trovare i pesi che caratterizzano la rete. Possiamo identificare tre tipi di MLP: MLP con pesi fissati: di fatto, non contemplano una fase di apprendimento, ma i pesi vengono determinati sulla base di informazioni a priori. Non ci occuperemo di questo tipo di reti, in quanto davvero poco usate; Supervised learning MLP: nel training set abbiamo definito un target e, quindi, è possibile definire una funzione di errore rispetto all output ottimo; Unsupervised learning MLP: anche note come Self Organizing Maps o Mappe di Kohonen, dal nome di chi le ha introdotte, non prevedono la definizione di un target nel training set. Sono abbastanza usate, ma per motivi di tempo non ce ne occuperemo. Per chi fosse interessato, [15] può risultare utile. 61

Università degli studi di Genova

Università degli studi di Genova Università degli studi di Genova Facoltà di Ingegneria TESI DI LAUREA Sviluppo di un modulo ad elevate prestazioni per Data Mining con SQL Server Relatore: Prof. Ing. Davide Anguita Correlatore: Dott.

Dettagli

Modelli probabilistici

Modelli probabilistici Modelli probabilistici Davide Cittaro e Marco Stefani Master bioinformatica 2003 Introduzione L obiettivo di presente lavoro è la classificazione di un insieme di proteine, definite da 27 valori numerici,

Dettagli

Esperienze di Apprendimento Automatico per il corso di Intelligenza Artificiale

Esperienze di Apprendimento Automatico per il corso di Intelligenza Artificiale Esperienze di Apprendimento Automatico per il corso di lippi@dsi.unifi.it Dipartimento Sistemi e Informatica Università di Firenze Dipartimento Ingegneria dell Informazione Università di Siena Introduzione

Dettagli

Design of Experiments

Design of Experiments Design of Experiments Luigi Amedeo Bianchi 1 Introduzione Cominciamo spiegando cosa intendiamo con esperimento, ossia l investigare un processo cambiando i dati in ingresso, osservando i cambiamenti che

Dettagli

SISTEMI INFORMATIVI AZIENDALI

SISTEMI INFORMATIVI AZIENDALI SISTEMI INFORMATIVI AZIENDALI Prof. Andrea Borghesan venus.unive.it/borg borg@unive.it Ricevimento: Alla fine di ogni lezione Modalità esame: scritto 1 Data Mining. Introduzione La crescente popolarità

Dettagli

Tecniche di DM: Link analysis e Association discovery

Tecniche di DM: Link analysis e Association discovery Tecniche di DM: Link analysis e Association discovery Vincenzo Antonio Manganaro vincenzomang@virgilio.it, www.statistica.too.it Indice 1 Architettura di un generico algoritmo di DM. 2 2 Regole di associazione:

Dettagli

Introduzione alle tecniche di Data Mining. Prof. Giovanni Giuffrida

Introduzione alle tecniche di Data Mining. Prof. Giovanni Giuffrida Introduzione alle tecniche di Data Mining Prof. Giovanni Giuffrida Programma Contenuti Introduzione al Data Mining Mining pattern frequenti, regole associative Alberi decisionali Clustering Esempio di

Dettagli

Statistica descrittiva univariata

Statistica descrittiva univariata Statistica descrittiva univariata Elementi di statistica 2 1 Tavola di dati Una tavola (o tabella) di dati è l insieme dei caratteri osservati nel corso di un esperimento o di un rilievo. Solitamente si

Dettagli

SISTEMI INFORMATIVI AZIENDALI

SISTEMI INFORMATIVI AZIENDALI SISTEMI INFORMATIVI AZIENDALI Prof. Andrea Borghesan venus.unive.it/borg borg@unive.it Ricevimento: Alla fine di ogni lezione Modalità esame: scritto 1 Sistemi informazionali La crescente diffusione dei

Dettagli

Weka: Weikato university Environment for Knowledge Analysis

Weka: Weikato university Environment for Knowledge Analysis : Weikato university Environment for Knowledge Analysis Corso di Data e Text Mining Ing. Andrea Tagarelli Università della Calabria Acknowledgements: Salvatore Ruggieri, Dip. di Informatica, Univ. di Pisa

Dettagli

Text mining ed analisi di dati codificati in linguaggio naturale. Analisi esplorative di dati testualilezione

Text mining ed analisi di dati codificati in linguaggio naturale. Analisi esplorative di dati testualilezione Text mining ed analisi di dati codificati in linguaggio naturale Analisi esplorative di dati testualilezione 2 Le principali tecniche di analisi testuale Facendo riferimento alle tecniche di data mining,

Dettagli

DATA MINING PER IL MARKETING

DATA MINING PER IL MARKETING DATA MINING PER IL MARKETING Andrea Cerioli andrea.cerioli@unipr.it Sito web del corso GLI ALBERI DI CLASSIFICAZIONE Algoritmi di classificazione Zani-Cerioli, Cap. XI CHAID: Chi-square Automatic Interaction

Dettagli

PDF created with pdffactory trial version www.pdffactory.com. Il processo di KDD

PDF created with pdffactory trial version www.pdffactory.com. Il processo di KDD Il processo di KDD Introduzione Crescita notevole degli strumenti e delle tecniche per generare e raccogliere dati (introduzione codici a barre, transazioni economiche tramite carta di credito, dati da

Dettagli

Statistical learning Strumenti quantitativi per la gestione

Statistical learning Strumenti quantitativi per la gestione Statistical learning Strumenti quantitativi per la gestione Emanuele Taufer Vendite Simbologia Reddito Statistical learning A cosa ci serve f? 1 Previsione 2 Inferenza Previsione Errore riducibile e errore

Dettagli

1 La Matrice dei dati

1 La Matrice dei dati Dispense sull uso di Excel Daniela Marella 1 La Matrice dei dati Un questionario è costituito da un insieme di domande raccolte su un determinato supporto (cartaceo o elettronico) e somministrate alla

Dettagli

Come descrivere un fenomeno in ambito sanitario fondamenti di statistica descrittiva. Brugnaro Luca

Come descrivere un fenomeno in ambito sanitario fondamenti di statistica descrittiva. Brugnaro Luca Come descrivere un fenomeno in ambito sanitario fondamenti di statistica descrittiva Brugnaro Luca Progetto formativo complessivo Obiettivo: incrementare le competenze degli operatori sanitari nelle metodiche

Dettagli

Introduzione al Pattern Recognition Statistico

Introduzione al Pattern Recognition Statistico Introduzione al Pattern Recognition Statistico Roberto Tagliaferri Dipartimento di Informatica Università di Salerno ( Sa ) 84084 Fisciano e-mail robtag@unisa.it Statistical Pattern Recognition Introduzione

Dettagli

Data Mining e Analisi dei Dati

Data Mining e Analisi dei Dati e Analisi dei Dati Rosaria Lombardo Dipartimento di Economia, Seconda Università di Napoli La scienza che estrae utili informazioni da grandi databases è conosciuta come E una disciplina nuova che interseca

Dettagli

Data mining e rischi aziendali

Data mining e rischi aziendali Data mining e rischi aziendali Antonella Ferrari La piramide delle componenti di un ambiente di Bi Decision maker La decisione migliore Decisioni Ottimizzazione Scelta tra alternative Modelli di apprendimento

Dettagli

Esplorazione dei dati

Esplorazione dei dati Esplorazione dei dati Introduzione L analisi esplorativa dei dati evidenzia, tramite grafici ed indicatori sintetici, le caratteristiche di ciascun attributo presente in un dataset. Il processo di esplorazione

Dettagli

Data Mining. Gabriella Trucco gabriella.trucco@unimi.it

Data Mining. Gabriella Trucco gabriella.trucco@unimi.it Data Mining Gabriella Trucco gabriella.trucco@unimi.it Perché fare data mining La quantità dei dati memorizzata su supporti informatici è in continuo aumento Pagine Web, sistemi di e-commerce Dati relativi

Dettagli

Misure della dispersione o della variabilità

Misure della dispersione o della variabilità QUARTA UNITA Misure della dispersione o della variabilità Abbiamo visto che un punteggio di per sé non ha alcun significato e lo acquista solo quando è posto a confronto con altri punteggi o con una statistica.

Dettagli

C4.5 Algorithms for Machine Learning

C4.5 Algorithms for Machine Learning C4.5 Algorithms for Machine Learning C4.5 Algorithms for Machine Learning Apprendimento di alberi decisionali c4.5 [Qui93b,Qui96] Evoluzione di ID3, altro sistema del medesimo autore, J.R. Quinlan Ispirato

Dettagli

Data Mining in SAP. Alessandro Ciaramella

Data Mining in SAP. Alessandro Ciaramella UNIVERSITÀ DI PISA Corsi di Laurea Specialistica in Ingegneria Informatica per la Gestione d Azienda e Ingegneria Informatica Data Mining in SAP A cura di: Alessandro Ciaramella La Business Intelligence

Dettagli

Il guadagno informativo negli alberi decisionali: un nuovo approccio

Il guadagno informativo negli alberi decisionali: un nuovo approccio Il guadagno informativo negli alberi decisionali: un nuovo approccio Sommario Descrizione del problema... 2 Il guadagno informativo di Nanni... 3 Il software Weka... 3 Cos è Weka... 3 Il guadagno Informativo

Dettagli

Uno standard per il processo KDD

Uno standard per il processo KDD Uno standard per il processo KDD Il modello CRISP-DM (Cross Industry Standard Process for Data Mining) è un prodotto neutrale definito da un consorzio di numerose società per la standardizzazione del processo

Dettagli

Tecniche di DM: Alberi di decisione ed algoritmi di classificazione

Tecniche di DM: Alberi di decisione ed algoritmi di classificazione Tecniche di DM: Alberi di decisione ed algoritmi di classificazione Vincenzo Antonio Manganaro vincenzomang@virgilio.it, www.statistica.too.it Indice 1 Concetti preliminari: struttura del dataset negli

Dettagli

Il concetto di correlazione

Il concetto di correlazione SESTA UNITA Il concetto di correlazione Fino a questo momento ci siamo interessati alle varie statistiche che ci consentono di descrivere la distribuzione dei punteggi di una data variabile e di collegare

Dettagli

Dai dati al modello teorico

Dai dati al modello teorico Dai dati al modello teorico Analisi descrittiva univariata in R 1 Un po di terminologia Popolazione: (insieme dei dispositivi che verranno messi in produzione) finito o infinito sul quale si desidera avere

Dettagli

Strumenti statistici per l analisi di dati genetici

Strumenti statistici per l analisi di dati genetici Strumenti statistici per l analisi di dati genetici Luca Tardella + Maria Brigida Ferraro 1 email: luca.tardella@uniroma1.it Lezione #1 Introduzione al software R al suo utilizzo per l implementazione

Dettagli

Riassunto 24 Parole chiave 24 Commenti e curiosità 25 Esercizi 27 Appendice

Riassunto 24 Parole chiave 24 Commenti e curiosità 25 Esercizi 27 Appendice cap 0 Romane - def_layout 1 12/06/12 07.51 Pagina V Prefazione xiii Capitolo 1 Nozioni introduttive 1 1.1 Introduzione 1 1.2 Cenni storici sullo sviluppo della Statistica 2 1.3 La Statistica nelle scienze

Dettagli

Matlab per applicazioni statistiche

Matlab per applicazioni statistiche Matlab per applicazioni statistiche Marco J. Lombardi 19 aprile 2005 1 Introduzione Il sistema Matlab è ormai uno standard per quanto riguarda le applicazioni ingegneristiche e scientifiche, ma non ha

Dettagli

Introduzione alla Business Intelligence

Introduzione alla Business Intelligence SOMMARIO 1. DEFINIZIONE DI BUSINESS INTELLIGENCE...3 2. FINALITA DELLA BUSINESS INTELLIGENCE...4 3. DESTINATARI DELLA BUSINESS INTELLIGENCE...5 4. GLOSSARIO...7 BIM 3.1 Introduzione alla Pag. 2/ 9 1.DEFINIZIONE

Dettagli

Corso di Psicometria Progredito

Corso di Psicometria Progredito Corso di Psicometria Progredito 2.1 Statistica descrittiva (Richiami) Prima Parte Gianmarco Altoè Dipartimento di Pedagogia, Psicologia e Filosofia Università di Cagliari, Anno Accademico 2013-2014 Sommario

Dettagli

Excel Terza parte. Excel 2003

Excel Terza parte. Excel 2003 Excel Terza parte Excel 2003 TABELLA PIVOT Selezioniamo tutti i dati (con le relative etichette) Dati Rapporto tabella pivot e grafico pivot Fine 2 La tabella pivot viene messa di default in una pagina

Dettagli

Data mining: classificazione DataBase and Data Mining Group of Politecnico di Torino

Data mining: classificazione DataBase and Data Mining Group of Politecnico di Torino DataBase and Data Mining Group of Database and data mining group, Database and data mining group, DataBase and Data Mining Group of DataBase and Data Mining Group of So dati insieme di classi oggetti etichettati

Dettagli

E.T.L. (Extract.Tansform.Load) IBM - ISeries 1/8

E.T.L. (Extract.Tansform.Load) IBM - ISeries 1/8 E.T.L. (Extract.Tansform.Load) IBM - ISeries Quick-EDD/ DR-DRm ETL 1/8 Sommario ETL... 3 I processi ETL (Extraction, Transformation and Loading - estrazione, trasformazione e caricamento)... 3 Cos è l

Dettagli

Appunti di Statistica Descrittiva

Appunti di Statistica Descrittiva Appunti di Statistica Descrittiva 30 dicembre 009 1 La tabella a doppia entrata Per studiare dei fenomeni con caratteristiche statistiche si utilizza l espediente della tabella a doppia entrata Per esempio

Dettagli

Feature Selection per la Classificazione

Feature Selection per la Classificazione 1 1 Dipartimento di Informatica e Sistemistica Sapienza Università di Roma Corso di Algoritmi di Classificazione e Reti Neurali 20/11/2009, Roma Outline Feature Selection per problemi di Classificazione

Dettagli

Brugnaro Luca Boscaro Gianni (2009) 1

Brugnaro Luca Boscaro Gianni (2009) 1 STATISTICA PER LE PROFESSIONI SANITARIE - LIVELLO BASE Brugnaro Luca Boscaro Gianni (2009) 1 Perché la statistica Prendere decisioni Bibliografia non soddisfacente Richieste nuove conoscenze Raccolta delle

Dettagli

Lezione 8. Data Mining

Lezione 8. Data Mining Lezione 8 Data Mining Che cos'è il data mining? Data mining (knowledge discovery from data) Estrazione di pattern interessanti (non banali, impliciti, prima sconosciuti e potenzialmente utili) da enormi

Dettagli

Indice Statistiche Univariate Statistiche Bivariate

Indice Statistiche Univariate Statistiche Bivariate Indice 1 Statistiche Univariate 1 1.1 Importazione di un file.data.............................. 1 1.2 Medie e variabilità................................... 6 1.3 Distribuzioni di frequenze...............................

Dettagli

Tecniche di riconoscimento statistico

Tecniche di riconoscimento statistico Tecniche di riconoscimento statistico Applicazioni alla lettura automatica di testi (OCR) Parte 8 Support Vector Machines Ennio Ottaviani On AIR srl ennio.ottaviani@onairweb.com http://www.onairweb.com/corsopr

Dettagli

Utilizzare in azienda le funzioni statistiche di Excel

Utilizzare in azienda le funzioni statistiche di Excel Utilizzare in azienda le funzioni statistiche di Excel Grazie a speciali comandi del foglio elettronico è possibile fare previsioni analizzando serie storiche di dati 1 Le tecniche di regressione - Teoria

Dettagli

Prof.ssa Paola Vicard

Prof.ssa Paola Vicard Questa nota consiste perlopiù nella traduzione da Descriptive statistics di J. Shalliker e C. Ricketts, 2000, University of Plymouth Consideriamo come esempio il data set contenuto nel foglio excel esercizio2_dati.xls.

Dettagli

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile Problemi connessi all utilizzo di un numero di bit limitato Abbiamo visto quali sono i vantaggi dell utilizzo della rappresentazione in complemento alla base: corrispondenza biunivoca fra rappresentazione

Dettagli

FACOLTA DI PSICOLOGIA Scienze della Mente TESINA DI INFORMATICA. Fossataro Carlotta Di Rienzo Ariana Basso Alessandra Marchetto Helena

FACOLTA DI PSICOLOGIA Scienze della Mente TESINA DI INFORMATICA. Fossataro Carlotta Di Rienzo Ariana Basso Alessandra Marchetto Helena FACOLTA DI PSICOLOGIA Scienze della Mente TESINA DI INFORMATICA Fossataro Carlotta Di Rienzo Ariana Basso Alessandra Marchetto Helena SPSS INDICE INTRODUZIONE...3 FINESTRE...4 EDITOR DEI DATI...4 OUTPUT...11

Dettagli

Introduzione al Data Mining Parte 1

Introduzione al Data Mining Parte 1 Introduzione al Data Mining Parte 1 Corso di Laurea Specialistica in Ingegneria Informatica II Facoltà di Ingegneria, sede di Cesena (a.a. 2009/2010) Prof. Gianluca Moro Dipartimento di Elettronica, Informatica

Dettagli

Università del Piemonte Orientale. Corsi di Laurea Triennale. Corso di Statistica e Biometria. Introduzione e Statistica descrittiva

Università del Piemonte Orientale. Corsi di Laurea Triennale. Corso di Statistica e Biometria. Introduzione e Statistica descrittiva Università del Piemonte Orientale Corsi di Laurea Triennale Corso di Statistica e Biometria Introduzione e Statistica descrittiva Corsi di Laurea Triennale Corso di Statistica e Biometria: Introduzione

Dettagli

Prof.ssa Paola Vicard

Prof.ssa Paola Vicard Questa nota consiste per la maggior parte nella traduzione (con alcune integrazioni) da Descriptive statistics di J. Shalliker e C. Ricketts, 2000, University of Plymouth Consideriamo come esempio il data

Dettagli

Sistemi Informativi Aziendali. Sistemi Informativi Aziendali

Sistemi Informativi Aziendali. Sistemi Informativi Aziendali DIPARTIMENTO DI INGEGNERIA INFORMATICA AUTOMATICA E GESTIONALE ANTONIO RUBERTI Cenni al Data Mining 1 Data Mining nasce prima del Data Warehouse collezione di tecniche derivanti da Intelligenza Artificiale,

Dettagli

Migrazione di HRD da un computer ad un altro

Migrazione di HRD da un computer ad un altro HRD : MIGRAZIONE DA UN VECCHIO PC A QUELLO NUOVO By Rick iw1awh Speso la situazione è la seguente : Ho passato diverso tempo a impostare HRD e a personalizzare i comandi verso la radio, le frequenze preferite,

Dettagli

MACHINE LEARNING e DATA MINING Introduzione. a.a.2015/16 Jessica Rosati jessica.rosati@poliba.it

MACHINE LEARNING e DATA MINING Introduzione. a.a.2015/16 Jessica Rosati jessica.rosati@poliba.it MACHINE LEARNING e DATA MINING Introduzione a.a.2015/16 Jessica Rosati jessica.rosati@poliba.it Apprendimento Automatico(i) Branca dell AI che si occupa di realizzare dispositivi artificiali capaci di

Dettagli

Statistica. L. Freddi. L. Freddi Statistica

Statistica. L. Freddi. L. Freddi Statistica Statistica L. Freddi Statistica La statistica è un insieme di metodi e tecniche per: raccogliere informazioni su un fenomeno sintetizzare l informazione (elaborare i dati) generalizzare i risultati ottenuti

Dettagli

Regressione non lineare con un modello neurale feedforward

Regressione non lineare con un modello neurale feedforward Reti Neurali Artificiali per lo studio del mercato Università degli studi di Brescia - Dipartimento di metodi quantitativi Marco Sandri (sandri.marco@gmail.com) Regressione non lineare con un modello neurale

Dettagli

IL COMPONENTE DATA MINING MODEL DEL PROGETTO

IL COMPONENTE DATA MINING MODEL DEL PROGETTO IL COMPONENTE DATA MINING MODEL DEL PROGETTO Relatore: prof. Anna Corazza Tutor Aziendale: dr. Massimo Brescia 1 PROGETTO DAME (DAta Mining& Exploration) Progettazione di web application per effettuare

Dettagli

Capitolo 9: PROPAGAZIONE DEGLI ERRORI

Capitolo 9: PROPAGAZIONE DEGLI ERRORI Capitolo 9: PROPAGAZIOE DEGLI ERRORI 9.1 Propagazione degli errori massimi ella maggior parte dei casi le grandezze fisiche vengono misurate per via indiretta. Il valore della grandezza viene cioè dedotto

Dettagli

Scheda n.5: variabili aleatorie e valori medi

Scheda n.5: variabili aleatorie e valori medi Scheda n.5: variabili aleatorie e valori medi October 26, 2008 1 Variabili aleatorie Per la definizione rigorosa di variabile aleatoria rimandiamo ai testi di probabilità; essa è non del tutto immediata

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 05 La rappresentazione dell informazione Carla Limongelli Ottobre 2011 http://www.dia.uniroma3.it/~java/fondinf/ La rappresentazione

Dettagli

EPG Metodologia della ricerca e Tecniche Multivariate dei dati. Dott.ssa Antonella Macchia E-mail: a.macchia@unich.it. www.psicometria.unich.

EPG Metodologia della ricerca e Tecniche Multivariate dei dati. Dott.ssa Antonella Macchia E-mail: a.macchia@unich.it. www.psicometria.unich. EPG Metodologia della ricerca e Tecniche Multivariate dei dati Dott.ssa Antonella Macchia E-mail: a.macchia@unich.it www.psicometria.unich.it GIORNI E ORARI LEZIONI Sabato 01-03-2014 h 08:00-12:00 Sabato

Dettagli

ANALISI DEI DATI PER IL MARKETING 2014

ANALISI DEI DATI PER IL MARKETING 2014 ANALISI DEI DATI PER IL MARKETING 2014 Marco Riani mriani@unipr.it http://www.riani.it LA CLASSIFICAZIONE CAP IX, pp.367-457 Problema generale della scienza (Linneo, ) Analisi discriminante Cluster Analysis

Dettagli

Statistica multivariata. Statistica multivariata. Analisi multivariata. Dati multivariati. x 11 x 21. x 12 x 22. x 1m x 2m. x nm. x n2.

Statistica multivariata. Statistica multivariata. Analisi multivariata. Dati multivariati. x 11 x 21. x 12 x 22. x 1m x 2m. x nm. x n2. Analisi multivariata Statistica multivariata Quando il numero delle variabili rilevate sullo stesso soggetto aumentano, il problema diventa gestirle tutte e capirne le relazioni. Cercare di capire le relazioni

Dettagli

Tecniche di riconoscimento statistico

Tecniche di riconoscimento statistico On AIR s.r.l. Tecniche di riconoscimento statistico Applicazioni alla lettura automatica di testi (OCR) Parte 1 - Introduzione generale Ennio Ottaviani On AIR srl ennio.ottaviani@onairweb.com http://www.onairweb.com/corsopr

Dettagli

Principal Component Analysis

Principal Component Analysis Principal Component Analysis Alessandro Rezzani Abstract L articolo descrive una delle tecniche di riduzione della dimensionalità del data set: il metodo dell analisi delle componenti principali (Principal

Dettagli

CATALOGO DEI CORSI DI FORMAZIONE

CATALOGO DEI CORSI DI FORMAZIONE CATALOGO DEI CORSI DI FORMAZIONE NextInt Training Center - formazione@nextint.it NextInt Via Nino Oxilia 22 20127 Milano (MI) Tel. +30 02 36572330/332 formazione@nextint.it www.nextint.it CHI SIAMO NextInt

Dettagli

FUNZIONALITÀ DI REPORTISTICA DEL PROGRAMMA Gestione Negozi Benetton

FUNZIONALITÀ DI REPORTISTICA DEL PROGRAMMA Gestione Negozi Benetton FUNZIONALITÀ DI REPORTISTICA DEL PROGRAMMA Gestione Negozi Benetton SOMMARIO CENNI GENERALI... 3 STAMPA ORDINI... 18 STAMPA PACKING LIST... 21 STAMPA SCONTRINI... 24 STAMPA ARTICOLI VENDUTI... 30 STAMPA

Dettagli

Per forma di una distribuzione si intende il modo secondo il quale si dispongono i valori di un carattere intorno alla rispettiva media.

Per forma di una distribuzione si intende il modo secondo il quale si dispongono i valori di un carattere intorno alla rispettiva media. FORMA DI UNA DISTRIBUZIONE Per forma di una distribuzione si intende il modo secondo il quale si dispongono i valori di un carattere intorno alla rispettiva media. Le prime informazioni sulla forma di

Dettagli

QUARTO INCONTRO LABORATORIO CORSO INDAGINI CAMPIONARIE. Laboratorio Stefania Porchia

QUARTO INCONTRO LABORATORIO CORSO INDAGINI CAMPIONARIE. Laboratorio Stefania Porchia QUARTO INCONTRO LABORATORIO CORSO INDAGINI CAMPIONARIE Laboratorio Stefania Porchia Incontri e argomenti trattati nel laboratorio 29 marzo 14.00 15.30 l indagine qualitativa come strategia di formulazione

Dettagli

Elementi di Statistica

Elementi di Statistica Elementi di Statistica Contenuti Contenuti di Statistica nel corso di Data Base Elementi di statistica descrittiva: media, moda, mediana, indici di dispersione Introduzione alle variabili casuali e alle

Dettagli

Introduzione al Data Mining

Introduzione al Data Mining Introduzione al Data Mining Sistemi informativi per le Decisioni Slide a cura di Prof. Claudio Sartori Evoluzione della tecnologia dell informazione (IT) (Han & Kamber, 2001) Percorso evolutivo iniziato

Dettagli

Introduzione alla Business Intelligence. E-mail: infobusiness@zucchetti.it

Introduzione alla Business Intelligence. E-mail: infobusiness@zucchetti.it Introduzione alla Business Intelligence E-mail: infobusiness@zucchetti.it Introduzione alla Business Intelligence Introduzione Definizione di Business Intelligence: insieme di processi per raccogliere

Dettagli

LA STATISTICA E IL CALCOLO DELLE PROBABILITÀ

LA STATISTICA E IL CALCOLO DELLE PROBABILITÀ LA STATISTICA E IL CALCOLO DELLE PROBABILITÀ Prof. Francesco Tottoli Versione 3 del 20 febbraio 2012 DEFINIZIONE È una scienza giovane e rappresenta uno strumento essenziale per la scoperta di leggi e

Dettagli

Regressione Lineare con un Singolo Regressore

Regressione Lineare con un Singolo Regressore Regressione Lineare con un Singolo Regressore Quali sono gli effetti dell introduzione di pene severe per gli automobilisti ubriachi? Quali sono gli effetti della riduzione della dimensione delle classi

Dettagli

Iniziativa Comunitaria Equal II Fase IT G2 CAM - 017 Futuro Remoto. Approfondimento SVILUPPO DI DATABASE

Iniziativa Comunitaria Equal II Fase IT G2 CAM - 017 Futuro Remoto. Approfondimento SVILUPPO DI DATABASE APPROFONDIMENTO ICT Iniziativa Comunitaria Equal II Fase IT G2 CAM - 017 Futuro Remoto Approfondimento SVILUPPO DI DATABASE ORGANISMO BILATERALE PER LA FORMAZIONE IN CAMPANIA SVILUPPO DI DATABASE INTRODUZIONE

Dettagli

ELEMENTI DI STATISTICA PER IDROLOGIA

ELEMENTI DI STATISTICA PER IDROLOGIA Carlo Gregoretti Corso di Idraulica ed Idrologia Elementi di statist. per Idrolog.-7//4 ELEMETI DI STATISTICA PER IDROLOGIA Introduzione Una variabile si dice casuale quando assume valori che dipendono

Dettagli

1 BREVE RIPASSO DEI TEST STATISTICI 2 I TEST STATISTICI NEI SOFTWARE ECONOMETRICI E IL P-VALUE 3 ESERCIZI DI ALLENAMENTO

1 BREVE RIPASSO DEI TEST STATISTICI 2 I TEST STATISTICI NEI SOFTWARE ECONOMETRICI E IL P-VALUE 3 ESERCIZI DI ALLENAMENTO I TEST STATISTICI E IL P-VALUE Obiettivo di questo Learning Object è ripassare la teoria ma soprattutto la pratica dei test statistici, con un attenzione particolare ai test che si usano in Econometria.

Dettagli

ANALISI DEI DATI PER IL MARKETING 2014

ANALISI DEI DATI PER IL MARKETING 2014 ANALISI DEI DATI PER IL MARKETING 2014 Marco Riani mriani@unipr.it http://www.riani.it TRATTAMENTI PRELIMINARI DEI DATI Pulizia dei dati (data cleaning) = processo capace di garantire, con una certa soglia

Dettagli

Mining Positive and Negative Association Rules:

Mining Positive and Negative Association Rules: Mining Positive and Negative Association Rules: An Approach for Confined Rules Alessandro Boca Alessandro Cislaghi Premesse Le regole di associazione positive considerano solo gli item coinvolti in una

Dettagli

SEGMENTAZIONE INNOVATIVA VS TRADIZIONALE

SEGMENTAZIONE INNOVATIVA VS TRADIZIONALE SEGMENTAZIONE INNOVATIVA VS TRADIZIONALE Arricchimento dei dati del sottoscrittore / user Approccio Tradizionale Raccolta dei dati personali tramite contratto (professione, dati sul nucleo familiare, livello

Dettagli

Da una a più variabili: derivate

Da una a più variabili: derivate Da una a più variabili: derivate ( ) 5 gennaio 2011 Scopo di questo articolo è di evidenziare le analogie e le differenze, relativamente al calcolo differenziale, fra le funzioni di una variabile reale

Dettagli

Data mining. Vincenzo D Elia. vincenzo.delia@polito.it. DBDMG - Politecnico di Torino

Data mining. Vincenzo D Elia. vincenzo.delia@polito.it. DBDMG - Politecnico di Torino Data mining Vincenzo D Elia vincenzo.delia@polito.it DBDMG - Politecnico di Torino vincenzo.delia@polito.it Archivi Multimediali e Data Mining - p. 1 Rapid Miner vincenzo.delia@polito.it Archivi Multimediali

Dettagli

1 Grafico di una funzione reale 1. 2 Funzioni elementari 2 2.1 Funzione potenza... 2 2.2 Funzione esponenziale... 3 2.3 Funzione logaritmica...

1 Grafico di una funzione reale 1. 2 Funzioni elementari 2 2.1 Funzione potenza... 2 2.2 Funzione esponenziale... 3 2.3 Funzione logaritmica... UNIVR Facoltà di Economia Sede di Vicenza Corso di Matematica Funzioni reali di variabile reale Indice Grafico di una funzione reale 2 Funzioni elementari 2 2. Funzione potenza................................................

Dettagli

IL FAI DA TE NEL SOFTWARE DIDATTICO

IL FAI DA TE NEL SOFTWARE DIDATTICO IL FAI DA TE NEL SOFTWARE DIDATTICO La realizzazione delle tastiere virtuali didattiche - 3 a parte Prosegue l articolo in cui l autore chiarisce che l individuazione o l impostazione della struttura logica

Dettagli

PROBABILITA, VALORE ATTESO E VARIANZA DELLE QUANTITÁ ALEATORIE E LORO RELAZIONE CON I DATI OSSERVATI

PROBABILITA, VALORE ATTESO E VARIANZA DELLE QUANTITÁ ALEATORIE E LORO RELAZIONE CON I DATI OSSERVATI statistica, Università Cattaneo-Liuc, AA 006-007, lezione del 08.05.07 IDICE (lezione 08.05.07 PROBABILITA, VALORE ATTESO E VARIAZA DELLE QUATITÁ ALEATORIE E LORO RELAZIOE CO I DATI OSSERVATI 3.1 Valore

Dettagli

Accuratezza di uno strumento

Accuratezza di uno strumento Accuratezza di uno strumento Come abbiamo già accennato la volta scora, il risultato della misurazione di una grandezza fisica, qualsiasi sia lo strumento utilizzato, non è mai un valore numerico X univocamente

Dettagli

STATISTICA DESCRITTIVA SCHEDA N. 5: REGRESSIONE LINEARE

STATISTICA DESCRITTIVA SCHEDA N. 5: REGRESSIONE LINEARE STATISTICA DESCRITTIVA SCHEDA N. : REGRESSIONE LINEARE Nella Scheda precedente abbiamo visto che il coefficiente di correlazione fra due variabili quantitative X e Y fornisce informazioni sull esistenza

Dettagli

GUIDA PER LA VALUTAZIONE E LA ESPRESSIONE DELL INCERTEZZA NELLE MISURAZIONI

GUIDA PER LA VALUTAZIONE E LA ESPRESSIONE DELL INCERTEZZA NELLE MISURAZIONI SISTEMA NAZIONALE PER L'ACCREDITAMENTO DI LABORATORI DT-000 GUIDA PER LA VALUTAZIONE E LA ESPRESSIONE DELL INCERTEZZA NELLE MISURAZIONI INDICE parte sezione pagina 1. INTRODUZIONE. FONDAMENTI.1. Misurando,

Dettagli

CIRCUITI INTELLIGENTI Parte 5: PCA e ICA

CIRCUITI INTELLIGENTI Parte 5: PCA e ICA Ing. Simone SCARDAPANE Circuiti e Algoritmi per l Elaborazione dei Segnali Anno Accademico 2012/2013 Indice della Lezione 1. Analisi delle Componenti Principali 2. Auto-Associatori 3. Analisi delle Componenti

Dettagli

Introduzione al KDD e al DATA MINING

Introduzione al KDD e al DATA MINING Introduzione al KDD e al DATA MINING Vincenzo Antonio Manganaro vincenzomang@virgilio.it, www.statistica.too.it Indice 1 Verso il DM: una breve analisi delle fasi del processo KDD. 1 2 Il DM: Alcune definizioni.

Dettagli

Approfondimento 5.2. Individuare gli outlier

Approfondimento 5.2. Individuare gli outlier Approfondimento 5.2 Individuare gli outlier Gli outlier sono quei valori che, rispetto agli altri del campione, risultano particolarmente estremi. Questo non significa che non siano punteggi validi, ma

Dettagli

Analizza/Confronta medie. ELEMENTI DI PSICOMETRIA Esercitazione n. 7-8-9-107. Test t. Test t. t-test test e confronto tra medie chi quadrato

Analizza/Confronta medie. ELEMENTI DI PSICOMETRIA Esercitazione n. 7-8-9-107. Test t. Test t. t-test test e confronto tra medie chi quadrato Analizza/Confronta medie ELEMENTI DI PSICOMETRIA Esercitazione n. 7-8-9-107 t-test test e confronto tra medie chi quadrato C.d.L. Comunicazione e Psicologia a.a. 2008/09 Medie Calcola medie e altre statistiche

Dettagli

Problemi di Programmazione Lineare Intera

Problemi di Programmazione Lineare Intera Capitolo 4 Problemi di Programmazione Lineare Intera La Programmazione Lineare Intera (PLI) tratta il problema della massimizzazione (minimizzazione) di una funzione di più variabili, soggetta a vincoli

Dettagli

Esercizi di Ricerca Operativa I

Esercizi di Ricerca Operativa I Esercizi di Ricerca Operativa I Dario Bauso, Raffaele Pesenti May 10, 2006 Domande Programmazione lineare intera 1. Gli algoritmi per la programmazione lineare continua possono essere usati per la soluzione

Dettagli

PeCo-Graph. Manuale per l utente

PeCo-Graph. Manuale per l utente PeCo-Graph Manuale per l utente 1. INTRODUZIONE...2 2. INSTALLAZIONE...3 2.1 REQUISITI...3 2.2 INSTALLAZIONE ED AVVIO...3 3. FUNZIONALITÀ ED UTILIZZO DEL PROGRAMMA...4 3.1 FUNZIONALITÀ...4 3.2 USO DEL

Dettagli

9. La distribuzione 2 e i test per dati su scala nominale

9. La distribuzione 2 e i test per dati su scala nominale 9. La distribuzione e i test per dati su scala nominale 9.1. La distribuzione 9. 1. 1. La statistica e la sua distribuzione In una popolazione distribuita normalmente con parametri e estraiamo un campione

Dettagli

Dott.ssa Caterina Gurrieri

Dott.ssa Caterina Gurrieri Dott.ssa Caterina Gurrieri Le relazioni tra caratteri Data una tabella a doppia entrata, grande importanza riveste il misurare se e in che misura le variabili in essa riportata sono in qualche modo

Dettagli

Data Mining: Applicazioni

Data Mining: Applicazioni Sistemi Informativi Universitá degli Studi di Milano Facoltá di Scienze Matematiche, Fisiche e Naturali Dipartimento di Tecnologie dell Informazione 1 Giugno 2007 Data Mining Perché il Data Mining Il Data

Dettagli

ELEMENTI DI STATISTICA DESCRITTIVA

ELEMENTI DI STATISTICA DESCRITTIVA Metodi Statistici e Probabilistici per l Ingegneria ELEMENTI DI STATISTICA DESCRITTIVA Corso di Laurea in Ingegneria Civile Facoltà di Ingegneria, Università di Padova Docente: Dott. L. Corain E-mail:

Dettagli

Strumenti per lo sviluppo del software

Strumenti per lo sviluppo del software Lo sviluppo del software Strumenti per lo sviluppo del software Lo sviluppo del software è l attività centrale del progetto e ha lo scopo di produrre il codice sorgente che, una volta compilato e messo

Dettagli

Statistica descrittiva: prime informazioni dai dati sperimentali

Statistica descrittiva: prime informazioni dai dati sperimentali SECONDO APPUNTAMENTO CON LA SPERIMENTAZIONE IN AGRICOLTURA Statistica descrittiva: prime informazioni dai dati sperimentali La statistica descrittiva rappresenta la base di partenza per le applicazioni

Dettagli