Knowledge Discovery e Data Mining



Documenti analoghi
Knowledge Discovery e Data Mining

Classificazione e Predizione

Sistemi Informativi Aziendali. Sistemi Informativi Aziendali

Introduzione alle tecniche di Data Mining. Prof. Giovanni Giuffrida

Data mining e rischi aziendali

Uno standard per il processo KDD

Data Warehousing (DW)

Ricerca di outlier. Ricerca di Anomalie/Outlier

Progettazione di Basi di Dati

Organizzazione degli archivi

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

PDF created with pdffactory trial version Il processo di KDD

SVM. Veronica Piccialli. Roma 11 gennaio Università degli Studi di Roma Tor Vergata 1 / 14

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

Introduzione al Data Mining

SISTEMI INFORMATIVI AZIENDALI

Regressione non lineare con un modello neurale feedforward

Università di Pisa A.A

Data Mining in SAP. Alessandro Ciaramella

Analisi dei requisiti e casi d uso

VC-dimension: Esempio

Data warehouse Introduzione

Pro e contro delle RNA

Tecniche di riconoscimento statistico

Distributed P2P Data Mining. Autore: Elia Gaglio (matricola n ) Corso di Sistemi Distribuiti Prof.ssa Simonetta Balsamo

MODELLO RELAZIONALE. Introduzione

DATABASE RELAZIONALI

SEGMENTAZIONE INNOVATIVA VS TRADIZIONALE

Lezione 1. Introduzione e Modellazione Concettuale

Introduzione all Information Retrieval

1. BASI DI DATI: GENERALITÀ

CAPITOLO 8 LA VERIFICA D IPOTESI. I FONDAMENTI

Basi di Dati Relazionali

Ciclo di vita dimensionale

La Metodologia adottata nel Corso

Database. Si ringrazia Marco Bertini per le slides

Informatica Generale Andrea Corradini Sistemi di Gestione delle Basi di Dati

Un po di statistica. Christian Ferrari. Laboratorio di Matematica

Progettaz. e sviluppo Data Base

Il database management system Access

Ottimizzazione delle interrogazioni (parte I)

Codifiche a lunghezza variabile

Data mining. Data Mining. processo di Data Mining estrarre automaticamente informazioneda un insieme di dati

ISTITUTO TECNICO ECONOMICO MOSSOTTI

I Sistemi Informativi

Suggerimenti per l approccio all analisi dei dati multivariati

Progettaz. e sviluppo Data Base

Regressione logistica. Strumenti quantitativi per la gestione

Marketing relazionale

Per capire meglio l ambito di applicazione di un DWhouse consideriamo la piramide di Anthony, L. Direzionale. L. Manageriale. L.

Segmentazione del mercato e scelta del target

1) Si consideri un esperimento che consiste nel lancio di 5 dadi. Lo spazio campionario:

Algoritmi e strutture dati. Codici di Huffman

PROVA FINALE V. AULETTA G. PERSIANO ALGORITMI II - -MAGIS INFO

Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati

Corso di Psicometria Progredito

Algoritmi di clustering

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

Altri metodi di indicizzazione

La Progettazione Concettuale

Esperienze di Apprendimento Automatico per il corso di Intelligenza Artificiale

Introduzione a data warehousing e OLAP

Database: collezione di fatti, registrabili e con un ben preciso significato, relazionati fra di loro

Librerie digitali. Video. Gestione di video. Caratteristiche dei video. Video. Metadati associati ai video. Metadati associati ai video

Page 1. Evoluzione. Intelligenza Artificiale. Algoritmi Genetici. Evoluzione. Evoluzione: nomenclatura. Corrispondenze natura-calcolo

Introduzione alla teoria dei database relazionali. Come progettare un database

Rassegna sui principi e sui sistemi di Data Warehousing

Stimare il WCET Metodo classico e applicazione di un algoritmo genetico

ANALISI DELLE FREQUENZE: IL TEST CHI 2

STRATEGIA DI TRADING. Turning Points

Piano di gestione della qualità

Sommario. Analysis & design delle applicazioni parallele. Misura delle prestazioni parallele. Tecniche di partizionamento.

Corso di Basi di Dati e Conoscenza

MASTER UNIVERSITARIO

Cosa è un foglio elettronico

Principi di analisi causale Lezione 2

Progetto ASTREA WP2: Sistema informativo per il monitoraggio del sistema giudiziario

Introduzione agli Algoritmi Genetici Prof. Beatrice Lazzerini

Conoscenza. Metodo scientifico

Lezione 8. Data Mining

Access. P a r t e p r i m a

