Regole associative con Weka

Похожие документы
Sistemi per la gestione delle basi di dati

Clustering con Weka. L interfaccia. Prof. Matteo Golfarelli Alma Mater Studiorum - Università di Bologna. Algoritmo utilizzato per il clustering

Data Mining in SAP. Alessandro Ciaramella

Weka Project. Weka. Weka Project. Formato.arff. Modalità di utilizzo di Weka. Formato.arff

f f Un futuro per la Storia la Storia per il futuro Alma Mater Studiorum Università di Bologna Laboratorio Multidisciplinare di Ricerca Storica

Business Intelligence

PROVETTE D ESAME. Algoritmi e Strutture Dati

STRUTTURE DI CONTROLLO DEL C++

Analisi Statistica dei Dati Misurazione e gestione dei rischi a.a

Lezione 1. Statistica. Alfonso Iodice D Enza Università degli studi di Cassino. Lezione 1. A. Iodice.

Fondamenti di Informatica 6. Algoritmi e pseudocodifica

Regressione Lineare e Regressione Logistica

DATA MINING. Data mining. Obiettivo: estrarre informazione nascosta nei dati in modo da consentire decisioni strategiche

Problemi, istanze, soluzioni

Array e Oggetti. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 12. A. Miola Dicembre 2006

Il software Weka. Un software per il Data Mining/Machine learningscritto in Java e distribuito sotto la GNU Public License)

A lezione sono stati presentati i seguenti passi per risolvere un problema:

Regole associative. Prof. Paolo Giudici

Weka: Weikato university Environment for Knowledge Analysis

Strumenti per l Analisi l. ed il Preprocessing dei dati. Francesco Folino. Introduzione

Laboratorio di Python

CALCOLO NUMERICO. Prof. Di Capua Giuseppe. Appunti di Informatica - Prof. Di Capua 1

Esercizio 1. Esercizio 2

Classificazione dei caratteri

<Nome Tabella>.<attributo>

Statistica multivariata 27/09/2016. D.Rodi, 2016

INFORMATICA. Scienza dei calcolatori elettronici (computer science) Scienza dell informazione (information science)

ANALISI DEI DATI PER IL MARKETING 2014

Rappresentazione degli algoritmi

Regressione Lineare Multipla

Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a

Linguaggi, Traduttori e le Basi della Programmazione

Tracce. 1. Data una lista di elementi di tipo intero, implementare in C++ le seguenti funzioni

Tipi di variabili. Indici di tendenza centrale e di dispersione

Procedura operativa per la gestione della funzione di formazione classi prime

Introduzione agli Algoritmi 4. Problemi. Dal Problema alla Soluzione

Cos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia

Creazione di un modello di data mining di tipo OLAP con l'algoritmo Microsoft Clustering

Telerilevamento. Esercitazione 5. Classificazione non supervisionata. Apriamo l immagine multi spettrale relativa alla zona di Feltre che si trova in:

VARIABILI, ASSEGNAZIONE, DECISIONI

Note per la Lezione 6 Ugo Vaccaro

Laboratorio di Python

Algoritmi di Ricerca. Esempi di programmi Java

Progetto Matlab N 2. Calcolo Numerico 6 CFU. Corso di Laurea in Ingegneria delle Comunicazioni 31/05/2014

Capitolo 9. Tipi enumerativi, tipi generici e interfacce. c 2005 Pearson Education Italia Capitolo 9-1 / 73

Javascript. - Corso Web Design - Media Dream Academy. Stefano Gaborin

I costrutti forniti dal linguaggio si dividono in corrispondenti classi di istruzioni

Fondamenti di Informatica. Algoritmi di Ricerca e di Ordinamento

ALGORITMI: PROPRIETÀ FONDAMENTALI

I sistemi di Pianificazione e Controllo. Emilio Botrugno

Esercizio 1. (7 punti) Illustrare facendo uso di pseudocodice uno degli algoritmi per l estrazione di regole di decisione visti a lezione.

Corso di Calcolo Numerico

STATISTICA NOZIONI DI BASE

Alberi di decisione: c4.5

Caratteristiche dei linguaggi per Database

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso

La metodologia nell attività di revisione contabile (ii) Corso di Revisione Aziendale Dott.ssa Fabrizia Sarto A.A

Dati e Algoritmi I (Pietracaprina) Esercizi su Alberi Binari di Ricerca e (2,4)-Tree

SQL e linguaggi di programmazione. Cursori. Cursori. L interazione con l ambiente SQL può avvenire in 3 modi:

Lezione 6 Introduzione al C++ Mauro Piccolo

Sistemi di Elaborazione delle Informazioni

Compiti tematici dai capitoli 2,3,4

Corso di Calcolo Numerico

Corso: Fondamenti di Informatica (Gruppo 2) a.a Corsi di laurea: Ing. Settore Informazione

Algoritmi di Ricerca. Esempi di programmi Java

Controllo dei manipolatori in contatto con l'ambiente. Relazione sul A.A

SQL quick reference. piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013)

La realizzazione di sistemi di rating basati su modelli statistici

UNITÀ DIDATTICA N. 1 IL NUMERO

Транскрипт:

