Sei sulla pagina 1di 4

SPIEGAZIONE DELLINTERFACCIA

Il weka un software per le classificazioni Allapertura del programma notiamo che questo diviso in varie parti e sezioni. Le parti studiate sono quelle del pre-process, classify e del select attribute

Con la prassi con cui si apre un qualsiasi file apriamo un Database a caso. Nella parte sinistra della schermata troviamo lelenco degli attributi, mentre guardando a destra notiamo un secondo elenco dove sono elencati i vari valori che l attributo pu assumere, subito sopra infine leggiamo delle parole esplicanti: distinct ovvero quanti valori assume attributo missing dati mancanti unique indica quanti valori assume una sola istanza mean media devstd deviazione standard Un attributo pu essere di 2 tipi: numerico o nominale Considerando il database IRIS e selezionando l'attributo 5 ad esempio, noteremo che l'attributo nominale oltre a una esplicazione dei valori che pu assumere. la parte in basso a destra la trasposizione grafica di quanto scritto nella tabella attribute. Notiamo subito la presenza di un men a tendina, questo permetter di osservare la singola rappresentazione grafica in funzione di un attributo selezionato come base di confronto [si capisce come fare intuitivamente grazie alla diversa colorazione]

By Libero

la rappresentazione grafica varia se il valore dellattributo numerico o nominale, nel primo caso si tratta infatti di una distribuzione statistica altrimenti un istogramma. Passando il mouse sulle singole rappresentazione compare un numero indicante i valori compresi dallistanza in questione

PRE PROCESSING
In questa prima fase cerchiamo di prendere confidenza con i dati, cerchiamo di individuare l attributo classificatore che ci permetta di risolvere il quesito assegnato. Possiamo osservare i dati singolarmente (dalla rappresentazione grafica e dalla tabella attribute) o nell insieme selezionando visualize all In questa fase possiamo utilizzare, per meglio gestire i dati, dei filtri questi saranno scelti cliccando nel riquadro filter su CHOOSE FILTERS UNSUPERVISED ATTRIBUTE e successivamente uno dei seguenti filtri Discretize raggruppa in un numero di gruppi specificati nellapposito campo. Solo su numerici Replace missing value elimina i valori mancanti assegnando ai valori esistenti Merge two Value si applica ai valori nomimali specificando quali valori unire Normalize come discretize ma mette in scala. La scala va specificata nel campo indicando max e min Facciamo un esempio: ipotizziamo di avere un database di un negozio di articoli sportivi e un attributo numerico dove sono raccolte le et dei clienti potrebbe essere utile suddividere tale attributo in fasce di et per studiare la fascia che pi viene attratta dal negozio. Per questo motivo utilizzerei il filtro DISCRETIZE. Cliccando sul nome del filtro si sviluppano nuove opzioni, le pi importanti sono quelle riguardanti discretize: notiamo infatti che si trova la casella ATTRIBUTE INDICES ovvero la specificazione degli attributi su cui applicare il filtro [presente in molti altri filtri ] BINS ovvero il numero di fasce in cui vogliamo dividere lattributo numerico, USE EQUAL FREQUENCY : se settato su true rende gli intervalli simili DESIDERED WEIGHT OF ISTANCES PER INTERVAL : peso desiderato per intervallo

CLASSIFY
In questa fase il software cerca di classificare seguendo degli algoritmi i dati. la fase principale del software, fase in cui si traggono le conclusioni dalla lettura dell albero (sia in forma grafica sia in forma scritta) La classe da utilizzare j48 ed contenuta in CLASSIFIERCHOOSETREESJ48 Per aumentare laccuratezza o diminuire le regole si clicca con il sinistro sulla scritta J48 e anche in questo caso si manipolano i dati. I comandi che possiamo utilizzare per la manipolazione sono: Confidence factor al diminuire del valore diminuisce laccuratezza e le regole MinNumObject diminuisce le regole allaumentare Unprund su true aumenta laccuratezza Binary split settato su true riduce le regole

By Libero

Nel men a tendina si seleziona lattributo identificato come attributo classificatore. Successivamente si clicca su start per far partire il programma Il classify funziona per mezzo di un algoritmo che elabora i dati e produce un output, il processo di elaborazione fatto di 3 fasi: apprendimento,valutazione e misurazione. Le 3 fasi possono essere eseguite in diversi modi selezionabili dallutente nella parte alta e a sini stra dellinterfaccia sezione TEST OPTION: training set utilizza tutti i dati per apprendere e validare supplied test set selezionando un altro file il sistema utilizza per la fase di previsione e valutazione i dati contenuti nel file e per apprendere i dati del database selezionato nel Pre processing. cross validation il sistema prende il set di dati del database selezionato e lo divide in tanti gruppi quanti sono quelli indicati nellapposita finestra chiamata folds. Com questo metodo, con un processo iterativo, la fase di apprendimento sar effettuata su una parte delle cartelle e la fase di verifica sulla restante parte. Il processo iterativo fa si che le cartelle sia mischiate effettuando a vari step valutazione e verifica in maniera tale che tutte le cartelle vengano usate una volta per apprendere e una volta per validare.Ad esempio, dividendo le istanze in 3 folds e chiamandole A,B,C lalgoritmo utilizzer A per apprendere e B e C per validare, poi user B per apprendere e A e C per validare, infine user C per apprendere e A e B per validare. percentage split si precisa quale percentuale del DB utilizzare per fare apprendere il modello

Dopo aver fatto partire lelaborazione ottengo una pagina di output con vari dati. A partire dalla sezione nominata classifier model trovo la rappresentazione testuale dell'albero. In questa sezione ci sono una serie di dati statistici, i primi due sono i pi importanti: la prima riga dice la percentuale di istanze previste corrette e nella seconda le istanze non previste. Nella sezione detailed accuracy by class e a confusion matrix trovo dove stato individuato l'errore. Cliccando col destro sugli elementi della result list posso scegliere di vedere graficamente i risultati e quindi

leggere lalbero SELECT ATTRIBUTES


Esegue delle considerazioni sui dati Ci sono 3 tipi di algoritmi che aiutano a capire quali regole eliminare: Cfssubseteval crea un sottoinsieme degli attributi pi importanti Chisquaredattributeeval crea un ranking con relativo punteggio degli attributi GainRatioAttributeValue crea un ranking con un punteggio in percentuale

Processo da seguire
Devo cercare di ottenere un albero leggibile, quindi con poche regole, ma contemporaneamente unalta accuratezza. Questo possibile sfruttando le funzioni di classify e select attribute illustrate sopra e eliminando attributi. In linea di massima le fasi sono: pre-processing select attribute classify

By Libero

non per sempre vero che lalbero deve avere poche regole: se ho un database grande e di qualcosa di importante (tipo medicine), posso esigere una accuratezza del 100% a discapito della leggibilit

By Libero

Potrebbero piacerti anche