Stefania Marrara - Esercitazioni di Tecnologie dei Sistemi Informativi. Integrazione di dati di sorgenti diverse

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Business Intelligence & Data Mining. In ambiente Retail

OSSERVAZIONI TEORICHE Lezione n. 4

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

I database relazionali (Access)

Regressione Mario Guarracino Data Mining a.a. 2010/2011

GESTIONE della BASE di DATI

Tecniche di DM: Alberi di decisione ed algoritmi di classificazione

Corso di. Dott.ssa Donatella Cocca

Mon Ami 3000 Varianti articolo Gestione di varianti articoli

PROGRAMMA SVOLTO NELLA SESSIONE N.

Elementi di Psicometria con Laboratorio di SPSS 1

Introduzione ad OLAP (On-Line Analytical Processing)

Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Ingegneria del Software A. A Class Discovery E.

Regressione logistica

La classificazione. Sommario. Intuizioni sul concetto di classificazione. Descrivete la propensione all acquisto acquisto dei clienti

Barriere assorbenti nelle catene di Markov e una loro applicazione al web

DBMS (Data Base Management System)

Transcript:

Sommario Knowledge Discovery e Data Mining Introduzione Motivazioni ed applicazioni Processo di Knowledge Discovery in DBs Fasi e caratteristiche Task di Data Mining Classificazione e regressione Scoperta di regole associative Clustering La classificazione Definizione del problema Misure di qualità Tecniche di classificazione Contesto e motivazioni La catena del valore dell informazione data explosion La disponibilità di tecnologie efficienti e poco costose favorisce l accumulo di enormi quantità di dati DBs e altri tipi di repository Electronic data gathering: Internet, Satellite, Bar-code reader, High perf. computers (PC-Cluster) e, in generale, cheaper & faster HW Esigenza: trarre vantaggio competitivo dai dati supportare i processi decisionali con nuova conoscenza inadeguatezza dei sistemi di analisi tradizionali: We are drowning in data, but starving for knowledge! Decisioni Promuovere il prodotto A nei negozi della regione Z Offrire dei servizi addizionali ai Conoscenza clienti di classe C Il prodotto P èusato per lo Progettare cataloghi di più da clienti giovani prodotti adatti ai vari profili di Chi acquista il prodotto P clienti tende ad acquistare Q I clienti possono essere suddivisi in classi omogenee (A,B,C, ) Informazioni La persona X vive nella città Z La persona S ha Y anni Dati Dati demografici: (Mario,Rossi,25/10/1960, ), (Luigi,Bianchi,, ) Dati geografici: Rende, Cosenza, Lombardia, Punti di vendita

Business Intelligence: Data Warehouse e Data Mining Business Intelligence Data Warehouse (DW) Archivio progettato in modo specifico per l analisi Dotato di strumenti efficienti e intuitivi per consultare, interrogare e visualizzare le informazioni Data Warehousing: processo di costruzione/popolamento di un DW Increasing potential to support business decisions Making Decisions Knowledge Presentation Visualization Techniques Data Mining Knowledge Discovery Manager Business Analyst Data Analyst Data Mining (DM) Estrazione automatica ed efficiente di pattern ( pepite di conoscenza) da grosse collezioni di dati Pattern: regolarità o proprietà valide nei dati di input Data Exploration Statistical Analysis, Querying and Reporting Data Warehouses / Data Marts OLAP, MDA Data Sources Paper, Files, Information Providers, Database Systems, OLTP DBA Un po di storia Principali aree di applicazione Data collection (1960 s, e prima): - primitive file processing Advanced DB Systems (1980 s- ): - nuovi tipi di dati e data model avanzati - dati semi-strutturati, testuali, multimediali - extended-relational, OO, deductive, - application-oriented DBMS (GIS, scientific, engineering, ) - apertura verso le reti e il Web Database management systems (1970 s): - network and relational database systems - data modeling tools, query languages - optimization methods Data Warehouse & Data Mining (1990 s- ) - data mining usato dal 1983, con accezione negativa, nella comunità statistica - KDD workshop iniziato nel 1989 - Padri fondatori : Fayyad, Piatetsky- Shapiro, Agrawal Marketing: product targeting, cross selling, segmentazione della clientela, CRM e Customer Retention,... Finanza: supporto agli investimenti, gestione di portafoglio, scoperta frodi Banche/Assicurazioni: concessione di prestiti, apertura di polizze curezza: scoperta di intrusioni, controllo degli accessi New-generation Intelligent Information Systems

