Regole di Associazione



Похожие документы
Ingegneria della Conoscenza e Sistemi Esperti Lezione 2: Apprendimento non supervisionato

Esercizi sull Association Analysis

Mining Positive and Negative Association Rules:

Università di Pisa A.A

Informatica 3. Informatica 3. LEZIONE 10: Introduzione agli algoritmi e alle strutture dati. Lezione 10 - Modulo 1. Importanza delle strutture dati

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

Introduzione alle tecniche di Data Mining. Prof. Giovanni Giuffrida

Il modello EER comprende tutti i concetti di modellazione del modello ER, cui si aggiungono:

Capitolo 4 Probabilità

Introduzione alla teoria dei database relazionali. Come progettare un database

Data Mining in SAP. Alessandro Ciaramella

Stefania Marrara - Esercitazioni di Tecnologie dei Sistemi Informativi. Integrazione di dati di sorgenti diverse

I Problemi e la loro Soluzione. Il Concetto Intuitivo di Calcolatore. Risoluzione di un Problema. Esempio

Università di Roma La Sapienza, Facoltà di Ingegneria

COGNOME E NOME (IN STAMPATELLO) MATRICOLA

Corso di. Dott.ssa Donatella Cocca

Introduzione ai Sistemi di Gestione di Basi di Dati XML

Operazioni sui database

DAL PROBLEMA ALL'ALGORITMO AL PROGRAMMA SCRITTO IN Come. Scopo principale dell informatica è risolvere problemi con i calcolatori.

Data mining: classificazione DataBase and Data Mining Group of Politecnico di Torino

Esercitazioni di Progettazione del Software. Esercitazione (Prova al calcolatore del 17 settembre 2010)

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

Strumenti di modellazione. Gabriella Trucco

Progetto ASTREA WP2: Sistema informativo per il monitoraggio del sistema giudiziario

Le Basi di Dati. Le Basi di Dati

Programmi e Oggetti Software

UN PROGRAMMA APPLICATIVO: ACCESS Access è un programma del pacchetto Office che permette di realizzare database

Alessandra Raffaetà. Basi di Dati

Compito DA e BD. Tempo concesso: 90 minuti 12 giugno 03 Nome: Cognome: Matricola: Esercizio 1

Laurea Specialistica in Informatica

Strumenti per la gestione della configurazione del software

Il seguente esempio ha lo scopo di illustrare i 3 tipi di relazione 1:1,1:N,N:N. Tabella Conto: Tabella Conto:

Plate Locator Riconoscimento Automatico di Targhe

Modellazione dei dati in UML

Sistemi Informativi Territoriali. Map Algebra

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

LA STATISTICA si interessa del rilevamento, dell elaborazione e dello studio dei dati; studia ciò che accade o come è fatto un gruppo numeroso di

Concetti di base di ingegneria del software

Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati

APPUNTI DI MATEMATICA ALGEBRA \ INSIEMISTICA \ TEORIA DEGLI INSIEMI (1)

Il Modello Relazionale

Progettazione della componente applicativa

Introduzione ai database relazionali

Correttezza. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 10. A. Miola Novembre 2007

I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due:

Informatica per le discipline umanistiche 2 lezione 10

Implementing a new ADT based on the HL7 version 3 RIM. Esempio

UNIVERSITA DEGLI STUDI DI BRESCIA Facoltà di Ingegneria

Appunti sulla Macchina di Turing. Macchina di Turing

Data Warehousing (DW)

Per capire meglio l ambito di applicazione di un DWhouse consideriamo la piramide di Anthony, L. Direzionale. L. Manageriale. L.

Semantica dei programmi. La semantica dei programmi è la caratterizzazione matematica dei possibili comportamenti di un programma.

DATABASE.

Linguaggi. Claudio Sacerdoti Coen 11/04/ : Semantica della logica del prim ordine. Universitá di Bologna

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

Il sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi.

Università degli Studi di L Aquila. Facoltà di Ingegneria. Corso di Laurea in Ingegneria Elettronica Corso di Sistemi Informativi

Fondamenti di Informatica. Docenti: Prof. Luisa Gargano Prof. Adele Rescigno BENVENUTI!

METODOLOGIA DI PREVISIONE DELLA DOMANDA ELETTRICA E DELLA

Scopo della lezione. Informatica. Informatica - def. 1. Informatica

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Introduzione all Information Retrieval

Piano di gestione della qualità

Metodi statistici per le ricerche di mercato

Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web: Prof. G. Quarella prof@quarella.

Raggruppamenti Conti Movimenti

I database. Cosa sono e a cosa servono i Database

