Waikato Environment for Knowledge Analysis

Slides:



Advertisements
Presentazioni simili
Training On Line - CONP. 2 Richiesta Da Menu: Conferimenti ad inizio anno termico > Agosto > Pluriennali > Nuova Richiesta Si accede alla pagina di Richiesta.
Advertisements

TAV.1 Foto n.1 Foto n.2 SCALINATA DI ACCESSO ALL’EREMO DI SANTA CATERINA DEL SASSO DALLA CORTE DELLE CASCINE DEL QUIQUIO Foto n.3 Foto n.4.
Sistemi di Classificazione usando NCD
PHP.
Corsi per il personale Bicocca-Insubria
COORDINATE POLARI Sia P ha coordinate cartesiane
LE MATRICI.
Frontespizio Economia Monetaria Anno Accademico
DATAWAREHOUSE - Microstrategy
Training On Line – CONA. 2 Richiesta Da Menu: Conferimenti ad inizio anno termico > Agosto > Annuali > Nuova Richiesta Si accede alla pagina di Richiesta.
Lez. 3 - Gli Indici di VARIABILITA’
1 Istruzioni, algoritmi, linguaggi. 2 Algoritmo per il calcolo delle radici reali di unequazione di 2 o grado Data lequazione ax 2 +bx+c=0, quali sono.
1 9: Progettazione Architetturale Obiettivo: stabilire la struttura globale di un sistema software Descriveremo diversi tipi di modello di architettura,
Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie di analisi.
Capitolo 3 Strutture dati elementari Algoritmi e Strutture Dati.
Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie di analisi.
Valutazione delle ipotesi
Apprendimento Automatico: Valutazione delle Prestazioni
WEKA: Machine Learning Algorithms in java
Il linguaggio Fortran 90: 4. Array: Vettori e Matrici
Access: Query semplici
Microsoft Excel Nozioni avanzate
CORSO DI RICERCA BIBLIOGRAFICA 4. giornata (20 marzo 2008) Web of Science Beilstein e Gmelin Crossfire.
Corso di Laurea in Ingegneria per lAmbiente e il Territorio Informatica per lAmbiente e il Territorio Docente: Giandomenico Spezzano Tutor: Alfredo Cuzzocrea.
Lezione 4 Probabilità.
Espressioni condizionali
Introduzione alle basi di dati
Corso di PHP.
DBMS ( Database Management System)
EXCEL FORMATTAZIONE DATI.
Portale Capacità STOGIT
1° passo Aprire Internet Explorer Andare alla homepage di Ateneo Aprire il menu Ateneo Scorrere fino Servizi di Ateneo Cliccare su Servizi Informatici.
Modulo 7 – reti informatiche u.d. 3 (syllabus – )
1ROL - Richieste On Line Ente pubblico 5ROL - Richieste On Line.
Lezione 12 Riccardo Sama' Copyright Riccardo Sama' Excel.
Inserire il CDROM CygWin nel lettore, aprite la directory cyg e lanciare in esecuzione (con un doppio click del pulsante sinistro del mouse sulla relativa.
Usare la posta elettronica con il browser web
Test Reti Informatiche A cura di Gaetano Vergara Se clicchi sulla risposta GIUSTA passi alla domanda successiva Se clicchi sulla risposta ERRATA passi.
Scheda Ente Ente Privato Ente Pubblico. 2ROL - Richieste On Line.
TECNOLOGIE DELLINFORMAZIONE E DELLA COMUNICAZIONE PER LE AZIENDE Materiale di supporto alla didattica.
1 Guida per linsegnamento nei corsi per il conseguimento del CERTIFICATO DI IDONEITÀ ALLA GUIDA DEL CICLOMOTORE.
Bando Arti Sceniche. Per poter procedere è indispensabile aprire il testo del Bando 2ROL - Richieste On Line.
Marco Nanni Applicazioni di Intelligenza Artificiale.
A cosa serve GWAESSE? E’ un software di semplice utilizzo per la configurazione e la preventivazione di quadri AS (per moli e campeggi), ASC (per cantiere)
Esercitazioni di Meteorologia da satellite
QUIZ – PATENTE EUROPEA – ESAME WORD
La versione 18 di Aleph500: le novità CATALOGAZIONE Rita Vanin Ottobre 2007.
Fondamenti delle Reti di Computer Seconda parte Carasco 15/04/2010.
1 Ly-LAB Sistema di gestione dei dati analitici di laboratorio.
Creare pagine web Xhtlm. Struttura di una pagina.
STATISTICA PER LE DECISIONI DI MARKETING
Documentazione Tecnica
Sviluppare un programma in C che, dato un array da 100 elementi interi caricato con numeri casuali compresi tra [10,100], sia in grado di cercare il valore.
Strumenti di Presentazione (Microsoft PowerPoint 2000)
USO DEL COMPUTER E GESTIONE DEI FILE
Metaclassificazione Giovedì, 18 novembre 2004 Francesco Folino ( Combinare Classificatori Lecture 8.
Modulo 6 Test di verifica
a cura di Francesco Lattari
Corso Web CSV – Andiamo on-line 1 Andiamo on-line Corso di formazione Elementi base per la costruzione di un sito web.
1 Sharpdesk Descrizione generale Editoria ComposerRicerca Elaborazione immagini.
A.P. cat. B - 1 Per chi vuole: Libro di testo D.P. Curtis, K. Foley, K. Sen, C. Morin Informatica di base 2° edizione Mc Graw-Hill Companies.
Sistemi Informativi A. A. 2013/14 WEKA. WEKA Explorer.
1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.
IL GIOCO DEL PORTIERE CASISTICA. Caso n. 1 Il portiere nella seguente azione NON commette infrazioni.
Diagramma delle Classi
Corso di Laurea Specialistica in Ingegneria Gestionale Sistemi Informativi per le decisioni a.a Waikato Environment for Knowledge Analysis Data.
Alma Mater Studiorum – Università di Bologna
Lezione 7 Riccardo Sama' Copyright  Riccardo Sama' Excel.
Introduzione a Weka Di Fabio Cassano
I NTRODUZIONE AL W EKA Umberto Panniello DIMEG, Politecnico di Bari Modelli di e-business e business intelligence Cdl Ingegneria Informatica.
Transcript della presentazione:

Waikato Environment for Knowledge Analysis WEKA Waikato Environment for Knowledge Analysis Ida Mele 1

Acronimo di Waikato Environment for Knowledge Analysis. Introduzione a Weka Collezione di algoritmi di Machine Learning – Package Java Open Source. Acronimo di Waikato Environment for Knowledge Analysis. Scritto in java, utilizzabile su qualunque sistema operativo dotato di piattaforma java. Home page di Weka: http://www.cs.waikato.ac.nz/ml/weka/ dove si può scaricare il software e dataset di esempio. Manuale: http://transact.dl.sourceforge.net/sourceforge/weka/WekaManual-3.6.0.pdf Weka 2

Collezione estensiva di tool per Machine Learning e Data Mining. Introduzione a Weka (2) Collezione estensiva di tool per Machine Learning e Data Mining. Classificazione: implementazione java di tutte le tecniche di Machine Learning correntemente utilizzate. Regressione. Regole di associazione. Algoritmi di clustering. Weka

Weka: schemi per la classificazione Decision trees Rule learners Naïve Bayes Decision Tables Locally weighted regression SVM Instance-based learners Logistic regression Weka

Weka: Predizione Numerica Linear regression Model tree generators Locally weighted regressione Instance-based learners Decision Tables Multi-layer perceptron Weka

Regression via classification Classification via regression Weka: Meta Schemi Bagging Boosting Stacking Regression via classification Classification via regression Cost sensitive classification Weka: Schemi per clustering EM Cobweb Weka

Scaricare l’archivio di Weka e decomprimerlo. Installazione Assicurarsi che sulla propria macchina sia presente una installazione del JRE. Scaricare l’archivio di Weka e decomprimerlo. Aprire un terminale ed entrare nella directory di Weka. Digitare il comando: java -Xmx512M -jar weka.jar Weka

Ambienti operativi SimpleCLI: Ambiente a linea di comando da usare per invocare direttamente le varie classi da cui Weka è composto. Explorer: ambiente da utilizzare per caricare degli insiemi di dati, visualizzare la disposizione degli attributi, preprocessare i dati ed eseguire  algoritmi di classificazione, clustering, selezione di attributi e determinazione di regole associative. Weka

Ambienti operativi (2) Experimenter: è una versione batch dell'Explorer. Consente di impostare una serie di analisi, su vari insiemi di dati e con vari algoritmi, ed eseguirle alla fine tutte insieme. È possibile in questo modo confrontare vari tipi di algoritmi, e determinare quale è il più adatto a uno specifico insieme di dati. Knowledge Flow: una variante dell'Explorer, in cui le operazioni da eseguire si esprimono in un ambiente grafico, disegnando un diagramma che esprime il “flusso della conoscenza”. È possibile selezionare varie componenti (sorgenti di dati,  filtri, algoritmi di classificazione) e collegarli in un diagramma tipicamente detto “data-flow”. Weka

Ambienti operativi: Explorer Weka

Weka può prelevare i propri dati usando 3 funzioni: Open File: preleva i dati da un file di testo sul computer locale, in formato ARFF, CSV, C45 o Binary serialized istances. Il formato standard di Weka è ARFF. Open URL: preleva i dati da un file su web, in uno dei formati di cui sopra. Open DB: preleva i dati da un server database supportato dai driver JDBC. C'è anche la possibilità di generare dati artificiali: Generate: utilizza dei DataGenerators per creare dati artificiali. Weka

Preprocessamento dei dati Una volta aperto l'insieme di dati di interesse, in basso a sinistra compare l'elenco degli attributi che compongono i dati in questione.  Cliccando su un attributo, sul lato destro appaiono delle informazioni statistiche. Per attributi nominali abbiamo l'elenco dei possibili valori e, per ognuno di essi, il numero di istanze con quel valore. Per attributi numerici, abbiamo invece informazioni sul valore massimo, minimo, media e deviazione standard, oltre a numero di valori diversi, numero di valori unici e numero di istanze col valore mancante. Weka

Preprocessamento dei dati Sotto le informazioni statistiche abbiamo un istogramma. Con gli attributi nominali viene visualizzato, per ogni valore, una barra di altezza proporzionale al numero di istanze con quel valore. Per gli attributi numerici le informazioni sono simili, ma il sistema decide automaticamente in quanti intervalli divedere il range dell'attributo e quindi quante barre visualizzare. Una volta caricati i dati, è possibile modificarli applicando un filtro o una procedura di modifica interattiva. Esempi: modificare tutte le istanze con un valore fisso per un attributo, cancellare o rinominare attributi… Weka

ARFF è il formato dati standard di WEKA. Formato ARFF ARFF è il formato dati standard di WEKA. Un file ARFF è composto da una intestazione e dal corpo dati vero e proprio. L’intestazione contiene il nome del set dei dati e una intestazione degli attributi. Per ogni attributo è possibile specificare il tipo: numerico, categoriale, stringa o data. I dati veri e propri sono forniti creando una riga per ogni istanza, e separando i campi con delle virgole. Ovunque è possibile inserire dei commenti, facendoli precedere dal simbolo %. Weka

% Relazione weather-data @attribute outlook {sunny, overcast, rainy} Formato ARFF: esempio @relation weather % Relazione weather-data @attribute outlook {sunny, overcast, rainy} @attribute temperature real @attribute humidity real @attribute windy {TRUE, FALSE} @attribute play {yes, no} @data sunny,85,85,FALSE,no sunny,80,90,TRUE,no overcast,83,86,FALSE,yes Weka

Formato ARFF: esempio (2) Nell’esempio fornito osserviamo che: la riga @relation weather specifica un nome per la relazione. la riga @attribute outlook {sunny, overcast, rainy} specifica che l’attributo di nome outlook è di tipo categoriale e può assumere i valori sunny, rainy e overcast. la riga @attribute temperature real specifica che l’attributo di nome temperature è di tipo numerico. la riga @data indica l’inizio dei dati veri e propri. Weka

Formato ARFF Si può utilizzare il valore ? come dato per indicare un valore mancante. In generale, ogni volta che serve individuare un attributo particolare come la “classe” dell’istanza, ad esempio nei problemi di classificazione o selezione degli attributi, l’ultimo attributo gioca questo ruolo. Si può comunque sempre specificare un diverso attributo, caso per caso. Weka

Elenco dei package principali: weka.associations Architettura Elenco dei package principali: weka.associations weka.attributeSelection weka.classifiers weka.clusterers weka.core weka.estimators weka.experiment weka.filters weka.gui.package weka.gui.experiment weka.gui.explorer Weka

Il package weka.core Il package core è il package centrale del sistema Weka. Contiene classi a cui quasi tutte le altre classi fanno accesso. Classi principali: Attribute: un oggetto di questa classe rappresenta un attributo. Contiene il nome dell’attributo, il suo tipo e, in caso di attributo nominale, i possibili valori. Instance: un oggetto di questa classe contiene i valori degli attributi di una particolare istanza. Instances: un oggetto di questa classe mantiene un insieme ordinato di istanze, ovvero un dataset. Weka

Il package weka.classifiers Contiene implementazioni degli algoritmi più comunemente utilizzati per classificazione e predizione numerica. La classe più importante è Classifier, che definisce la struttura generale di un qualsiasi schema di classificazione o predizione. Contiene due metodi: buildClassifier() e classifyInstance(), che debbono essere implementati da tutti gli algoritmi di apprendimento. Ogni algoritmo di apprendimento è una sottoclasse di Classifier e ridefinisce questi metodi. Weka

Il package Weka.clusterers Contiene un’implementazione di due importanti metodi di apprendimento non supervisionato: COBWEB ed EM. Il package Weka.estimators Contiene sottoclassi di una generica classe Estimator, che calcola vari tipi di distribuzioni di probabilità. Weka

Il package weka.filters Tool per il preprocessamento dei dati: discretizzazione, normalizzazione, resampling, selezione, trasformazione o combinazione di attributi. La classe Filter definisce la struttura generale di tutte le classi che contengono algoritmi di filtering. Tali classi sono tutte implementate come sottoclassi di Filter. Il package weka.attributeSelection Mette a disposizione classi per effettuare riduzioni dimensionali su una collezione di dati. Queste classi vengono utilizzate da weka.filters.attributeSelectionFilter, ma possono anche essere usate separatemente. Weka

Alberi di decisione: metodo di classificazione supervisionato. Classificatori: J48 Alberi di decisione: metodo di classificazione supervisionato. Un albero di decisione è una semplice struttura in cui i nodi non terminali rappresentano test su uno o più attributi mentre i nodi terminali riflettono i risultati della decisione. Approccio reso popolare da J.R.Quinlan. C4.5 è l’ultima implementazione di pubblico dominio del modello di Quinlan. L’algoritmo J48 è l’implementazione Weka dell’albero di decisione C4.5. Weka

Classificatori: J48 (2) Weka

Alberi di decisione: approccio generale Scegliere un attributo che meglio differenzia i valori dell’attributo di output. Creare nell’albero un ramo separato per ogni possibile valore dell’attributo scelto. Dividere le istanze in sottogruppi che riflettano i valori dell’attributo scelto. Weka

Alberi di decisione: approccio generale (2) Per ogni sottogruppo, terminare il processo di selezione degli attributi se: (a) tutti i membri di un sottogruppo hanno lo stesso valore per l’attributo di output (in questo caso il ramo considerato va etichettato con il valore specificato); (b) il sottogruppo contiene un singolo nodo oppure non è più possibile individuare un attributo in base al quale fare differenziazioni. In questo caso, il ramo considerato viene etichettato con il valore dell’attributo di output che caratterizza la maggior parte delle istanze rimanenti. Weka

Alberi di decisione: approccio generale (3) Il processo viene ripetuto per ogni sottogruppo che non è stato etichettato come terminale. L’algoritmo viene applicato ai dati di training. L’albero di decisione creato viene quindi testato su un dataset di test. Se non sono disponibili dati di test J48 esegue cross validation sui dati di training. Weka

J48: Opzioni Attributo di output: può essere scelto soltanto tra gli attributi di categoria. Fattore di confidenza: determina il valore da utilizzare per fare pruning (rimozione dei rami che non portano guadagno in termini di accuratezza statistica del modello); default: 25%. Numero minimo di istanze per foglia: un valore alto creerà un modello più generale, un valore basso un albero più specializzato. Weka

Test data set: permette di specificare un insieme di dati di test. J48: Opzioni (2) Numero di cartelle per cross validation: determina come costruire e testare il modello in assenza di dati di test. Se questo valore è x, 1 – 1/x dei dati di training viene usato per costruire il modello e 1/x viene usato per il test. Il processo viene ripetuto x volte, in modo che tutti I dati di training siano usati esattamente una volta nei dati di test. La stima complessiva si ottiene facendo la media delle x stime d’errore. Valore tipico: 10. Test data set: permette di specificare un insieme di dati di test. Weka

Alberi di decisione: Vantaggi e Svantaggi semplici da comprendere e da convertire in un insieme di regole di produzione; possono classificare sia dati numerici che di categoria, ma l’attributo di output deve essere di categoria; non ci sono assunzioni a priori sulla natura dei dati. Svantaggi: molteplici attributi di output non sono consentiti; gli alberi di decisione sono instabili. Leggere variazioni nei dati di training possono produrre differenti selezioni di attributi ad ogni punto di scelta all’interno dell’albero. Weka

Classificatori: parametri generali Se si utilizza SimpleCLI si possono invocare le classi di Weka. Esempio per utilizzare J48: java weka.classifiers.trees.J48 -t data/weather.arff I parametri generali sono: -t: file di training (formato ARFF) -T: file di test (formato ARFF). Se questo parametro manca, di default si esegue 10-fold cross validation -k: specifica numero di cartelle per cross validation -c: selezionare la variable classe -d: salvare il modello generato dopo il training -l: caricare un modello salvato in precedenza -i: descrizione dettagliata delle prestazioni -o: disabilita output human- readable Weka

meta.ClassificationViaRegression functions.Logistic functions.SMO Altri classificatori bayes.NaiveBayes meta.ClassificationViaRegression functions.Logistic functions.SMO lazy.Kstar lazy.Ibk rules.JRip Weka

Explorer: Classificatore Weka

Explorer: Classificatore (2) Weka

Explorer: Classificatore (3) Weka

Explorer: Classificatore (4) 1 2 Risultati Weka

Output di un classificatore La prima parte è una descrizione leggibile del modello generato. Il nodo alla radice dell’albero determina la prima decisione. Il numero in parentesi alla fine di ogni foglia indicano il numero di esempi contenuti nella foglia stessa. Se una o più foglie non sono pure (tutti esempi della stessa classe), viene indicato anche il numero di esempi che non sono stati classificati correttamente. La seconda parte è relativa alla valutazione delle prestazioni del classificatore. Weka

Output del classificatore: esempio Weka

Output del classificatore: esempio Weka

Classificatore: valutazione (1) Accuratezza intorno al 64%. Kappa statistic: misura il grado di accordo della predizione con la vera classe – 1.0 significa accordo perfetto. Le altre metriche d’errore non sono molto significative ai fini della classificazione, ma possono essere usate ad esempio per regressione. Matrice di confusione: istanze classificate correttamente su una diagonale. Weka

Classificatore: valutazione (2) Osserviamo la matrice di confusione: Il numero di istanze classificate correttamente è dato dalla somma della diagonale, mentre le altre istanze sono classificate in modo errato. Ad esempio abbiamo 2 istanze della classe a erroneamente classificate come appartenenti alla classe b e 3 istanze di b sono erroneamente classificate come appartenenti alla classe a. == Confusion Matrix ==  a b <-- classified as 7 2 | a 3 2 | b Weka

Classificatore: valutazione (3) True Positive rate (TP rate) o Recall è la frazione di esempi classificati correttamente come appartenenti alla classe x, fra tutti quelli che sono realmente della classe x. Nella confusion matrix è l'elemento diagonale diviso per la somma degli elementi della riga. Esempio: 7/(7+2)= 0.778 per la classe a e 2/(3+2)=0.4 per la classe b. False Positive rate (FP rate) è frazione di esempi classificati come appartenenti alla classe x, ma che in realità appartengono a un’altra classe, fra tutti quelli che non appartengono alla classe x. Nella matrice è la somma della colonna meno l'elemento diagonale diviso per la somma delle righe nelle altre classi. Esempio: (7+3-7)/(3+2)=3/5=0.6 per la classe a e (2+2-2)/(7+2)= 2/9=0.222 per la classe b. Weka

Classificatore: valutazione (4) Precision è la frazione di esempi realmente di classe x fra tutti quelli classificati come x. Nella confusion matrix è l'elemento diagonale diviso per la somma delle colonne rilevanti. Esempio: 7/(7+3)=0.7 per la classe a e 2/(2+2)=0.5 per la classe b. F-Measure è una misura standard che riassume precision e recall: 2*Precision*Recall/(Precision+Recall). Esempio: 2*0.7*0.778/(0.7+0.778)=0.737 per la classe a e 2*0.5*0.4/(0.5+0.4)=0.444 per la classe b. Weka

Clustering Le tecniche di clustering si applicano per suddividere un insieme di istanze in gruppi che riflettano qualche meccanismo o caratteristica naturale del dominio di appartenenza delle istanze stesse. Queste proprietà fanno sì che delle istanze siano accomunate da una “somiglianza” più forte rispetto agli altri dati nella collezione. Il clustering richiede approcci differenti da quelli usati per classificazione e regole di associazione. Weka

Clustering (2) Lo scopo di un algoritmo di clustering è quello di suddividere un insieme di documenti in gruppi che siano quanto più possibile coerenti internamente, e allo stesso tempo diversi l’uno dall’altro. I documenti all’interno di un cluster dovrebbero essere quanto più possibile diversi da quelli inseriti all’interno di un altro cluster. Weka

Clustering (3) Il clustering è un problema fondamentalmente diverso dalla classificazione: la classificazione è una forma di apprendimento supervisionato. Lo scopo della classificazione è quello di replicare una distinzione in categorie che un assessor umano ha imposto sui dati. L’input chiave di un algoritmo di clustering è la misura di distanza che viene usata per suddividere le istanze in gruppi. Weka

Hierarchical clustering: crea una gerarchia di cluster. Tipi di clustering Flat clustering: crea un insieme di cluster piatto, senza una struttura gerarchica che metta in relazione i cluster l’uno con l’altro. Hierarchical clustering: crea una gerarchia di cluster. Hard clustering: assegna ogni istanza ad esattamente un cluster. Soft clustering: l’assegnazione di un documento è una distribuzione su tutti i cluster (es. LSI). Terminologia alternativa: cluster partizionale o esaustivo. Weka

Clustering in Information Retrieval Cluster hypothesis: documenti in uno stesso cluster hanno un comportamento simile rispetto a ciò che è rilevante per soddisfare le esigenze informative degli utenti. Se un documento è rilevante per una richiesta di ricerca, assumiamo che anche gli altri documenti all’interno dello stesso cluster siano rilevanti. Il clustering ha molte applicazioni in information retrieval. Viene usato per migliorare usabilità, efficienza ed efficacia del sistema di ricerca. Weka

Critical issue: determinare K, cardinalità di un clustering. Brute force approach: enumera tutti i possibili clustering e scegli il migliore (non utilizzabile in pratica per via dell’esplosione esponenziale del numero di possibili partizioni). La maggior parte degli algoritmi procede per raffinamento iterativo di un partizionamento iniziale: trovare un buon punto di partenza è dunque importante per la qualità della soluzione finale. Weka

Valutazione di un clustering Obiettivo generale: alta similarità intra-cluster e bassa similarità inter-cluster (criterio interno di qualità). Il soddisfacimento di questo criterio non garantisce la realizzazione di un’applicazione efficace. Approccio alternativo: valutazione diretta nell’applicazione di interesse. User study: approccio immediato ma costoso. Altra possibilità: confronta i risultati del clustering con un golden standard. Weka

Clustering: Criteri esterni di qualità Purity: assegna ogni cluster alla classe che occorre più frequentemente nel cluster; accuratezza: frazione di documenti assegnati correttamente. Un clustering perfetto ha purity 1, mentre un clustering di cattiva qualità ha purity prossima a 0. Un valore elevato è facile da ottenere quando il numero di cluster è elevato: purity 1 se ogni documento è assegnato a un suo proprio cluster. Purity non dà info utili se cerchiamo un trade off tra la qualità del clustering e il numero di cluster. Weka

Clustering: Criteri esterni di qualità (2) Approccio alternativo: vedere il clustering come una serie di decisioni, una per ogni coppia di documenti nella collezione. Vogliamo assegnare due documenti ad uno stesso cluster se sono simili. TP: assegna due documenti simili allo stesso cluster TN: assegna due documenti non simili a cluster differenti FP: assegna due documenti non simili allo stesso cluster FN: assegna due documenti simili a cluster diversi. Weka

Clustering: Criteri esterni di qualità (3) Rand Index calcola la percentuale di decisioni corrette: RI = (TP + TN) / (TP + TN + FP + FN) RI assegna uguale peso a FP e FN; a volte separare documenti simili è considerato più grave che mettere due documenti diversi in uno stesso cluster; F-measure assegna una maggiore penalizzazione a FN: F-measure = 2PR / (P+R), con P=TP/(TP+FP) e R=TP/(TP+FN) Weka

Flat Clustering Algorithm più importante. K-Means Flat Clustering Algorithm più importante. Obiettivo: minimizzare il valor medio del quadrato della distanza euclidea dei documenti dal centro del cluster a cui sono stati assegnati. Il centro di un cluster è definito come la media di tutti i documenti presenti nel cluster (centroide). Clustering ideale: una sfera che ha il centroide come suo centro di gravità. Weka

Explorer: Clusterer SimpleKMeans Weka

Explorer: Clusterer SimpleKMeans (2) Weka

Explorer: Clusterer SimpleKMeans (3) Weka

Explorer: Clusterer SimpleKMeans (4) 1 Risultati 2 Weka

Itera un “alternanza” di due passi: EM Clustering Algoritmo iterativo adattabile a vari tipi di modellazione probabilistica. Goal: determinare una stima a massima verosimiglianza dei parametri del modello, che dipende da alcune variabili nascoste. Itera un “alternanza” di due passi: Expectation: calcola il valore atteso della likelihood in base alle stima corrente per la distribuzione dei parametri Maximization: calcola i parametri che massimizzano la verosimiglianza attesa determinata al passo precedente. Il passo di expectation determina un’assegnazione “soft” delle istanze ai cluster. Weka

Explorer: Clusterer EM 2 1 3 Weka

Explorer: Clusterer EM (2) 1 2 Risultati Weka

Elimina le feature non rilevanti o rilevanti. Feature Selection Obiettivo: selezionare un sottoinsieme di feature rilevanti per costruire modelli di learning robusti. Elimina le feature non rilevanti o rilevanti. Migliora le prestazioni dei modelli di learning: Allevia problemi dovuti a esplosione dimensionale Rafforza la capacità di generalizzazione del modello Velocizza il processo di learning Migliora la leggibilità del modello Permette di acquisire una migliore conoscenza dei dati evidenziandone le proprietà più importante. Weka

Nella pratica si seguono due diversi approcci: Feature Selection (2) Teoricamente, una selezione ottimale richiede l’esplorazione esaustiva dello spazio di tutti i possibili sottoinsiemi di feature. Nella pratica si seguono due diversi approcci: Feature Ranking: usa una metrica per ordinare le feature ed elimina tutte le feature che non ottengono uno score adeguato. Subset Selection: cerca l’insieme di possibili feature per il sottoinsieme ottimale. Weka

Feature Selection: Subset selection Valuta la bontà di un insieme di features. Molte euristiche per la ricerca delle feature si basano su greedy hill climbing: valuta iterativamente un sottoinsieme candidato di feature, quindi modifica tale insieme e valuta se l’insieme ottenuto è migliore del precedente. La valutazione degli insiemi di feature richiede l’uso di opportune metriche. La ricerca esaustiva non è in genere praticabile; al raggiungimento di un criterio di arresto si restituisce l’insieme di feature che ha ottenuto il punteggio più alto. Weka

Feature Selection: Subset Selection (2) Possibili euristiche per la ricerca: Esaustiva Best first Simulated annealing Algoritmi genetici Greedy forward selection Greedy backward elimination Possibili criteri di arresto: lo score assegnato ad un certo insieme supera una certa soglia; il tempo di computazione supera un massimo prestabilito. Weka

Explorer: Select Attributes Weka

Select Attributes: CfsSubsetEval Weka

Select Attributes: CfsSubsetEval (2) Weka

Select Attributes: InfoGainAttributeEval Weka

Select Attributes: InfoGainAttributeEval (2) Weka

Select Attributes: InfoGainAttributeEval (3) Weka