Principali aree di applicazione Scienze: progettazione di farmaci, studio di fattori genetici, scoperta di galassie e astri Medicina: supporto a diagnosi/prognosi, valutazione cure, scoperta di relazioni fra malattie Produzione: modellazione dei processi, controllo di qualità, allocazione delle risorse Web: smart search engine, web marketing, web site design (Sommario) Introduzione Motivazioni ed applicazioni Processo di Knowledge Discovery in DBs Fasi e caratteristiche Task di Data Mining Classificazione e regressione Scoperta di regole associative Clustering La classificazione Definizione del problema Misure di qualità Tecniche di classificazione Estrazione della conoscenza: il processo di KDD Knowledge Discovery in Databases (KDD) Scoperta di conoscenza nelle basi di dati utile per comprendere/modellare i fenomeni del mondo reale corrispondenti ai dati Processo non banale (semi-automatico) di estrazione di pattern validi nuovi potenzialmente utili comprensibili INTERESSANTI Il processo di KDD Integrazione e Consolidamento Sorgenti Selezione e Pre-elaborazione Dati Consolidati Data Mining Dati trasformati Interpretazione e Valutazione p(x)=0.02 Pattern e/o Modelli Conoscenza

p(x)=0.02 Cogva Technologies Processo di KDD: ciclo virtuoso della conoscenza Architettura di un sistema KDD The KDD Process Interpretation and Evaluation 9 Problema Data Mining Selection and Preprocessing Data Patterns & Consolidation Models Warehouse Prepared Data Knowledge conoscenza Graphical User Interface Consolidated Data Data Sources Identifica problema/ opportunità Agisci sulla base della conoscenza Data Consolidation Selection and Preprocessing Data Mining Interpretation and Evaluation Strategia Misura effetti delle azioni risultati Data Sources Warehouse Knowledge Consolidamento dei Dati Garbage in Garbage out La qualità dei risultati dipende dalla qualità dei dati Il 50%-70% degli sforzi sul processo di KDD viene speso nella preparazione e il consolidamento dei dati Operazioni: Determinazione un insieme preliminare di attributi Integrazione di dati da sorgenti interne ed esterne Eliminazione e/o stima dei valori nulli Rimozione di outlier (eccezioni ovvie, picchi) Consolidamento dei Dati Da sorgenti eterogenee a un data warehouse RDBMS Legacy DBMS Flat Files External Data Consolidation and Cleaning Warehouse Object/Relation DBMS Multidimensional DBMS Deductive Database Flat files

Data Warehouse nel KDD Il processo di KDD Interpretazione e Valutazione Selezione e Pre-elaborazione Data Mining Integrazione e Consolidamento Data Warehouse Dati trasformati Sorgenti Dati Consolidati Interpretazione e Valutazione p(x)=0.02 Pattern e/o Modelli Conoscenza Integrazione e Consolidamento Sorgenti Selezione e Pre-elaborazione Dati Consolidati Data Mining Dati trasformati p(x)=0.02 Pattern e/o Modelli Conoscenza Selezione & Preprocessing Il Processo di KDD Generazione di un insieme di esempi scelta del metodo di sampling analisi della complessità del campione Riduzione delle dimensioni degli attributi rimozione di attributi ridondanti e/o correlati combinazione di attributi (somma, prodotto, differenza) Riduzione dei range di valori di attributi raggruppamento di valori simbolici o discreti discretizzazione dei valori continui Integrazione e Consolidamento Sorgenti Selezione e Pre-elaborazione Dati Consolidati Data Mining Dati trasformati Interpretazione e Valutazione p(x)=0.02 Pattern e/o Modelli Conoscenza

Data Mining Altri nomi: Data dredging, Data harvesting, Data archeology Un settore interdisciplinare: Data Mining: un approccio induttivo di analisi Tecniche deduttive ( Verification Verification--Driven ) Driven Toppassiva, atta a verificare se un certo modello Top-Down: Down: analisi passiva (ipotesi) è coerente con i dati a disposizione L ipotesi o il modello sono formulati dall utente sulla base della sua esperienza Strumenti: verifica di ipotesi (statistica), query language Tecniche induttive ( Discovery Discovery--Driven ) Driven Bottomattiva, in cui i dati stessi suggeriscono Bottom-Up: Up: analisi attiva possibili ipotesi sul significato del loro contenuto Individuazione di fatti, relazioni, tendenze, pattern, associazioni, eccezioni e anomalie, che sfuggono all analisi manuale Tuttavia molta enfasi è posta su: Applicazione a varie tipologie di dati Algoritmi efficienti e scalabili Uso di strutture di memorizzazione e di accesso Approccio deduttivo Query & Reporting Foglio Elettronico Analisi multidimensionale Analisi statistica Approccio induttivo (Data Mining) Riconoscimento di Forme Intelligenza Artificiale Visualizzazione Raccolta dei dati Generazione di una ipotesi Formulazione di una domanda Interpretazione dei risultati e revisione dell ipotesi... finchè non emerge un pattern interessante Conoscenza del dominio Apprendimento automatico simbolico Reti neurali Algoritmi Genetici Reti Bayesiane Apprendimento Dati Storici Modello Nuovi Dati

