Corso di Laurea Specialistica in Ingegneria Gestionale Sistemi Informativi per le decisioni a.a. 2008-2009 Waikato Environment for Knowledge Analysis Data preprocessing e regole associative Cicolella Claudio, Minetti Elena, Triscari Dario Argomenti •Weka •Formato .arff •Preprocess Non supervisionati Attributi: Discretize Remove ReplaceMissingValues Normalize Standardize Istanze: Resample Supervisionati Attributi: Discretize AttributeSelection Istanze: Resample •Associate Apriori Argomenti •Weka •Formato .arff •Preprocess Non supervisionati Attributi: Discretize Remove ReplaceMissingValues Normalize Standardize Istanze: Resample Supervisionati Attributi: Discretize AttributeSelection Istanze: Resample •Associate Apriori Weka Weka Preprocess: permette di caricare e modificare i dati su cui eseguire le varie elaborazioni Asssociate: permette l’elaborazione e valutazione di regole di associazione Weka: preprocess e associate Weka Argomenti •Weka •Formato .arff •Preprocess Non supervisionati Attributi: Discretize Remove ReplaceMissingValues Normalize Standardize Istanze: Resample Supervisionati Attributi: Discretize AttributeSelection Istanze: Resample •Associate Apriori Formato .arff • ARFF (Attribute Relationship File Format) Sezione Header Sezione Data Argomenti •Weka •Formato .arff •Preprocess Non supervisionati Attributi: Discretize Remove ReplaceMissingValues Normalize Standardize Istanze: Resample Supervisionati Attributi: Discretize AttributeSelection Istanze: Resample •Associate Apriori Preprocess Preprocess Preprocess Filtri Filtri Supervisionati: esiste un attributo speciale, il class attribute, che viene usato per guidare le operazioni di filtraggio Non supervisionati: tratta tutti gli attributi allo stesso modo Filtri Attribute: operano su un singolo o più attributi selezionati Istanze: operano a livello di tuple prendendo in considerazione la totalità degli attributi Argomenti •Weka •Formato .arff •Preprocess Non supervisionati Attributi: Discretize Remove ReplaceMissingValues Normalize Standardize Istanze: Resample Supervisionati Attributi: Discretize AttributeSelection Istanze: Resample •Associate Apriori Filtri non supervisionati : Discretize •Questo tipo di filtro serve per convertire gli attributi numerici in etichette stringa. attributeIndices: permette di selezionare l’attributo o gli attributi da discretizzare desiredWeightOfInsta ncesPerInterval: larghezza dell’intervallo nella divisione in bin di uguale profondità ignoreClass: se settato “true” ignora la classificazione prima di applicare il filtro makeBinary: se settato “true”rende gli attributi finali in formato binario bins: permette di scegliere il numero di bin findNumBins: ottimizza il numero di bin di uguale larghezza utilizzando il metodo leave-one-out; non è applicabile con useEqualFrequency invertSelection: se settato “true” il filtro verrà applicato a tutti i campi tranne a quello/i selezionato/i nel box attributeindices useEqualFrequency: se settato “true”verranno formati bin di uguale frequenza invece che di uguale larghezza Filtri non supervisionati : Remove •Questo tipo di filtro serve per eliminare dal dataset un attributo con tutti i relativi valori. attributeIndices: permette di selezionare l’attributo da rimuovere invertSelection: se settato “true” il filtro verrà applicato a tutti i campi tranne a quello/i selezionato/i nel box attributeindices Filtri non supervisionati : ReplaceMissingValue •Questo tipo di filtro serve per sostituire i valori mancanti all’interno del dataset con la moda nel caso di dati categorici e con la media nel caso di dati numerici . ignoreClass: se settato “true” ignora la classificazione prima di applicare il filtro Filtri non supervisionati : Normalize •Questo tipo di filtro agisce sui range di variazione degli attributi uniformandoli a [0,1] (default) o ad altri intervalli. ignoreClass: se settato “true” ignora la classificazione prima di applicare il filtro scale: fattore di scala translation: fattore di scala v min A v' * scale translatio n MAXA min A Filtri non supervisionati : Standardize •Questo tipo di filtro applica un altro tipo di normalizzazione ottenendo che gli attributi numerici siano distribuiti con valor medio nullo e deviazione standard unitaria. ignoreClass: se settato “true” ignora la classificazione prima di applicare il filtro v' v μ= valor medio statistico σ= deviazione standard Filtri non supervisionati : Resample •Questo tipo di filtro attua una riduzione verticale producendo un sottoinsieme casuale delle istanze del data set sia sostituendo i valori originale che mantenendo quelli già presenti. invertSelection: permette di invertire la selezione di istanze (solo se sampling senza replacement) randomSeed: permette di scegliere il “seme” alla base della generazione dei numeri casuali NoReplacement : permette di disabilitare la sostituzione dei valori originali sampleSizePercent: permette di scegliere la percentuale del data set originale fornita in output Argomenti •Weka •Formato .arff •Preprocess Non supervisionati Attributi: Discretize Remove ReplaceMissingValues Normalize Standardize Istanze: Resample Supervisionati Attributi: Discretize AttributeSelection Istanze: Resample •Associate Apriori Filtri supervisionati : Discretize •Questo tipo di filtro serve per convertire gli attributi numerici in etichette stringa. attributeIndices: permette di selezionare l’attributo o gli attributi da discretizzare makeBinary: se settato “true”rende gli attributi finali in formato binario invertSelection: se settato “true” il filtro verrà applicato a tutti i campi tranne a quello/i selezionato/i nel box attributeindices Filtri supervisionati : AttributeSelection •Questo tipo di filtro permette l’accesso alle funzioni di selezione di attributi così come nella sezione Select attributes. evaluator: permette di selezionare il parametro su cui effettuare la valutazione search: metodo attraverso cui effettuare la valutazione numToselect: permette di scegliere numero di attributi da selezionare startSet: permette di selezionare un elenco di attributi da ignorare threshold: valore soglia del valutatore Filtri supervisionati : Resample •Questo tipo di filtro produce un sottoinsieme di valori casuali del data set originale con o senza replacement. In aggiunta rispetto alla versione non supervisionata, tenta di mantenere la distribuzione dell’attributo classe o di correggerne il bias. biasToUniformClass: permette di settare un valore che varia da 0 (non variando la distribuzione) a 1 (rendendo la distribuzione uniforme) NoReplacement : permette di disabilitare la sostituzione dei valori originali sampleSizePercent: permette di scegliere la percentuale del data set originale fornita in output invertSelection: permette di invertire la selezione di istanze (solo se sampling senza replacement) randomSeed: permette di scegliere il “seme” alla base della generazione dei numeri casuali Argomenti •Weka •Formato .arff •Preprocess Non supervisionati Attributi: Discretize Remove ReplaceMissingValues Normalize Standardize Istanze: Resample Supervisionati Attributi: Discretize AttributeSelection Istanze: Resample •Associate Apriori Associate Weka: preprocess e associate Associate Algoritmi per regole associative Alcuni esempi: •Apriori: algoritmo Apriori per le regole associative •PredictiveApriori: algoritmo Apriori che trova regole di associazione ordinate per accuratezza nella predizione; questo parametro è ricavato da una combinazione di confidenza e supporto •Tertius: algoritmo a conferma guidata durante la scoperta di regole di associazione Regole associative: Apriori Come funziona Apriori in Weka ? Apriori in Weka comincia con il supporto minimo all'estremo superiore e diminuisce il supporto di Delta ad ogni iterazione. Si arresta quando è stato generato il numero richiesto di regole, oppure è stato raggiunto l'estremo inferiore per il supporto minimo. Regole associative: Apriori car: settato “true” vengono generate regole associative dove il class attribute è conseguente delta: permette di settare il valore delta metricType: permette di scegliere la metrica secondo cui ordinare e selezionare i risultati classIndex: indice del class attribute; se settato a -1 l’ultimo attributo è preso come class attribute lowerBoundMinSupp ort: lower bound per il supporto Apriori: metricType Data la regola L => R: • confidence = Pr(L,R) / Pr(L) • lift = Pr(L,R) / Pr(L)*Pr(R) • leverage = Pr(L,R) - Pr(L)*Pr(R) • conviction = Pr(L)*Pr(not R) / Pr(L,R) Regole associative: Apriori numRules: permette di selezionare il numero di regole che si vuole vengano generate removeAllMissingCols: rimuove dal dataset le colonne con tutti i valori mancanti. verbose: se abilitato esegue l’algoritmo in modalità verbose minMetric: considera solo le regole che superano questo valore outputItemSets: se settato “true”vengono mostrati gli itemset frequenti upperBoundMinSup port: upper bound per il supporto minimo Associate Associate