Funzioni in C. Violetta Lonati

Progetto GRIIN Gestione Remota di Illuminazione in edifici INdustriali pubblici - commerciali

Page 1. Evoluzione. Intelligenza Artificiale. Algoritmi Genetici. Evoluzione. Evoluzione: nomenclatura. Corrispondenze natura-calcolo

Concetto di Funzione e Procedura METODI in Java

ALGORITMI e PROGRAMMI Programmazione: Lavoro che si fa per costruire sequenze di istruzioni (operazioni) adatte a svolgere un dato calcolo

Relazione Geologica e Relazione Geotecnica

Object Oriented Software Design

Le strumentazioni laser scanning oriented per i processi di censimento anagrafico dei patrimoni

GESTIONE DELLA PROGRAMMAZIONE UNITARIA OB. C5 STAGE IN ITALIA GESTIONE DELLO STAGE

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone

Rappresentazione grafica di entità e attributi

SISTEMI DI GESTIONE QUALITA UNI EN ISO Maggio 2011

Università Politecnica delle Marche Facoltà di Ingegneria Corso di Laurea Specialis;ca in Ingegneria Ele=ronica

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A Esercitazione. Programmazione Object Oriented in Java

Introduzione al MATLAB c Parte 2

SISTEMI INFORMATIVI AVANZATI -2010/ Introduzione

Транскрипт:

Metodologie per Sistemi Intelligenti Regole di Associazione Prof. Pier Luca Lanzi Laurea in Ingegneria Informatica Politecnico di Milano Polo regionale di Como

Esempio

Esempio

Regole di Associazione Scopo Trovare Associazioni interessanti e relazioni di correlazione in grandi insiemi di transazioni Dominio applicativo Grandi collezioni di dati che possono essere raccolti con grande facilità in cui esista un concetto di transazione Ad esempio, scontrini di supermercato, log di trasmissioni di cellulari

Regole di Associazione computer software_finanziario con confidenza 0.6 supporto 0.02 Affermache: computer e software_finanziario sono acquistati insieme dal 2% dei clienti Il 60% dei clienti che acquistano computer acquistano anche software finanziario

Regole di Associazione pane,burro latte con supporto 0.05 confidenza 0.9 Afferma che: pane, burro e latte compaiono insieme nel 5% degli scontrini Il 90% degli scontrini che contengono pane e burro contengono anche latte

Regole di Associazione Le regole di associazione sono una sorta di implicazioni La regola X Y viene interpretata come nelle transazioni in cui compare X compare anche Y X è detto corpo o rule body, Y è detta testa o rule head

Supporto e Confidenza Le regole di associazione sono caratterizzate da due misure statistiche: supporto, e confidenza. Il supporto indica la percentuale di transazioni che contengono entrambe X ed Y La confidenzaindica, date le transazioni che contengono X, qual è la percentuale di transazioni che contengono Y

Esempio

Esempio Supporto? Confidenza?

Esempio Supporto = percentuale di transazioni in cui compaiono entrambi i simboli. Supporto = 4/12 = 0.33

Esempio Confidenza = date le transazioni contenenti un quadrato nero, qual è la percentuale di transazioni che contengono anche un triangolo bianco? Confidenza = 4/5 = 0.80

Formalmente... Dati un insieme I di item {I 1 I n } un insieme D di transazioni T, T I due insieme X e Y di elementi, X I Y I la funzione freq(x,d) che restituisce pa percentuale di transazioni in D che contengono X

Formalmente... La regola X Y indica che le transazioni T che contengono X (X T), conterranno molto probabilmente anche gli elementi di Y (Y T) Il supporto di X Y rispetto a D è calcolato come support(x Y,D) = freq(x Y,D) La confidenza di X Y rispetto a D è calcolata come confidence(x Y,D) = freq(x Y,D)/freq(X,D)

Formalmente Il problema di estrarre regole di associazione è definito come il problema di estrarre tutte le regole con un supporto superiore al parametro min_sup una confidenza superiore al parametro min_conf Le regole che soddisfano i vincoli di supporto minimo e confidenza minima sono dette strong association rules

Tipi di Regole di Associazione Le regole di associazione si caratterizzano in base a diverse caratteristiche quali: il tipo di dati trattati (nominali o numerici) il numero di tipi di elementi coinvolti (T I 1 I n ) il numero di livelli di astrazione coinvolti

Itemset Un insieme di item è detto itemset Un insieme di k item è detto k-itemset L insieme {pane,burro,latte}è un 3-itemset Il Support count indica il numero di transazioni che contengono un certo itemset