Categorie di algoritmi di Data Mining Formato dei dati DB relazionali, Transactional DBs, Time-series DB Object-oriented, Spaziali o Multimediali Flat file, Documenti testuali o ipertestuali Tipi di pattern estratti classificazione, clustering, associazioni, deviazioni, Pattern ibridi, o a livelli multipli di aggregazione Tecniche usate Database-oriented, modelli probabilistici, visualizzazione, reti neurali, alberi di decisione, programmi logici,.. Contesto applicativo DNA mining, Web mining, Weblog analysis, fraud analysis, Task/funzionalit funzionalità di Data Mining Predizione Classificazione Regressione Clustering Link Analysis Scoperta di Regole Associative Analisi di sequenze e di time-series Summarization Deviation Detection milarity matching (Sommario) Introduzione Motivazioni ed applicazioni Processo di Knowledge Discovery in DBs Fasi e caratteristiche Task di Data Mining Classificazione e regressione Scoperta di regole associative Clustering La classificazione Definizione del problema Misure di qualità Tecniche di classificazione Predizione: classificazione e regressione Obiettivo: indurre un modello in grado di prevedere il valore di un attributo target in base agli altri attributi Classificazione:il target assume valori discreti Tecniche: Alberi di decisione, Regole di classificazione, Classificazione Bayesiana, K-nearest neighbors, Case-based reasoning, Genetic algorithms, Rough sets, Fuzzy logic, Association-based classification, Regressione: il target assume valori continui Tecniche: Alberi di regressione, Reti neurali, regressione lineare e multipla, regressione non-lineare, regressione logistica e di Poisson, regressione log-lineare

Classificazione e apprendimento induttivo Framework di base per l Apprendimento Induttivo: Ambiente Testing Examples Esempio (classificazione) Problema: indurre un modello che separi le classi di forme (POS) e (NEG) : Attributi Color = {Red, Blue, Green, White} Shaded = {Yes, } Shape = {Square, Triangle, Circle, Oval} ze = {Small, Large} Esempi (training set): Training Examples stema di Apprendimento Modello Indotto (POS) a b c d e f g h i (x, f(x)) h(x) = ~ f(x)? Un problema di rappresentazione e ricerca della migliore ipotesi, h(x). Output Classification (x, h(x)) (NEG) m n p q r s t Esempio: modello indotto (albero di decisione ) { b,g} { m,t} {e} Triangle Blue { d,e,f,h} { n,q} Square Red Shape Oval Color Green { c } { p,r,s } {a-i} { m-t} Circle White {f} {d,h} { n} + ze + - { q} Large Small {f} { q} Shaded + { a,i } Nuovi Esempi e 1 : - Regole di decisione Regole espresse in forma logica: (Calcolo Proposizionale o Calcolo dei Predicati) (forma = quadrato or triangolo) and (dimensione = piccolo) => POS (forma = triangolo) and (tratteggiato = SI) => NEG POS NEG Classificazione POS, NEG Yes {f} + - { q} e 2 : + e 1 e 2 e 3

Clustering Clustering Clustering: Partizionamento dei dati in un insieme di classi non note a-priori (cluster) Qualità della partizione: Alta omogeneità intra-classe Bassa omogeneità inter-classe In genere si basa su una misura di similarità/distanza Esempi di applicazione: Customer segmentation compressione dei dati suddivisione di corpora di documenti Clustering: algoritmi Partizionali distance-based: K-means Gerarchici Agglomerativi o divisivi single link o complete link Model-Based Approcci Statistici Neural network Altri metodi: Density-Based Grid-Based Clustering: algoritmo K-means Input: Dati = tuple con attributi numerici (esistono varianti per dati categorici) numero K di cluster desiderati Criterio: minimizzare la somma dei quadrati delle distanze di ogni punto dal centro del suo cluster Algoritmo: Fissa una partizione iniziale (random) in K cluster Ripeti fino a che non si abbia nessuna variazione: Assegna ogni punto al centro più vicino Genera i nuovi centri

