Analisi di un dataset di perizie assicurative

Slides:



Advertisements
Presentazioni simili
Programmazione ad oggetti
Advertisements

La Matematica tra Gioco e Realtà
Stima di una funzione di domanda di moneta (2)
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Sistemi di Classificazione usando NCD
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità E1 Dallanalisi del problema alla definizione dellalgoritmo.
Array multidimensionali
Structured Query Language (SQL) Presentazione 13.1 Informatica Generale (Prof. Luca A. Ludovico)
Time Sharing Il termine “Time Sharing” proviene dall'inglese e significa letteralmente “partizione di tempo”. Questa è una tecnica sviluppatasi negli.
Sistemi di supporto alle decisioni 2. Features space
CLUSTER ANALYSIS Insieme di tecniche con l’obiettivo di unire le unità di un insieme statistico in un numero finito di classi o gruppi i quali devono.
Capitolo 4 Ordinamento Algoritmi e Strutture Dati.
Sesta lezione: Elaborare i dati geografici Tecniche di analisi Selezioni geografiche Sovrapposizioni Generazione di aree di rispetto.
Bologna, gg/mese/anno Esempio di: Presentazione dellesercizio sugli indicatori Il candidato deve inserire qui le proprie generalità Nome ………………. Cognome.
Apprendimento Automatico: Valutazione delle Prestazioni
Importazione di dati Nellambito dellutilizzo di qualsiasi software statistico una necessità è quella di importare dati esterni forniti dallutilizzatore.
“Riconoscimento di Facce”
Waikato Environment for Knowledge Analysis
Access: Query semplici
Analisi delle corrispondenze
Corso di Laurea in Ingegneria per lAmbiente e il Territorio Informatica per lAmbiente e il Territorio Docente: Giandomenico Spezzano Tutor: Alfredo Cuzzocrea.
Estensioni: Regole di classificazione
e per generare Bibliografie
Manipolazione dei dati
Ll Questionario Introduzione al software SAS (Parte 2) Metodi Quantitativi per Economia, Finanza e Management Esercitazione n°2.
Elenchi in Excel E’ possibile inserire le voci del nuovo elenco oppure
Foglio elettronico Excel Livello avanzato
BIOINFO3 - Lezione 111 CGI-BIN CGI-BIN sono chiamati i programmi la cui esecuzione può essere richiesta attraverso il WEB. Il server web (httpd) della.
Lavori di gruppo sulla Mesopotamia
Costruire una tabella pivot che riepiloghi il totale del fatturato di ogni agente per categorie di vendita, mese per mese. Per inserire una tabella pivot.
Tabelle Pivot Istogrammi e frequenze Diagramma box-plot
Metaclassificazione Giovedì, 18 novembre 2004 Francesco Folino ( Combinare Classificatori Lecture 8.
SAS® OnDemand for Academics SAS Studio
Word: gli strumenti di formattazione
S TAMPA IN SERIE. P ASSO 1 Scaricare il foglio di calcolo che verrà utilizzato come sorgente dei dati.
Prof. Giuseppe Boncoddo
Nucleo: Dati e previsioni
Tag FRAMESET. I frame sono un particolare tipo di struttura HTML, che consente di suddividere la finestra del browser in diversi riquadri distinti. Un'insieme.
Lezione 10 Riccardo Sama' Copyright  Riccardo Sama' Word: strumenti di correzione.
Fondamenti di Markup Languages: Richiami di HTML © 2005 Stefano Clemente Stefano Clemente
Microsoft Access Chiavi, struttura delle tabelle.
1 Informatica Generale Alessandra Di Pierro Ricevimento: Giovedì ore presso Dipartimento di Informatica, Via Buonarroti,
Capitolo 10 Tecniche algoritmiche Algoritmi e Strutture Dati.
Data Base ACCESS EM 09.
Allineamento di sequenze
Corso di Laurea Specialistica in Ingegneria Gestionale Sistemi Informativi per le decisioni a.a Waikato Environment for Knowledge Analysis Data.
DATA MINING.
1 Ordinamento (Sorting) Input: Sequenza di n numeri Output: Permutazione π = tale che: a i 1  a i 2  ……  a i n Continuiamo a discutere il problema dell’ordinamento:
Esercitazione no. 4 EXCEL II Laboratorio di Informatica AA 2009/2010.
Informatica e Informatica di Base
Problemi, algoritmi e programmazione
9 Word terza lezione.
Corso integrato di Matematica, Informatica e Statistica Informatica di base Linea 1 Daniela Besozzi Dipartimento di Informatica e Comunicazione Università.
Cloud Tecno V. Percorso didattico per l’apprendimento di Microsoft Access 2 - Le tabelle.
NORMALIZZAZIONE ESERCIZI. INTRODUZIONE La modellazione E-R ci ha consentito di descrivere schemi relazionali Lo strumento base per la modellizzazione.
Microsoft Access Filtri, query. Filtri Un filtro è una funzione che provoca la visualizzazione dei soli record contenenti dati che rispondono a un certo.
Suggerimenti [1d5] SE la prima lettera della matrice (in alto a sinistra, matrice[0,0]) è diversa dalla prima lettera della parola (parola[0]) ALLORA siamo.
SISR-USABILITÀ VALUTAZIONE DI USABILITÀ (fonte prof. Polillo)
SISTEMA GESTIONE TOMBINI
Informatica Problemi e algoritmi. una situazione che pone delle domande cui si devono dare risposte. Col termine problema o situazione problematica s’indica.
Normalizzazione. Introduzione Nell’organizzazione tradizionale degli archivi, si verificano alcuni problemi, quali: Ridondanza dei dati (gli stessi dati.
1 “ Le Basi di Dati ”. 2 Parte 5: Tabelle –Creazione di una tabella –Indici e chiavi primarie –Relazioni e integrità referenziale Basi di Dati Struttura.
Il modello relazionale. Modello Relazionale 2 Dal modello concettuale a quello logico Una volta stabilita la rappresentazione concettuale della realtà.
Elementi di statistica con R e i database Rocco De Marco rocco.demarco(a)an.ismar.cnr.it Ancona, 19 Aprile 2012 Lezione 4.
Dal problema al programma – ciclo di sviluppo del software La scrittura del programma è solo una delle fasi del processo di sviluppo di un'applicazione.
I DONEITÀ DI C ONOSCENZE E C OMPETENZE I NFORMATICHE ( A – D ) Un database è un insieme di record (registrazioni) e di file (archivi) organizzati per uno.
Introduzione a Weka Di Fabio Cassano
La funzione CASUALE. Gli istogrammi.
Psicometria modulo 1 Scienze tecniche e psicologiche Prof. Carlo Fantoni Dipartimento di Scienze della Vita Università di Trieste Campionamento.
Algoritmi Avanzati a.a.2013/2014 Prof.ssa Rossella Petreschi Albero ricoprente di costo minimo Lezione n°12.
Transcript della presentazione:

Analisi di un dataset di perizie assicurative Esercitazione Data Mining

Ricapitoliamo… L’obiettivo dell’analisi che si intende condurre è l’estrapolazione di un modello per il riconoscimento automatico di perizie assicurative che riguardano casi in cui la compagnia può rivalersi sull’assicurato

Struttura del dataset Il dateset sul quale si intende effettuare l’analisi è disponibile sotto forma di file txt suddivisi per cartelle Il dataset è strutturato nelle cartelle yes: rimborsabili no: non rimborsabili Unknown: non ancora classificati

Operazioni sul dataset I dati vengono puliti da possibili errori o da informazioni inutili. Cleaning: eliminazione caratteri non alfanumerici (;,:,?,@,#,,, ecc..) Stemming: individuazione della radice morfologica della parola (reserved -> reserv) Stopwords: parole troppo comuni (the,if,or,I,you, ecc..)

N-grammi Sono insiemi costituiti da n parole consecutive Vengono estratti dal dataset con lo scopo di ottenere una matrice di occorrenze: Ogni riga è un file di testo Ogni colonna è un ngramma

Acquisizione Database Documenti testuali File testo classe 907792215990.txt I am to subro…. yes 908156218234.txt Rec subro file… ……………………….. ……………………… …………………. 100402235301.txt No subro file… no 101940233469.txt Receive subro… ………………………… Subro receive…. unknown Go to place…. …………………………. …………………….. ……………………

Acquisizione I dati sono documenti ripartiti in 3 sottocartelle. In ogni sotto cartella sono presenti una serie di documenti suddivisi in base alla classe assegnatagli o no: yes; no; unknown. ‘unknown’ non è un etichetta di classe, vuol dire che il documento non è stato classificato. Per ridurre i tempi di acquisizione e di generazione degli N-Gramma, nel caso di approcci tradizionali, è possibile evitare l’acquisizione di questi dati semplicemente rimuovendo la cartella unknown dal folder principale!

Acquisizione: Txt Documents Acquisition

Acquisizione Si seleziona il folder con i dati, e si forza a Nominal il terzo attributo. In output sarà creata una tabella con 3 colonne: 1) Nome del file dal quale il testo è stato acquisito; 2) Colonna contenente i termini presenti nel documento (StringAttribute); 3) Colonna di Classe. N.B. L’etichetta della colonna di classe è data dal nome del folder da cui il documento è estratto.