Regole associative con Weka Soluzioni degli esercizi Prof. Matteo Golfarelli Alma Mater Studiorum - Università di Bologna Apriori parametri e output In questa fase utilizzeremo il data set CensusTrainining.arff che riporta dati del censimento USA (http://cps.ipums.org/) 1000 istanze per il training Attributo Descrizione age Età in anni workclass Classe di lavoro fnlwgt Final sampling weight peso dell istanza (campione) rispetto alla popolazione education Titolo ottenuto education-num Numero di anni di studio marital-status Stato civile occupation Occupazione relationship Tipo di relazione con il capo famiglia race Razza sex Sesso capital-gain Utili da capitali (plus valenza) capital-loss Perdite da capitali (minus valenza) hours-per-week Ore di lavoro settimanali native-country Nazionalità Total Income L individuo guadagna più o meno di 50K$

Preprocessing Gli algoritmi di ricerca delle RA operano solo con attributi discreti Discretizzare gli attributi numerici mediante il filtro Discretize 10 bins UseEqualFrequency=true Eliminare l attributo Fnlwgt Salvare il file come CensusTrainingDiscrete.arff Eseguire un analisi manuale dei dati al fine di identificare eventuali correlazioni tra coppie di attributi Apriori: i parametri car: specifica se ricercare gereriche AR (false) oppure AR che abbiano l attributo classindex come conseguente lowerboundminsupport: valore minimo per il supporto di una regola metrictype: metrica da utilizzare per la valutazione della regola Confidence è l unica utilizzabile se car=true Lift Leverage, Conviction minmetric: valore minimo per la metrica utilizzata numrules: numero massimo di regole da restituire outputitemsets: se true il sistema restituisce anche gli itemset frequenti delta fattore di riduzione della soglia di supporto minimo da upperboundminsupport a lowerboundminsupport. Le iterazioni si fermano se si raggiunge il valore del lower bound o si scopre il numero richiesto di regole

Apriori: interpretare i risultati Eseguire Apriori Porre outputitemset=true Supporto conseguente Le regole sono ordinate in base al valore della metrica utilizzata Il supporto della regola ossia dell itemset che include antecedente e conseguente è >= al supporto dell antecedente per la proprietà di anti-monotona del supporto Supporto antecedente Supporto regola Ricerca iterativa a supporto variabile In questa particolare implementazione Apriori esegue più cicli di generazione delle regole riducendo progressivamente il supporto richiesto da upperboundminsupport a lowerboundminsupport a passi di delta A ogni iterazione sono restituite le regole che superano la soglia minmetric Il ciclo si interrompe quando: è stato raggiunto il valore lowerboundminsupport sono state individuate numrules regole Le regole sono comunque sempre riordinate in base al valore della metrica

Ricerca iterativa a supporto variabile Aumentando il numero di regole richieste: Sono possibili più iterazioni Saranno individuate regole con supporto più basso ma potenzialmente con confidenza più elevata Alzando il valore di lowerboundminsupport si trovano regole con supporto elevato tende a ridursi il numero delle regole trovate, la relativa confidenza e lunghezza Limitando l intervallo [lowerbound, upperbound] del min support è possibile analizzare fenomeni con supporto definito. Ciò consente di evitare pattern cross-dimensionali poiché di fatto si limita min e max del supporto dei singoli attributi Ricerca iterativa a supporto variabile Impostare outputitemsets=true, lanciare Apriori con i rimanenti parametri di default e discutere il risultato Impostare numrules=100 e discutere il risultato Sulla base del risultato precedente tarare il parametro lowerboundminsupport in modo da ottenere regole di lunghezza 3. Spiegare il ragionamento fatto e discutere i risultati

Ricerca iterativa a supporto variabile Impostare outputitemsets=true, lanciare Apriori con i rimanenti parametri di default e discutere il risultato Impostare numrules=100 e discutere il risultato Sulla base del risultato precedente tarare il parametro lowerboundminsupport in modo da ottenere regole di lunghezza 3. Spiegare il ragionamento fatto e discutere i risultati Regole associative per uno specifico attributo Impostare car=true e classindex=14 e verificare il comportamento di Apriori Le regole associative fanno scelte similari a quelle di un algoritmo di classificazione Vincolare le regole ad avere uno specifico conseguente serve a capire fenomeni correlati a quell atributo

Market Basket Analysis Market Basket Analysis: scopo dell analisi è l individuazione dei comportamenti/abitudini di acquisto dei consumatori, per progettare opportune azioni di marketing, ad esempio: promozione prodotti Collocazione prodotti negli scaffali dei supermarket Composizione e invio cataloghi pubblicitari Utilizziamo il data set «MarketBasket.arff», relativo a un ipotetico supermarket Istanze 651 Attributi 56 (binari) Uno per ogni prodotto in vendita Formato del file Un attributo per ogni prodotto Ogni riga rappresenta una transazione di acquisto Sono possibili due formati Formato denso: lunghezza di ogni transazioni pari al numero di prodotti in vendita. Utilizzo di dati missing per prodotti non acquistati Weka non riconosce attributi asimmetrici quindi se si utilizzasse {t,f} il sistema restituirebbe regole associative legate alle implicazioni logiche tra prodotti non acquistati @relation transaction_example_dense @attribute product1 {t} @attribute product2 {t} @attribute t product3 {t} @attribute product4 {t} @data?,t,?,? t,?,t,? t,t,t,t

Formato del file Un attributo per ogni prodotto Ogni riga rappresenta una transazione di acquisto Sono possibili due formati Formato sparso: lunghezza variabile delle transazioni che contengono solo i prodotti acquistati specificati nella forma (indice prodotto, valore). @relation transaction_example_sparse @attribute product1 {f,t} @attribute product2 {f,t} @attribute product3 {f,t} @attribute product4 {f,t} @data {2 t} {0 t, 2 t} {0 t, 1 t, 2 t, 3 t} Market Basket Analysis Ricercare regole associative interessanti Con i parametri di default (minsupport=0.1 numrules=10; MinMetric=0.9 metrictype= Confidence) Portando minsupport=0.01 Portando minsupport=0.05 Portando minmetric=0.7 Le regole non evidenziano pattern interessanti! Quali le possibili cause?

Market Basket Analysis Discutere il legame tra Hamburger Buns, 98pct Fat Free Hamburger e White Bread