Clustering: K-Means Clustering Gerarchico Esempio 10 9 8 7 6 5 4 10 9 8 7 6 5 4 Raggruppano/Separano I dati sulla base di una matrice di distanze (o similarità) La distanza fra due cluster è calcolata in funzione delle distanze fra le istanze che rispettivamente contengono 3 3 2 1 0 0 1 2 3 4 5 6 7 8 9 10 10 9 8 7 6 5 4 3 2 1 0 10 0 1 2 3 4 5 6 7 8 9 2 1 0 0 1 2 3 4 5 6 7 8 9 10 10 9 8 7 6 5 4 3 2 1 0 0 1 2 3 4 5 6 7 8 9 10 Step 0 Step 1 Step 2 Step 3 Step 4 a a b b a b c d e c c d e d d e e Step 4 Step 3 Step 2 Step 1 Step 0 agglomerativo (AGNES) divisivo (DIANA) Regole associative Scoperta di Regole Associative Task di natura esplorativa: scoperta di associazioni tra fatti, proprietà o valori di variabili ( link analysis ) Dati: insieme di transazioni es. carrello della spesa di un cliente ogni transazione é un insieme di item (itemset) es.: prodotti nel carrello Obiettivo: trovare tutte le regole che correlano la presenza di un insieme di item con un altro insieme di item Es.: 98% delle persone che comprano {pannolini, cibo per bebè} comprano anche {birra}.

Regole associative: qualità delle regole L utente specifica soglie minime che le regole estratte devono essere superare, per alcune misure di qualità (interestingness) Supporto (indice di significatività) 1 & 2 => 3 ha confidenza 5% se si applica nel 5% dei casi Confidenza (indice di validità) 1 & 2 => 3 ha confidenza 90% se quando viene acquistato 1 e 2, nel 90% dei casi viene acquistato anche 3. può essere sviante: non implica causalità, non riconosce correlazioni negative né indipendenza Altre misure: Misura di correlazione (es.: lift, Interest) Soggettive: cercano di catturare novità e utilità delle regole Regole Associative: Esempio Transaction ID Purchased Items 1 {1, 2, 3} 2 {1, 4} 3 {1, 3} 4 {2, 5, 6} Per un supporto minimo del 50%, e confidenza minima del 50%, troviamo le seguenti regole 1 => 3 con 50% supporto e 66% confidenza 3 => 1 con 50% supporto e 100% confidenza Regole associative: ricerca Algoritmo Apriori: Principio: ogni sottoinsieme di un itemset frequente è frequente Fase 1: Trova tutti gli itemset che hanno un supporto minimo usa (k 1)-itemset frequenti per generare k-itemset candidati database scan and pattern matching per verificare frequenza Fase2: Genera le regole a partire dagli itemset frequenti trovati La fase1 è costosa: spazio di ricerca enorme! Miglioramenti: Ottimizzare la ricerca degli itemset frequenti Campionamento, Dynamic itemset counting (aggiunge un nuovo candidato solo quando tutti i suoi sottoinsiemi sono stimati come frequenti), Hash-based itemset counting, Transaction reduction Evitare di generare tutti itemset candidati (es, algoritmo FP-tree) Il Processo di KDD Integrazione e Consolidamento Sorgenti Selezione e Pre-elaborazione Dati Consolidati Data Mining Dati trasformati Interpretazione e Valutazione p(x)=0.02 Pattern e/o Modelli Conoscenza

Interpretazione e valutazione Interpretazione Alberi e regole logiche possono essere interpretati facilmente Risultati di clustering possono essere graficati/tabellati In generale, tool di visualizzazione possono essere molto utili per interpretare i risultati Valutazione Validazione statistica e test di significanza Analisi qualitativa da parte di esperti del dominio Test del modello su casi di esempio per valutarne la bontà (es., accuratezza) Sono tutti interessanti i pattern scoperti? Un sistema di mining può generare migliaia di pattern Pattern interessanti: Facilmente comprensibili Validi su nuovi dati di test con un certo grado di certezza Potenzialmente utili per processi decisionali Nuovi o confermano ipotesi che si cercava di validare Misure Oggettive vs. Soggettive Oggettive: basate su statistiche e struttura dei pattern (e.g., supporto, confidenza, lunghezza della descrizione, etc.) Soggettive: basate su conoscenza pregressa e aspettative degli utenti (e.g., novità, etc.) Completezza/Precisione di un processo di data mining Completezza: Trova tutti i pattern interessanti E possibile in un tempo ragionevole? Correttezza: Trova solo pattern interessanti E possibile non commettere errori e trovare solo pattern interessanti? Possibili approcci: generano tutti i pattern che potrebbero essere interessanti e poi si eliminano quelli che non lo sono Generare solo pattern interessanti (è possibile perdere in completezza) (Sommario) Introduzione Motivazioni ed applicazioni Processo di Knowledge Discovery in DBs Fasi e caratteristiche Task di Data Mining Classificazione e regressione Scoperta di regole associative Clustering La classificazione Definizione del problema Misure di qualità Tecniche di classificazione

