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
•Weka•Formato .arff•Preprocess
Non supervisionatiAttributi:
DiscretizeRemove
ReplaceMissingValuesNormalize
StandardizeIstanze:
ResampleSupervisionati
Attributi:Discretize
AttributeSelectionIstanze:
Resample
•AssociateApriori
Argomenti
•Weka•Formato .arff•Preprocess
Non supervisionatiAttributi:
DiscretizeRemove
ReplaceMissingValuesNormalize
StandardizeIstanze:
ResampleSupervisionati
Attributi:Discretize
AttributeSelectionIstanze:
Resample
•AssociateApriori
Argomenti
Weka
Weka: preprocess e associate
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
Weka
•Weka•Formato .arff•Preprocess
Non supervisionatiAttributi:
DiscretizeRemove
ReplaceMissingValuesNormalize
StandardizeIstanze:
ResampleSupervisionati
Attributi:Discretize
AttributeSelectionIstanze:
Resample
•AssociateApriori
Argomenti
Sezione Header
Sezione Data
• ARFF (Attribute Relationship File Format)
Formato .arff
•Weka•Formato .arff•Preprocess
Non supervisionatiAttributi:
DiscretizeRemove
ReplaceMissingValuesNormalize
StandardizeIstanze:
ResampleSupervisionati
Attributi:Discretize
AttributeSelectionIstanze:
Resample
•AssociateApriori
Argomenti
Preprocess
Preprocess
Preprocess
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 inconsiderazione la totalità degli attributi
Filtri
•Weka•Formato .arff•Preprocess
Non supervisionatiAttributi:
DiscretizeRemove
ReplaceMissingValuesNormalize
StandardizeIstanze:
ResampleSupervisionati
Attributi: Discretize
AttributeSelection Istanze:
Resample
•AssociateApriori
Argomenti
•Questo tipo di filtro serve per convertire gli attributi numerici in etichette stringa.
attributeIndices: permette di selezionare l’attributo o gli attributi da discretizzare
bins: permette di scegliere il numero di bin
makeBinary: se settato “true”rende gli attributi finali in formato binario
useEqualFrequency: se settato “true”verranno formati bin di uguale frequenza invece che di uguale larghezza
findNumBins: ottimizza il numero di bin di uguale larghezza utilizzando il metodo leave-one-out; non è applicabile con useEqualFrequency
desiredWeightOfInstancesPerInterval: larghezza dell’intervallo nella divisione in bin di uguale profondità
ignoreClass: se settato
“true” ignora la classificazione prima di applicare il filtro
invertSelection: se settato “true” il filtro verrà applicato a tutti i campi tranne a quello/i selezionato/i nel box attributeindices
Filtri non supervisionati : Discretize
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 : Remove
•Questo tipo di filtro serve per eliminare dal dataset un attributo con tutti i relativi valori.
ignoreClass: se settato “true” ignora la classificazione prima di applicare il filtro
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 .
ntranslatioscaleAMAXA
Avv
*min
min'
ignoreClass: se settato “true” ignora la classificazione prima di applicare il filtro
scale: fattore di scala
translation: fattore di scala
Filtri non supervisionati : Normalize
•Questo tipo di filtro agisce sui range di variazione degli attributi uniformandoli a [0,1] (default) o ad altri intervalli.
v
v' μ= valor medio statistico
σ= deviazione standard
ignoreClass: se settato “true” ignora la classificazione prima di applicare il filtro
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.
invertSelection: permette di invertire la selezione di istanze (solo se sampling senza replacement)
NoReplacement : permette di disabilitare la sostituzione dei valori originali
randomSeed: permette di scegliere il “seme” alla base della generazione dei numeri casuali
sampleSizePercent: permette di scegliere la percentuale del data set originale fornita in output
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.
•Weka•Formato .arff•Preprocess
Non supervisionatiAttributi:
DiscretizeRemove
ReplaceMissingValuesNormalize
StandardizeIstanze:
ResampleSupervisionati
Attributi:Discretize
AttributeSelectionIstanze:
Resample
•AssociateApriori
Argomenti
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 : Discretize
•Questo tipo di filtro serve per convertire gli attributi numerici in etichette stringa.
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
biasToUniformClass: permette di settare un valore che varia da 0 (non variando la distribuzione) a 1 (rendendo la distribuzione uniforme)
invertSelection: permette di invertire la selezione di istanze (solo se sampling senza replacement)
NoReplacement : permette di disabilitare la sostituzione dei valori originali randomSeed:
permette di scegliere il “seme” alla base della generazione dei numeri casuali
sampleSizePercent: permette di scegliere la percentuale del data set originale fornita in output
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.
•Weka•Formato .arff•Preprocess
Non supervisionatiAttributi:
DiscretizeRemove
ReplaceMissingValuesNormalize
StandardizeIstanze:
ResampleSupervisionati
Attributi:Discretize
AttributeSelectionIstanze:
Resample
•AssociateApriori
Argomenti
Weka: preprocess e associate
Associate
Associate
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 diregole di associazione
Algoritmi per regole associative
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
classIndex: indice del class attribute; se settato a -1 l’ultimo attributo è preso come class attribute
delta: permette di settare il valore delta
metricType: permette di scegliere la metrica secondo cui ordinare e selezionare i risultati
lowerBoundMinSupport: lower bound per il supporto
Regole associative: Apriori
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)
Apriori: metricType
numRules: permette di selezionare il numero di regole che si vuole vengano generate
removeAllMissingCols: rimuove dal dataset le colonne con tutti i valori mancanti.
upperBoundMinSupport: upper bound per il supporto minimo
minMetric: considera solo le regole che superano questo valore
outputItemSets: se settato “true”vengono mostrati gli itemset frequenti
verbose: se abilitato esegue l’algoritmo in modalità verbose
Regole associative: Apriori
Associate
Associate