IL COMPONENTE DATA MINING MODEL DEL PROGETTO



Documenti analoghi
UNIVERSITA DEGLI STUDI DI NAPOLI FEDERICO II

Realizzazione di un Tool per l iniezione automatica di difetti all interno di codice Javascript

WEBANALYTICS V.1.2. Web application for data entry and reporting

BDX 3D-EDITOR (autore: Marco Bedulli) Scopo del software. Caratteristiche fondamentali. Linguaggi utilizzati. Navigazione 3D

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

Lezione 8. La macchina universale

Università degli Studi di Napoli Federico II

Corso di Informatica

Tecniche di Clustering basate sul Machine Learning

Uso di JUnit. Fondamenti di informatica Oggetti e Java. JUnit. Luca Cabibbo. ottobre 2012

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

ali e non funzionali con priorità (high, medium, low) Use Case con un Activity Diagram o uno State Diagr ram

Generazione Automatica di Asserzioni da Modelli di Specifica

Dispensa di Informatica I.1

Corso Online Analista Programmatore Microsoft

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

ANNO SCOLASTICO Piano di lavoro individuale

Protezione. Protezione. Protezione. Obiettivi della protezione

tesi di laurea Anno Accademico 2009/2010 relatore Ch.mo prof. Porfirio Tramontana candidato Pasquale Ludi Matr. 534\000438

Parametric Design SOFTWARE CAD TRAINING. Reverse engineering con Mathcad

Realizzazione di un prototipo di un software web based per la gestione di un inventario comunale

Siti web centrati sui dati Architettura MVC-2: i JavaBeans

Registratori di Cassa

Relatore Chiar.mo Prof. Davide Anguita Relatore Aziendale Ing. Silvio Costa (IsoSistemi) Relatore Aziendale Ing. Marco De Leo (IsoSistemi)

Introduzione alla programmazione in C

Prova Finale a.a. 2011/2012. Laboratorio 1: Introduzione a Java e Eclipse

TECNOLOGIE INFORMATICHE DELLA COMUNICAZIONE ORE SETTIMANALI 2 TIPO DI PROVA PER GIUDIZIO SOSPESO PROVA DI LABORATORIO

Tecniche di riconoscimento statistico

Firewall applicativo per la protezione di portali intranet/extranet

WorkFLow (Gestione del flusso pratiche)

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

penetration test (ipotesi di sviluppo)

Introduzione a Dev-C++

Il Software. Il software del PC. Il BIOS

Il Sistema Operativo. Introduzione di programmi di utilità. Elementi di Informatica Docente: Giorgio Fumera

FACOLTÀ DI INGEGNERIA CORSO DI LAUREA IN INGEGNERIA INFORMATICA DIPARTIMENTO DI INFORMATICA E SISTEMISTICA. Presentazione

Esempio di prova di laboratorio

Introduzione ad AADL. Piergiorgio Di Giacomo Firenze, 07 giugno 2005 ESI

Tesi di Laurea Automazione del testing delle Interfacce utente di applicazioni WEB:

introduzione I MICROCONTROLLORI

PIANO DI LAVORO DEI DOCENTI

Raggruppamenti Conti Movimenti

Architettura MVC-2: i JavaBeans

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

FIRESHOP.NET. Gestione del taglia e colore.

Excel. A cura di Luigi Labonia. luigi.lab@libero.it

Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino

Automazione Industriale (scheduling+mms) scheduling+mms.

Componenti Web: client-side e server-side

Corso di Informatica

Prova di informatica & Laboratorio di Informatica di Base

Analisi dei requisiti e casi d uso

Il sistema operativo UNIX/Linux. Gli script di shell

RISOLUTORE AUTOMATICO PER SUDOKU

Sistema automatico di acquisizione e modellazione 3D a basso costo

Informatica 3. Informatica 3. LEZIONE 10: Introduzione agli algoritmi e alle strutture dati. Lezione 10 - Modulo 1. Importanza delle strutture dati

Tecniche di riconoscimento statistico

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0

ACQUISIZIONE DATI DI PRODUZIONE SISTEMA PDA

Progettaz. e sviluppo Data Base

Mining Positive and Negative Association Rules:

Introduzione al linguaggio C Gli array

Sviluppo e manutenzione di un applicazione CAD tramite le WPF e l MV-VM

Esercitazioni di Progettazione del Software. Esercitazione (Prova al calcolatore del 17 settembre 2010)

MATLAB. Caratteristiche. Dati. Esempio di programma MATLAB. a = [1 2 3; 4 5 6; 7 8 9]; b = [1 2 3] ; c = a*b; c

IBM SPSS Statistics per Windows - Istruzioni di installazione (Licenza di rete)

Descrizione di un algoritmo

Test in automatico di programmi Android

Pro e contro delle RNA

12/12/11 Data ultimo aggiornamento

Un sistema di Vision Inspection basato su reti neurali