Intuizioni sul concetto di classificazione Descrivete i vostri clienti migliori in base ad età ed al numero di visite nell ultimo periodo! 35 Molti_Acquisti Pochi_Acquisti 30 25 Visite 20 15 10 5 0 20 25 30 35 40 45 50 Eta' ora provate a prevedere Una possibile soluzione la tipologia di due nuovi clienti, in base a età e numero visite 35 Molti_Acquisti Pochi_Acquisti Nuovi 30 25 Visite 20 15 10 5 0 20 25 30 35 40 45 50 Eta'

rappresentata graficamente Visite 35 30 25 20 15 10 5 Età <= 26 Età >= 38 Molti_Acquisti Pochi_Acquisti Nuovi Visite > 20 0 20 25 30 35 40 45 50 Eta' Il processo seguito Individuazione di una caratteristica interessante dei clienti: attributo classe Numero di acquisti (fare molti acquisti o pochi acquisti) Individuazione di altri attributi meno interessanti, ma che possono influenzare la classe Età, Numero di visite Raccolta di dati storici di cui si conoscono TUTTI gli attributi: training set 19 clienti di cui si conoscono TUTTI gli attributi Induzione di un modello di CLASSIFICAZIONE a partire dai dati storici: descrive la dipendenza della classe dagli altri attributi tale descrizione cerca di essere accurata, concisa, informativa CLASSIFICAZIONE: uso del modello per prevedere il valore della classe per un nuovo caso (cliente) Classificazione e predizione: input Un insieme di esempi (dette istanze o casi) che descrivono un concetto (detto classe) sulla base di attributi (detti anche features) outlook temperature humidity windy classe sunny 85 85 false Don't Play sunny 80 90 true Don't Play overcast 83 78 false Play rain 70 96 false Play rain 68 80 false Play rain 65 70 true Don't Play overcast 64 65 true Play sunny 72 95 false Don't Play sunny 69 70 false Play rain 75 80 false Play sunny 75 70 true Play overcast 72 90 true Play overcast 81 75 false Play rain 71 80 true Don't Play Classificazione e predizione: input La classe e gli attributi possono assume valori : continui (es. numeri reali) Due valori sono confrontabili ed esiste una nozione di distanza Esempi: età, reddito, costo, temperatura, ecc. ordinali (elementi di insiemi finiti ed ordinati) Due valori sono confrontabili, ma non esiste una distanza Esempi: { freddo, tiepido, caldo }, {insufficiente, buono, ottimo } discreti (elementi di insiemi finiti e non ordinati) Due valori non sono tra loro confrontabili Esempi: { nuvoloso, soleggiato, ventoso }, { alimentari, elettrodom., abbigliamento } Discretizzazione: trasformazione di valori continui in ordinali o discreti

Classificazione e predizione A partire dagli esempi viene costruito un modello in grado di descrivere il valore della classe in base a quello degli altri attributi Quando la classe assume valori discreti, si parla di classificazione: Alberi di decisione, Regole di classificazione, Classificazione Bayesiana, K-nearest neighbors, Case-based reasoning, Genetic algorithms, Rough sets, Fuzzy logic, Association-based classification Quando la classe assume valori continui, si parla di predizione numerica Alberi di regressione, Reti neurali, regressione lineare e multipla, regressione non-lineare, regressione logistica e di Poisson, regressione log-lineare Classificazione come apprendimento induttivo Classificazione - Definizioni La classificazione è un processo di apprendimento supervisionato le classi sono note a priori e si dispone di esempi già classificati Ipotesi dell apprendimento induttivo: << Se un modello, indotto da un insieme di esempi abbastanza rappresentativo, ne riconosce le classi in modo accurato, sarà accurato anche nel riconoscere la classe degli altri oggetti del dominio >> Denominazioni alternative (più appropriate) per il processo di classificazione: Apprendimento di Concetti (classi) Induzione di Classificatori stemi di apprendimento induttivo Framework di base per l Apprendimento Induttivo Training set (x, f(x)) Ambiente stema di Apprendimento h(x) = ~ f(x)? Un problema di rappresentazione e ricerca della migliore ipotesi, h(x). Test set Modello Indotto Predizione su un nuovo caso (q, h(q))

