La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Analisi di un dataset di perizie assicurative Esercitazione Data Mining.

Presentazioni simili


Presentazione sul tema: "Analisi di un dataset di perizie assicurative Esercitazione Data Mining."— Transcript della presentazione:

1 Analisi di un dataset di perizie assicurative Esercitazione Data Mining

2 Ricapitoliamo… Lobiettivo dellanalisi che si intende condurre è lestrapolazione di un modello per il riconoscimento automatico di perizie assicurative che riguardano casi in cui la compagnia può rivalersi sullassicurato

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

4 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..)

5 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

6 Acquisizione Documenti testuali Database Filetestoclasse txt I am to subro….yes txt Rec subro file…yes ……………………….. ………………………………………… txt No subro file…no txt Receive subro…no ……………………… … ………………………………………… txt Subro receive….unknown txt Go to place….unknown ……………………… …. ……………………..……………………

7 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 lacquisizione di questi dati semplicemente rimuovendo la cartella unknown dal folder principale!

8 Acquisizione: Txt Documents Acquisition

9 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. Letichetta della colonna di classe è data dal nome del folder da cui il documento è estratto.

10 Acquisizione

11 I dati

12 Distribuzione sui dati Senza considerare i documenti non etichettati la distribuzione per le classi è la seguente: Valore di classe Numero di righe Percentuale Yes176659,62 % No119640,38 %

13 Distribuzione sui dati

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

15 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

16 StringToNGramFilter Il filtro ha diversi parametri: Lindice 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;

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

18 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à dellattributo. I contesti disponibili al momento sono: Frequency: indica la frequenza con cui quel N- gramma (event) compare nel documento acquisito; Length: indica la lunghezza dellN-gramma.

19 Statistiche sugli Eventi

20 Estrazione degli N-gramma: StringToNGramm Filter

21 Estrazione degli Events più promettenti Non tutti gli eventi rappresentano informazione utile per lanalisi 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.

22 Estrazione degli N-gramma più promettenti

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

24 Rimozione campo Document Name

25 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

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

27 Risultati del modello cross validato

28 Matrice di Confusione Real/Predictednoyes no yes La matrice di confusione per il modello cross-validato sembra molto promettente

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

30 Applicazione del modello sul test set

31 Risultati del modello sul test set

32 Matrice di Confusione Real/Predictednoyes no yes La matrice di confusione risultante dallapplicazione del modello al test set è la seguente

33 Analisi in Weka Lanalisi 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 yToArff.java In questo modo sarà generato un file arff

34 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!

35 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 allinterno del documento Utilizzando il filtro è altresì possibile specificare lo stemmer da usare per la fase di estrazione

36 Filtro StringToWordVector No stoplist cleaning Stemming

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

38 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 dellanalisi in corso Per operare questa operazione è possibile utilizzare un particolare filtro di Weka, lAttributeSelectionFilter

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

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

41 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.

42 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 Lutilizzo dei concetti potrebbe permettere di migliorare laccuratezza predittiva

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

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

45 Input: L è il training set dei dati etichettati, U è listanza 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 dellalgoritmo: istruisci C su Lt; St= S(Ut,Θ,C, M), dove St è listanza 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. Self training: algoritmo generale Politica di selezione

46 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 Self training: come selezioniamo le tuple unknown


Scaricare ppt "Analisi di un dataset di perizie assicurative Esercitazione Data Mining."

Presentazioni simili


Annunci Google