Acquisizione

I dati

Distribuzione sui dati Senza considerare i documenti non etichettati la distribuzione per le classi è la seguente: Valore di classe Numero di righe Percentuale Yes 1766 59,62 % No 1196 40,38 %

Distribuzione sui dati

Bilanciamo i dati Facciamo oversampling Inseriamo nel workflow un filter resample Size: 2.0 Bias: 2:1

Generazione degli N-gramma Per la generazione degli N-Gramma è possibile utilizzare un particolare filtro del tool Il filtro opera su campi di tipo StringAttribute Questo campo sarà sostituito con un nuovo campo di tipo EventCollection

StringToNGramFilter Il filtro ha diversi parametri: L’indice della colonna dal quale vogliamo estrarre gli N-grammi; Il linguaggio con sui scritti i testi; La frequenza minima per gli N-Grammi da estrarre; La lunghezza massima per gli N-Grammi da estrarre;

StringToNGramFilter La lista di caratteri da usare per la suddivisione in token del testo; La lista delle stop word da utilizzare.

EventCollectionAttribute Un EventCollectionAttribute è un particolare attributo che al suo interno contiene insiemi di oggetti. Può avere diversi contesti. I contesti non sono altro che proprietà dell’attributo. I contesti disponibili al momento sono: Frequency: indica la frequenza con cui quel N-gramma (event) compare nel documento acquisito; Length: indica la lunghezza dell’N-gramma.