Valutazione di un modello di classificazione (classificatore) Capacità descrittiva: comprensibilità della conoscenza rappresentata dal modello numero di nodi dell albero di decisione, numero di regole, Capacità predittiva: capacità di classificare correttamente oggetti del dominio accuratezza: numero di oggetti classificati correttamente sul numero totale di oggetti classificati errore di classificazione: 1 accuratezza L accuratezza teorica (sul dominio) può essere stimata: su un test-set (indipendente dal training set), cioè un insieme di oggetti del dominio di cui è nota la classe sullo stesso training set, inducendo vari modelli su campioni di esso: Cross-Validation Errore e di Classificazione x = attributi di input c = classe effettiva h = ipotesi (modello) - - Where c and h disagree Example Space X(x,c(x)) c + h + - Il true error di una ipotesi h è la probabilità che h classificherà male una istanza selezionata a caso da X, err(h) = P[c(x) h(x)] - Accuratezza del modello di classificazione Cerchiamo una misura della bontà di un modello accuratezza percentuale di esempi la cui classe predetta coincide con la classe reale % di misclassificazione percentuale di esempi la cui classe predetta NON coincide con la classe reale di quali esempi? Di esempi di cui si conosce la classe reale! L accuratezza sugli esempi del training set è ottimistica È facile costruire un modello accurato al 100% sul training set Accuratezza: metodo holdout Test set insieme di esempi indipendenti dal training set di ciascun esempio si conoscono gli attributi e la classe reale Metodo holdout valutare l accuratezza del modello sul test set dato un insieme di esempi lo si divide (casualmente) in una percentuale per il training ed una per il test set (in genere 2/3 per il training e 1/3 per il test set)

Accuratezza: stratified cross-validation validation Metodo stratified n-fold cross-validation dividono gli esempi in n insiemi S1,, Sn delle stesse dimensioni e con stessa distribuzione delle classi Per ciascuno insieme costruisce un classificatore sugli altri n-1 insiemi usa l insieme come insieme di test del classificatore L accuratezza finale è data dalla media delle accuratezze degli n classificatori Metodo standard: n = 10, stratified 10-fold cross validation Accuratezza: limiti inferiori Accuratezza di un classificatore casuale classificatore che in modo casuale classifica in una delle k possibili classi accuratezza = 1 / k * 100 esempio: per k = 2 l accuratezza è del 50% Qualsiasi classificatore deve fare almeno meglio del classificatore casuale! Accuratezza di un classificatore a maggioranza classificatore che classifica sempre come la classe di maggioranza nel training set (supponendo la stessa percentuale nella popolazione) accuratezza >= 1 / k * 100 esempio: con due classi rappresentate al 98% e al 2% nel training set, l accuratezza è del 98% Matrice di confusione Name Gender Height Output1 Actual Output2 Pred. Kristina F 1.6m Short Medium Jim M 2m Tall Medium Maggie F 1.9m Medium Tall Martha F 1.88m Medium Tall Stephanie F 1.7m Short Medium Bob M 1.85m Medium Medium Kathy F 1.6m Short Medium Dave M 1.7m Short Medium Worth M 2.2m Tall Tall Steven M 2.1m Tall Tall Debbie F 1.8m Medium Medium Todd M 1.95m Medium Medium Kim F 1.9m Medium Tall Amy F 1.8m Medium Medium Wynette F 1.75m Medium Medium Confusion matrix: colonne: classi predette righe: classi effettive cella (i,j): istanze della classe i che il modello assegna alla classe j Le predizioni corrette sono sulla diagonale Fuori dalla diagonale: predizioni sbagliate (misclassifications) Actual Assignment Membership Short Medium Tall Short 0 4 0 Medium 0 5 3 Tall 0 1 2 Accuratezza rispetto ad d una data classe Il modello riconosce la classe C (e.g., play)? True Positives (TP): istanze di C assegnate a C True Negatives (TN): istanze di altre classi non assegnate a C False Positives (FP): istanze di altre classi assegnate a C (errore!) False Negatives (FN): istanze di C assegnate ad un altra classe (errore!) Precisione: TP/(TP+FP) True Positive % di istanze assegnate a C che effettivamente appartengono a C (correctness measure) False Positive Recall: TP/(TP+FN) % di istanze di C che sono assegnate a C (completeness measure) F-measure: (2*recall*precision) / (recall+precision) Actual Assignment Membership Short Medium Tall Short 0 4 0 (FP) Medium 0 5 3 (FP) Tall 0 (FN) 1 (FN) 2 (TP) False Negative True Negative