Introduzione al Model-View-Controller (MVC)

Introduzione al Linguaggio C

Approccio stratificato

Il.NET Framework. By Dario Maggiari. L architettura del.net Framework è riassunta, nel complesso, nella figura seguente:

LINGUAGGI DI PROGRAMMAZIONE

Configuration Managment Configurare EC2 su AWS. Tutorial. Configuration Managment. Configurare il servizio EC2 su AWS. Pagina 1

Mac Application Manager 1.3 (SOLO PER TIGER)

4.1 FAX Sollecito consegne via (Nuova funzione)

SQL Server Integration Services. SQL Server 2005: ETL - 1. Integration Services Project

Corso di Informatica

Dispensa di database Access

Introduzione alla Progettazione per Componenti

ISTITUTO TECNICO ECONOMICO MOSSOTTI

4. Un ambiente di sviluppo per Java

IB Connector. Architettura

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

Un architettura per la gestione dei log di applicazioni distribuite

Indice. Ingegneria dei requisiti e gestione agile. User-Centered Development Esempi di artefatti. Domain Driven Design. Design for Testability

Business Process Modeling and Notation e WebML

Regressione non lineare con un modello neurale feedforward

Progetto ed implementazione di un tool di supporto allo sviluppo di applicazioni per Linux LibeRTOS

Transcript:

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 esperimenti di data mining e esplorazione di Massive Data Sets, sfruttando le potenzialità di calcolo di un ambiente computazionale distribuito(progetto S.Co.P.E.) 2

COMPONENTE DMM (Data Mining Models) Si occupa di fornire alla suite DAME le funzionalità di: Classificazione Elementi singoli raggruppati in base a informazioni su una o più caratteristiche interne e attraverso una procedura supervised (training con dati noti); e Ricercasupervisionatadiun associazionedaun dominio R n ad unor m, con n>m. Quali sono gli strumenti che forniscono queste funzionalità? Approcci di data mining Support Vector Machine (SVM) Multi-Layer Perceptron(MLP) Multi-Layer Perceptron with Genetic Algorithm (MLPGA) 3

PROGETTAZIONE COMPONENTE DMM Tutti questi modelli sono in grado di effettuare classificazione e regressione sui dati in input. Problema: duplicazione di codice. Functionalities Soluzione: dividere le struttura in due livelli logici 1. Livello delle funzionalità 2. Livello di implementazione dei modelli Supervised Models SVM MLP MLPGA Supervised SVM MLP MLPGA SVM MLP MLPGA 4

SCHEMA DMM Bridge Pattern L architettura del componente DMM è ispirata al Bridge Pattern Supervised ~modelselected: DMMInterface DMMInterface MLPGA -parse_file(dmmparam: DMMFieldParam, File_in: DMMFileParam) +train(dmmparam: DMMFieldParam, File_in: DMMFileParam) +test(dmmparam: DMMFieldParam, File_in: DMMFileParam) +run(dmmparam: DMMFieldParam, File_in: DMMFileParam) Pacchetto DMM SVM +train(dmmparam: DMMFieldParam, File_in: DMMFileParam) +run(dmmparam: DMMFieldParam, File_in: DMMFileParam) +test(dmmparam: DMMFieldParam, File_in: DMMFileParam) Svm_train Svm_Run MLP -parse_command_line(dmmparam: DMMFieldParam, File_in: DMMFileParam, model: int) +train(dmmparam: DMMFieldParam, File_in: DMMFileParam) +run(dmmparam: DMMFieldParam, File_in: DMMFileParam) +test(dmmparam: DMMFieldParam, File_in: DMMFileParam) +train(model: int, dmmparam: DMMFieldParam, File_in: DMMFileParam) +test(model: int, dmmparam: DMMFieldParam, File_in: DMMFileParam) +run(model: int, dmmparam: DMMFieldParam, File_in: DMMFileParam) +train(model: int, dmmparam: DMMFieldParam, File_in: DMMFileParam) +test(model: int, dmmparam: DMMFieldParam, File_in: DMMFileParam) +run(model: int, dmmparam: DMMFieldParam, File_in: DMMFileParam) +Cerca_Max(url: String): Float +Cerca_Min(url: String): Float +GetConfusionMatrix(url: String) Visualization +plot2d() Statistics +MSE(url: String) +fullstats(file: String, type: String) +simplestats(file: String, type: String) TwoClasses OneClass 5

LIVELLO DELLE FUNZIONALITA Supervised ~modelselected: DMMInterface +train(model: int, dmmparam: DMMFieldParam, File_in: DMMFileParam) +test(model: int, dmmparam: DMMFieldParam, File_in: DMMFileParam) +run(model: int, dmmparam: DMMFieldParam, File_in: DMMFileParam) +train(model: int, dmmparam: DMMFieldParam, File_in: DMMFileParam) +test(model: int, dmmparam: DMMFieldParam, File_in: DMMFileParam) +run(model: int, dmmparam: DMMFieldParam, File_in: DMMFileParam) +Cerca_Max(url: String): Float +Cerca_Min(url: String): Float +GetConfusionMatrix(url: String) Le classi e hanno 3 metodi principali: Train: addestramento del modello Test: valutazione dell addestramento Run: utilizzo del modello TwoClasses OneClass 6