Statistiche sugli Eventi

Estrazione degli N-gramma: StringToNGramm Filter

Estrazione degli Events più promettenti Non tutti gli eventi rappresentano informazione utile per l’analisi in corso Per eliminare Eventi poco significativi è possibile utilizzare il filtro Remove Events By scoring function Il filtro in esame utilizza un indice di qualità per ordinare gli eventi ed estrarre i primi N più promettenti, ove N è un parametro del filtro.

Estrazione degli N-gramma più promettenti

Rimozione del campo Document Name Come ultimo passo di preprocessing si andrà eliminare l’attributo Document_Name Questo campo si comporta come un ID della tupla quindi ininfluente per l’analisi di mining Tale rimozione sarà effettuata tramite il filtro remove Attributes già disponibile nel tool

Rimozione campo Document Name

Estrazione del modello In questa fase andremo ad estrarre un modello predittivo per i documenti estratti In particolare si vuole ottenere un modello cross validato, per tale ragione invece di utilizzare un simple mining task sarà utilizzato un cross validation mining task

Che algoritmo utilizzare? Per l’esempio in esame si è deciso di utilizzare l’algoritmo Rule Learner Gli algoritmi a regole sono particolarmente accurati in situazioni di sbilanciamento fra le classi

Risultati del modello cross validato

Matrice di Confusione La matrice di confusione per il modello cross-validato sembra molto promettente Real/Predicted no yes 3899 51 89 1886

Il test set Si è deciso a questo punto di verificare l’accuratezza del modello estratto sui dati di test in nostro possesso Come per il training set i dati sono disponibili sotto forma di documenti

Applicazione del modello sul test set

Risultati del modello sul test set

Matrice di Confusione La matrice di confusione risultante dall’applicazione del modello al test set è la seguente Real/Predicted no yes 4108 291 592 1033

Analisi in Weka L’analisi finora condotta e riproducibile anche in Weka trasfomarmando la fonte dati in un formato importabile in Weka A tal fine è possibile adoperare un semplice programma, il cui sorgente è disponibile in rete, TextDirectoryToArff.java http://weka.wikispaces.com/file/view/TextDirectoryToArff.java In questo modo sarà generato un file arff

