Association Rules and Apriori

Traduzione e Integrazione delle Lezioni a cura di Sandro Gallo

Home Introduzione Data Mining Miglioramenti A-Priori


Il market/basket problem descrive una categoria di problemi nella quale data una grande massa di dati o oggetti generici si cercano quei dati che compaiono insieme con frequenza rilevante.
Definiamo supporto il numero di carrelli/transazioni in cui un particolare sottoinsieme di articoli (itemset) compare.
Fatta questa importante premessa, diciamo che lo scopo dell'analisi di associazioni è estrarre delle regole di associazione del tipo X-->Y, dove Y deve accadere con una probabilità minima che noi chiamiamo confidenza. Nelle applicazioni pratiche ci interessano quelle regole che hanno un alto supporto, cioè si verificano in molti carrelli/transazioni, perchè sono economicamente più interessanti.
La confidenza misura l'attendibilità dell'inferenza prodotta, ed è una sorta di probabilità condizionata.
Quindi dato un alto supporto e un'alta confidenza, mostriamo degli algoritmi che hanno lo scopo di estrarre insiemi frequenti da una famiglia di oggetti.
Il più famoso tra questi è l'A-priori che si basa sul principio secondo cui se un insieme è frequente, allora ogni suo sottoinsieme deve essere frequente, detto principio di monotonicità.
Lo schema dell'algoritmo A-priori è il seguente (si noti come procede a livelli):

  1. read(s) // s è la soglia minima per il supporto
  2. L1 = {a: a appare con frequenza >= s}
  3. L2 = {{a,b}: a,b sono in L1 e {a,b} appare con frequenza >= s}
  4. L3 = {{a,b,c}: {a,b},{b,c},{a,c} sono in L2 e {a,b,c} appare con frequenza >= s}
  5. etc.
  6. L'algoritmo termina o quando l'insieme diventa vuoto o quando non è più possibile costruire insiemi con frequenza maggiore della soglia.

Home Introduzione Data Mining Miglioramenti A-Priori