VALIDAZIONE: MATRICE DI CONFUSIONE Il caso d uso Test consiste nel verificare la correttezza dell addestramento. Come? Dando un subset di dati input non utilizzato nella fase di training, ma di cui si conosca l output. L analisi dell output del test può essere eseguita mediante uno strumento di rappresentazione tabulare: La matrice di confusione. L elemento sulla riga i e sulla colonna j è il numero assoluto oppure la percentuale di casi della classe vera i che il classificatore ha classificato nella classe j. Sulla diagonale principale ci sono i casi classificati correttamente. Gli altri sono errori. A B C Totale A 60 14 13 87 69,0% B 15 34 11 60 56,7% C 11 0 42 53 79,2% Nel training set ci sono 200 casi. Nella classe A ci sono 87 casi: 60 classificati correttamente come A 27 classificati erroneamente, dei quali 14 come B e13comec Totale 86 48 66 200 68,0% 7

LIVELLO DI IMPLEMENTAZIONE DEI MODELLI Interfaccia che generalizza tutti i modelli di tipo Supervised per facilitarne l estensione Unaclasseperogni modello: Impostazione di tutti i parametri del modello Analizzarei filein Input(ASCII) Calcolo dei risultati attraverso le librerie a disposizione(libsvm, FANN, MlpGas) Gestione dei file di output(ascii) DMMInterface SVM +train(dmmparam: DMMFieldParam, File_in: DMMFileParam) +run(dmmparam: DMMFieldParam, File_in: DMMFileParam) +test(dmmparam: DMMFieldParam, File_in: DMMFileParam) MLPGA -parse_file(dmmparam: DMMFieldParam, File_in: DMMFileParam) +train(dmmparam: DMMFieldParam, File_in: DMMFileParam) +run(dmmparam: DMMFieldParam, File_in: DMMFileParam) +test(dmmparam: DMMFieldParam, File_in: DMMFileParam) -typerun: int -inpnodes: int -outnodes: int -leyer1: int -iter: int -actfunc: int -optfanc: int -errortol: double -inputnet: String -inputdatatr: String -inputdatava: String -inputdatate: String -outputdata: String MLP -parse_command_line(dmmparam: DMMFieldParam, File_in: DMMFileParam, model: int) +train(dmmparam: DMMFieldParam, File_in: DMMFileParam) +run(dmmparam: DMMFieldParam, File_in: DMMFileParam) +test(dmmparam: DMMFieldParam, File_in: DMMFileParam) 8

INTERFACCIA CON FRAMEWORK: DMPlugin Il framework della suite DAME offre una GUI in grado di permettere agli sviluppatori interni ed esterni l aggiunta di nuovi modelli o varianti degli stessi modelli nella Suite 9

CONFIGURAZIONE DMPlugin Nella GUI, la configurazione dell esperimento consiste nel: Definire il nome del Plugin Definire il dominio (Classificazione o e) Fornire informazioni sul Plugin(Proprietario, documentazione) Definire i parametri descrittivi (Nome, tipo, descrizione ) Indicare i file di I/O (Nome, Descrizione) Definire quali casi d uso preveda il particolare Plugin(train, test, run, full). Successivamente si compie la generazione automatica del codice: Creazione classe con il nome del Plugin Creazione costruttore e metodo di esecuzione 10

STRUTTURA DMPlugin Bisogna definire i 4 metodi astratti in AbstractDMPlugin DMPlugin SVM SVM DMPHander AbstractDMPlugin +Trainrun() +Testrun() +Runrun() +Fullrun() MLP MLP RunningMode MLPGA MLPGA 11

FASI DI TRAINING, TEST, RUN TRAINSET FEATURES TARGET N SCARPE GIROVITA SPALLE ALTEZZA 40 60 90 1,75 44 70 90 1,85 47 100 140 2,00 TRAIN DATA MINING APPROACH TESTSET 40 70 80 1,82 TEST DATA MINING APPROACH OUTPUT 1,82 1,83 DATASET 45 80 60 RUN OUTPUT DATA MINING APPROACH 1,69 12

CONCLUSIONI Fasi di progettazione e implementazione completate Unit test della componente DMM in fase di completamento Integrationtestconil FrameworkeprimareleasebetainGennaio2010 Espansioni future del componente DMM: Introduzione di nuovi modelli unsupervised in fase di progettazione: Neuro-fuzzy, Probabilistic Principal Surfaces, Neg-Entropy, NEXT (Neural EXTractor); Introduzione della funzionalità di Clustering(tipicamente unsupervised); 13