Tecniche di classificazione Classificazione Tipi di modelli Vari tipi di modelli di classificazione Differiscono per il formalismo utilizzato per rappresentare la funzione di classificazione (Linguaggio delle ipotesi) Alcuni tipi di modelli (classificatori): Basati sugli esempi (es. Nearest neighbor) memorizzano tutti gli esempi del training set ed assegnano la classe ad un oggetto valutando la somiglianza con gli esempi memorizzati (la cui classe è nota) Matematici (es. Reti Neurali Artificiali, SVM) la funzione di classificazione è una funzione matematica, di cui si memorizzano i vari parametri Classificazione Tipi di modelli alcuni tipi di modelli (classificatori): Algoritmi di induzione di alberi di decisione Statistici memorizzano i parametri delle varie distribuzioni di probabilità relative alle classi ed agli attributi per classificare un generico oggetto si possono stimare le probabilità di appartenenza alle varie classi es.: Naive Bayes Logici la funzione di classificazione è espressa mediante condizioni logiche sui valori degli attributi es.: Alberi e Regole di Decisione

Classificazione: Un esempio Classificazione: Un esempio Dominio: possibili giornate,descritte dai 4 attributi (Tempo, Temperatura, Umidità, Vento) 2 classi: = {giornate in cui è opportuno giocare} = {giornate in cui non è opportuno giocare} vuole indurre un modello di classificazione Per prevedere se in una generica giornata si può giocare o no in base ai valori degli attributi training set: 14 giornate di cui è nota la classe Tempo Temper.(.( F) Umidità Vento Soleggiato 85 85 Soleggiato 80 90 Nuvoloso 83 78 Piovoso 70 96 Piovoso 68 80 Piovoso 65 70 Nuvoloso 64 65 Soleggiato 72 95 Soleggiato 69 70 Piovoso 75 80 Soleggiato 75 70 Nuvoloso 72 90 Nuvoloso 81 75 Piovoso 71 80 Classe n si gioca n si gioca n si gioca n si gioca n si gioca Alberi di decisione Alberi di decisione soleggiato tempo nuvoloso piovoso umidità vento <=75 >75 sì no n si gioca n si gioca SE (Tempo=piovoso E Vento=no) ALLORA (Classe= Gioca) ogni nodo interno n è associato ad un attributo A(n) ogni arco uscente dal nodo n è associato ad un insieme di valori di A ogni foglia è etichettata con il valore atteso della classe per gli oggetti descritti dal cammino che collega la foglia alla radice Un albero di decisione equivale ad un insieme di regole logiche mutuamente esclusive (una( regola per ogni foglia) Predizione : applicazione della funzione di classificazione ad un nuovo oggetto Es.: l albero assegna la classe Gioca alla giornata G (Tempo=Piovoso,Temperatura=79,Umidità=85, Vento=no) umidità tempo soleggiato nuvoloso piovoso vento <=75 >75 sì no n si gioca n si gioca giornata G Tempo = Piovoso Temperatura = 79 Umidità = 85 Vento = no

Algoritmi di induzione di alberi di decisione: storia Algoritmi sviluppati indipendentemente negli anni 60 e 70 da ricercatori di: Statistica: L. Breiman & J. Friedman - CART (Classification and Regression Trees) Pattern Recognition: Univ. Michigan - AID G.V. Kass - CHAID (Chi-squared Automated Interaction Detection) Intelligenza Artificiale e Teoria dell Informazione: R. Quinlan - ID3 (Iterative Dichotomizer) R. Quinlan - C4.5 Indurre un albero di decisione Dati: Un insieme di esempi con classi negative e positive Problema: Generare un modello ad albero di decisione per classificare un insieme separato di esempi con un errore minimale Approccio: (Occam s Razor) produrre il modello più semplice che sia consistente con gli esempi di training Formalmente: Trovare l albero più semplice in assoluto è un problema intrattabile Come produrre un albero ottimale? Strategia (euristica): sviluppa l albero in maniera top-down piazza la variabile di test più importante alla radice di ogni sottoalbero successivo La variabile più importante: La variabile che ha la maggiore attendibilità nel distinguere l insieme degli esempi di training la variabile che ha la relazione più significativa con l attributo target alla quale il risultato sia dipendente più che per le altre (o meno indipendente) Schema per l induzione l di alberi (usato, e.g., in ID3 e J48) Costruzione top-down dell albero, per partizionamenti successivi: 1. Crea il nodo radice e assegnagli tutto il training-set 2. Per il nodo corrente: se tutti gli esempi del nodo corrente hanno la stessa classe C, etichetta tale nodo (foglia) con C e stop per ogni possibile test di partizionamento (test di splitting) valuta una misura di rilevanza (indice di splitting) sui gruppi ottenuti partizionando l insieme di esempi del nodo sulla base del test associa al nodo l attributo che massimizza l indice di splitting per ogni valore del test di splitting crea un nodo figlio etichetta l arco corrispondente con la condizione di split ed assegna al nodo figlio gli esempi che verificano tale condizione 3. Per ogni nuovo nodo creato ripeti il passo 2