Prof. Claudio Sartori

Data mining


Informativa Privacy

Mining di regole associative in Weka

Questo esempio illustra gli elementi base della scoperta di regole associative con Weka. Si basa sull'insieme di dati pre-elaborato in questo esercizio, contenuto nel file "bank-data-final.arff". All'apertura del file in Weka si ottiene la finestra di Figura a1

La selezione del tab "Associate" porta all'interfaccia per gli algoritmi di regole associative. L'algoritmo Apriori, che verrà utilizzato, è selezionato per default. Occorre comunque selezionare l'area testo a destra del bottone "Choose" per modificare i parametri di funzionamento dell'algoritmo (supporto, confidenza, ecc.). Si noti che questa box mostra, in ogni momento, la linea di comando, con gli argomenti, che dovrebbe venire invocata per ottenere lo stesso risultato di attivazione. La finestra di dialogo in Figura a2 mostra i parametri disponibili. Il bottone "More" mostra una descrizione sintetica dei parametri.

I risultati possono essere selezionati e ordinati secondo diverse metriche, come confidenza, leverage e lift. In questo esempio verrà utilizzato il lift (miglioramento), con un valore minimo di 1.5, che è calcolato come la confidenza della regola divisa per il supporto del conseguente. In sintesi, data la regola L=>R, il lift è il rapporto fra la probabilità di presenza di L e R insieme e il prodotto delle probabilità individuali di L e R

lift = Pr(L,R) / Pr(L).Pr(R).

Se questo valore è 1 L e R sono indipendenti. Valori maggiori di 1 indicano la probabilità che L e R compaiano insieme in una transazione non casualmente, ma per effetto di una correlazione.

Porremo il valore del numero di regole generate a 100, l'estremo superiore per il supporto minimo a 1 e l'estremo inferiore a 0.1. 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. L'opzione sul test di significatività è disattivata con il valore -1.0. La Figura a3 mostra la selezione finale dei parametri.

Il pulsante "Start" avvia l'applicazione dell'algoritmo, generando il risultato di Figura a4.

Il pannello sulla sinistra ("Result list") mostra una linea indicante l'esecuzione dell'algoritmo, con il tempo di avvio. Ogni esecuzione successiva genera una nuova linea, permettendo di tenere traccia degli esperimenti. Right-click sull'insieme dei risultati permette il salvataggio del buffer in un file testuale, come in bank-data-ar1.txt. La Figura a5 mostra una porzione del file.

Osserviamo le regole scoperte. Per ogni regola sono forniti i conteggi di frequenza di antecedente e conseguente, e i valori di confidenza, lift, leverage e conviction. Leverage e lift misurano cose simili, soltanto il leverage calcola la differenza tra la probabilità di co-occorrenza di L e R, e le probabilità in caso di indipendenza,

leverage = Pr(L,R) - Pr(L).Pr(R).

In altre parole, leverage misura la proporzione di casi addizionali coperti da L e R insieme rispetto a quelli attesi in caso di indipendenza, il valore neutrale è quindi 0 e sono desiderabili valori positivi. Infine, la conviction è simile al lift, ma misura l'effetto della falsità del conseguente, ed inverte il rapporto:

conviction = Pr(L).Pr(not R) / Pr(L,R).

Questa misura non è simmetrica e non ha limite superiore.

Nella maggioranza dei casi, è sufficiente osservare una combinazione di suttorto, confidenza e lift o leverage per misurare quantitativamente la "qualità" di una regola. Tuttavia, il valore reale della regola in termini di utilità per le decisioni è soggettivo e dipende fortemente dal dominio e dagli obiettivi di business.

Uso della linea di comando

In generale, l'uso di Weka da linea di comando offre maggiore flessibilità rispetto a quello da GUI. Nel caso delle regole associative, la versione GUI non permette il salvataggio dei "frequent itemset". Osservando l'output sopra generato (bank-data-ar1.txt), le opzioni della linea di comando sono fornite all'inizio sotto "Run information". Nell'esempio la linea di comando è:

weka.associations.Apriori -N 100 -T 1 -C 1.5 -D 0.05 -U 1.0 -M 0.1 -S -1.0

Possiamo utilizzarla direttamente da "Simple CLI" interface, oppure da sistema con:

java weka.associations.Apriori options -t directory-path\bank-data-final.arff

dove options va sostituita con le opzioni prima indicate

where the word is replaced with the command line options, which for the above example are:

-N 100 -T 1 -C 1.5 -D 0.05 -U 1.0 -M 0.1 -S -1.0

Possiamo aggiungere l'opzione ("-I") per generare i frequent itemset (Figura a6):

java weka.associations.Apriori options -I -t directory-path\bank-data-final.arff

Prima delle regole, il programma mostra anche le dimensioni dei vari ordini di itemset e il relativo supporto. L'output è mostrato in bank-data- ar2.txt.

Per qualsiasi problema su questa pagina contattare il webmaster.