Analisi in Weka Se importato in Weka il dataset presenta 3 colonne: 1) Etichetta di classe; 2) Testo contenuto nel documento; 3) Nome del file dal quale il testo è stato acquisito. Questa tabella non è direttamente trattabile, è necessario fare del pre-processing!

Filtro StringToWordVector Se si utlizza come tokenizer N-Gramm Tokenizer saranno generati un numero di attributi pari al numero di N-Grammi estratti Il valore della colonna sarà pari ad 1 o 0 in base alla presenza/assenza di quel N-Gramma all’interno del documento Utilizzando il filtro è altresì possibile specificare lo stemmer da usare per la fase di estrazione

Filtro StringToWordVector cleaning Stemming No stoplist

NumericToBinary Filter Gli attributi così estratti si presentano come attributi numerici Per proseguire con l’analisi è necessario trasformarli in attributi del tipo corretto ossia binari Per l’esecuzione di questa trasformazione utilizziamo il filtro NumericToBinary

Estrazione degli attributi più promettenti Anche in questo caso è necessario ridurre il numero di attributi/NGrammi a disposizione, in quanto alcuni poco significativi al fine dell’analisi in corso Per operare questa operazione è possibile utilizzare un particolare filtro di Weka, l’AttributeSelectionFilter

Estrazione degli attributi più promettenti Ha 2 parametri: Indice di qualità da utilizzare per valutare i sotto-insiemi; Metodo di ricerca da utilizzare.

Che algoritmo utilizzare? Le operazioni viste finora sono le operazioni necessarie per poter iniziare l’analisi Da nostre sperimentazioni risultano particolarmente efficaci modelli probabilistici Sta a voi scegliere il modello che riteniate maggiormente indicato per il caso in questione

Meccanismo di sottomissione dei modelli Il meccanismo di sottomissione dei modelli è unico ed indipendente dal tool che lo studente deciderà di usare: Verrà consegnato un dataset NON ETICHETTATO (test set); Lo studente applicherà il modello estratto sul training al test set generando una colonna con la predizione; Il test set così etichettato dovrà essere caricato sul sito del torneo.

Concetti/NGrammi Tra il materiale disponibile è possibile scaricare un file xls di associazione tra gli N-Grammi e dei possibili concetti individuati di esperti di dominio In particolare la presenza in un dato documento di un certo n-gramma indica che quel concetto è presente nel documento Ogni concetto può essere associato ad uno o più N-Grammi L’utilizzo dei concetti potrebbe permettere di migliorare l’accuratezza predittiva

Modelli avanzati E’ possibile aumentare la qualità del modello? Possiamo in qualche modo sfruttare la conoscenza fornita dalle tuple ‘unknown’? Si! Es. Self-training

Self training Self training Sfruttare le tuple ‘unknown’ per migliorare la qualità del nostro modello Da cosa partiamo? modello addestrato sul training set Classifichiamo con il modello generato le tuple ‘unknown’ Scegliamo una politica di selezione delle nuove tuple classificate e quindi le uniamo a quelle già presenti nel train Creiamo un nuovo modello in base al nuovo training set così generato Ripetiamo questi passi fino al punto fisso Self training

Self training: algoritmo generale Input: L è il training set dei dati etichettati, U è l’istanza dei dati non etichettati, C è il classificatore istruito, t è il numero delle iterazioni, Θ è il numero delle istanze non etichettate selezionate nella prossima iterazione, M è la metrica di selezione, S(Ut ,Θ ,C , M) è la funzione di selezione, e maxIteration è il numero massimo di iterazioni Inizialmente: t=0, Lt=L , Ut =U , dove Lt e Ut rappresentano le istanze etichettate e non etichettate alla iterazione t. Passi dell’algoritmo: istruisci C su Lt; St= S(Ut ,Θ ,C , M) , dove St è l’istanza dei dati non etichettati selezionati al passo t Ut+1=Ut-St ; Lt+1=Lt+St ; Finché Ut è vuota, oppure abbiamo raggiunto il numero massimo di iterazioni. Politica di selezione

Self training: come selezioniamo le tuple unknown Non tutte le istanze Unknown sono utili! Pericolo “rumore” Un approccio possibile: ad ogni passo vogliamo le tuple più “vicine al train set” Es. Concetto di vicinanza: % di matching del numero di ngrammi in un documento