Itemset La frequenza di un itemset è la percentuale di transazioni in cui tutti gli elementi dell itemset compaiono Un itemset con frequenza superiore a min_sup è detto frequent itemset L insieme dei itemset di ordine k è indicato con L k

Esempio Qual è la frequenza dell itemset formato da un triangolo, un quadrato ed un esagono bianchi? 4/12

Come funziona? È un processo in due fasi Nella prima fase vengono estratti tutti i frequent itemset Nella seconda fase vengono estratte tutte le regole di associazione che soddisfano i vincoli di min_sup e min_conf

Calcolo dei frequent itemset Se un itemset X non soddisfa min_sup allora nessuna sua estensione X Y soddiferà min_sup Si parte dall insieme L1 dei frequent itemset contenenti un solo elemento L1 è utilizzato per trovare L2 L2 è utilizzato per trovare L3 Il processo continua fino a quando non è più possibile trovare frequent k-itemset

Algoritmo generale 1. Nella prima fase, il supporto di ogni item viene contato e vengono determinati i frequent itemset di dimensione 1 2. In ogni passo successivo, i frequent itemset determinati al passo precedente sono utilizzati per generare i nuovi itemset detti candidate itemsets. 3. Il supporto di ogni candidato è calcolato e i frequent itemset sono determinati 4. Il processo continua fino a quando non vengono trovati nuovi frequent itemset.

Algoritmo generale Tutti gli algoritmi si basano sulla downward closure property Se un itemset ha supporto minimo, allora ogni sottoinsieme dell itemset ha pure supporto minimo Quindi si applica una cosìdetta level-wise search

Algoritmo generale Passo 1 il supporto di ogni item è calcolato ottenendo così i frequent itemset di dimensione 1 Passo 2 I frequent itemset ottenuti al passo precedente sono estesi ottenendo i nuovi itemset candidati Passo 3 Viene calcolato il supporto dei nuovi itemset e solo quelli che soddisfano il minimo supporto sono tenuti Di volta in volta il numero di candidati diminuisce, la procedura finisce quando non ci sono più candidati che soddisfino la condizione di minimo supporto

Algoritmo Apriori L 1 = {large 1-itemsets} for (k=2; L k-1 ; k++) { C k = apriori-gen(l k-1 ); // nuovi candidati forall transactions t { C t = subset (C k, t) forall candidates c C t do c.count++ } L k = {c C t c.count minsup} } return k L k

Algoritmo AIS Due passi fondamentali Estensione degli itemset Determinazione dei candidate itemset Gli itemset candidati sono generati dinamicamente I nuovi itemset candidati item sets sono generati estendendo i frequent itemset generati al passo precedente

Algoritmo SETM L algoritmo è ottenuto esprimendo l approccio generale attraverso l uso di query SQL Due passi fondamentali Gli itemset candidati sono generati attraverso join Viene calcolato il supporto così da determinare i frequent itemset Anche in questo caso, i candidati sono generati dinamicamente (on the fly) I nuovi candidati sono generati estendendo i frequent itemset del passo precedente con altri elementi della transazione

Esempio Transazioni L 1 C 2 TID Items Itemset Support Itemset Support 100 1 3 4 {1} 2 {1 3}* 2 200 2 3 5 {2} 3 {1 4} 1 300 1 2 3 5 {3} 3 {3 4} 1 400 2 5 {5} 3 {2 3}* 2 C 3 Itemset Support {1 3 4} 1 {2 3 5}* 2 {3 5}* {1 2} {1 5} 2 1 1 {2 5}* 3 {1 3 5} 1

Dagli itemset alle regole... Dati due frequent itemset X e Y confidence(x Y) = P(Y X)= = support_count(x Y,D)/support_count(X,D) INPUT frequent itemset FI OUTPUT strong association rules for every frequent itemset X of FI for every non empty subset s of X { if support_count(x)/support_count(s)>min_conf output the rule s (X-s) }

Formalmente... un insieme I di item {I 1 I n } un insieme D di transazioni T, T I due insieme X e Y di elementi, X I Y I data la funzione freq(x,d) che restituisce pa percentuale di transazioni in D che contengono X La regola X Y indica che le transazioni T che contengono X (X T), conterranno molto probabilmente anche gli elementi di Y (Y T) Il supporto di X Y rispetto a D è calcolato come support(x Y,D) = freq(x Y,D) La confidenza di X Y rispetto a D ècalcolata come confidence(x Y,D) = freq(x Y,D)/freq(X,D)

Riferimenti J.Han & M.Kamber. Data Mining: Concepts and techniques Morgan Kaufmann (2001). Capitolo 6 e 8.