Algoritmo Apriori: come funziona? In che modo i marchi possono utilizzare l'algoritmo Apriori?

Pubblicato: 2020-03-26

Immagina di essere al supermercato e nella tua mente di avere gli oggetti che volevi comprare. Ma finisci per comprare molto di più di quanto dovresti. Questo si chiama acquisto impulsivo e i marchi utilizzano l' algoritmo apriori per sfruttare questo fenomeno. Fai clic per saperne di più se sei interessato a saperne di più sugli algoritmi della scienza dei dati.

Cos'è questo algoritmo? E come funziona? Troverai le risposte a queste domande in questo articolo. Daremo prima un'occhiata a cos'è questo algoritmo e poi a come funziona.

Cominciamo.

Sommario

Cos'è l'algoritmo Apriori?

L'algoritmo apriori ti fornisce set di oggetti frequenti. La sua base è la proprietà apriori che possiamo spiegare nel modo seguente:

Supponiamo che un set di articoli di cui disponi abbia un valore di supporto inferiore al valore di supporto necessario. Quindi, anche i sottoinsiemi di questo set di elementi avrebbero un valore di supporto inferiore a quello richiesto. Quindi, non li includerai nel tuo calcolo e, di conseguenza, risparmierai molto spazio.

Il valore di supporto si riferisce al numero di volte in cui un determinato set di articoli appare nelle transazioni. L'algoritmo apriori è piuttosto popolare grazie alla sua applicazione nei sistemi di raccomandazione. In genere, applicherai questo algoritmo ai database transazionali, il che significa un database di transazioni. Esistono anche molte applicazioni nel mondo reale di questo algoritmo. Dovresti anche familiarizzare con Association Rule Mining per comprendere correttamente l'algoritmo apriori.

Leggi anche: Prerequisito per Data Science. Come cambia nel tempo?

Come funziona l'algoritmo Apriori?

L'algoritmo apriori genera regole di associazione utilizzando set di elementi frequenti. Il suo principio è semplice: anche il sottoinsieme di un set di elementi frequente sarebbe un set di elementi frequente. Un insieme di elementi che ha un valore di supporto maggiore di un valore di soglia è un insieme di elementi frequente. Considera i seguenti dati:

TID Elementi
T1 1 3 4
T2 2 3 5
T3 1 2 3 5
T4 2 5
T5 1 3 5

Nella prima iterazione, supponiamo che il valore di supporto sia due e crea gli insiemi di elementi con dimensione 1. Ora calcola i loro valori di supporto di conseguenza. Scarteremmo l'articolo che avrebbe un valore di supporto inferiore a quello minimo. In questo esempio, sarebbe l'elemento numero quattro.

C1 (Risultato della prima iterazione)

Set di articoli Supporto
{1} 3
{2} 3
{3} 4
{4} 1
{5} 4

F1 (dopo aver scartato {4})

Set di articoli Supporto
{1} 3
{2} 3
{3} 4
{5} 4

Nella seconda iterazione, manterremo due le dimensioni dei set di elementi e quindi calcoleremo i valori di supporto. Useremo tutte le combinazioni della tabella F1 in questa iterazione. Rimuoveremo tutti i set di elementi che avrebbero valori di supporto inferiori a due.

C2 (ha elementi presenti solo in F1)

Set di articoli Supporto
{1,2} 1
{1,3} 3
{1,5} 2
{2,3} 2
{2,5} 3
{3,5} 3

F2 (dopo aver rimosso gli elementi con valori di supporto inferiori a 2)

Set di articoli Supporto
{1,3} 3
{1,5} 2
{2,3} 2
{2,5} 3
{3,5} 3

Ora eseguiremo la potatura. In questo caso, divideremo gli itemset di C3 in sottoinsiemi e rimuoveremo quelli che hanno un valore di supporto inferiore a due.

C3 (Dopo aver eseguito la potatura)

Set di articoli In F2?
{1,2,3}, {1,2}, {1,3}, {2,3} NO
{1,2,5}, {1,2}, {1,5}, {2,5} NO
{1,3,5}, {1,5}, {1,3}, {3,5}
{2,3,5}, {2,3}, {2,5}, {3,5}

Nella terza iterazione, scarteremo {1,2,5} e {1,2,3} poiché entrambi hanno {1,2}. Questo è l'impatto principale dell'algoritmo apriori.

F3 (Dopo aver scartato {1,2,5} e {1,2,3})

Set di articoli Supporto
{1,3,5} 2
{2,3,5} 2

Nella quarta iterazione, useremo i set di F3 per creare C4. tuttavia, poiché il valore di supporto di C4 è inferiore a 2, non procederemmo e il set di elementi finale è F3.

C3

Set di articoli Supporto
{1,2,3,5} 1

Abbiamo i seguenti set di elementi con F3:

Per I = {1,3,5}, i sottoinsiemi che abbiamo sono {5}, {3}, {1}, {3,5}, {1,5}, {1,3}

Per I = {2,3,5}, i sottoinsiemi che abbiamo sono {5}, {3}, {2}, {3,5}, {2,5}, {2,3}

Ora creeremo e applicheremo le regole all'item F3. A tal fine, assumiamo che il valore di confidenza minimo sia attualmente del 60%. Per i sottoinsiemi S di I, ecco la regola che otteniamo:

  • S -> (I,S) (questo significa che S consiglia IS)
  • Se support(I) / support(S) >= valore min_conf

Facciamo questo per il primo sottoinsieme che abbiamo, cioè {1,3,5}

Regola n.1: {1,3} -> ({1,3,5} – {1,3}) significa 1 e 3-> 5

Valore di confidenza = valore di supporto di (1,3,5) / valore di supporto di (1,3) = ⅔ = 66,66%

Poiché il risultato è superiore al 60%, selezioniamo la Regola n.1.

Regola n.2: {1,5} -> {(1,3,5) – {1,5}) questo significa 1 e 5 -> 3

Valore di confidenza = valore di supporto di (1,3,5) / valore di supporto di (1,5) = 2/2 = 100%

Poiché il risultato è superiore al 60%, selezioniamo la Regola n.2.

Regola n.3: {3} -> ({1,3,5} – {3}) significa 3 -> 1 e 5

Valore di confidenza = valore di supporto di (1,3,5) / valore di supporto di (3) = 2/4 = 50%

Poiché il risultato è inferiore al 60%, respingiamo la Regola n.3.

Guadagna corsi di scienza dei dati dalle migliori università del mondo. Unisciti ai nostri programmi Executive PG, Advanced Certificate Program o Masters per accelerare la tua carriera.

Con l'esempio sopra, puoi vedere come l'algoritmo Apriori crea e applica regole. Puoi seguire questi passaggi per il secondo set di elementi ({2,3,5}) che abbiamo. Provarlo ti darà sicuramente una grande esperienza nel capire quali regole accetta l'algoritmo e quali rifiuta. L'algoritmo rimane lo stesso in altri luoghi come l'algoritmo Apriori Python.

Conclusione

Dopo aver letto questo articolo, siamo sicuri che avresti abbastanza familiarità con questo algoritmo e la sua applicazione. Grazie al suo utilizzo nei sistemi di raccomandazione, è diventato anche abbastanza popolare.

Esiste un algoritmo più efficiente dell'algoritmo Apriori?

L'algoritmo ECLAT (Equivalence Class Clustering and bottom-up Lattice Traversal) è molto utile e popolare per il mining di regole di associazione. Inoltre, è anche noto per essere un algoritmo più efficiente e veloce rispetto all'algoritmo Apriori.

L'algoritmo Apriori funziona in modo orizzontale imitando la ricerca in ampiezza di un grafico, mentre l'algoritmo ECLAT lavora in modo verticale imitando la ricerca in profondità di un grafico. Questo approccio verticale è la ragione alla base della maggiore velocità e della migliore efficienza dell'algoritmo ECLAT rispetto all'algoritmo Apriori.

L'algoritmo Apriori è utile per quale scopo?

L'algoritmo Apriori è un algoritmo classico ampiamente utilizzato nel data mining. È davvero utile per estrarre regole di associazione rilevanti e anche set di elementi frequenti dal database disponibile. Di solito, questo algoritmo viene utilizzato da organizzazioni che devono gestire un database composto da molte transazioni. Ad esempio, l'algoritmo apriori rende abbastanza facile determinare gli articoli che i clienti acquistano frequentemente dal tuo negozio. Le vendite sul mercato possono essere notevolmente migliorate con l'aiuto di questo algoritmo.

Oltre a questo, questo algoritmo viene utilizzato anche nel settore sanitario per rilevare le reazioni avverse ai farmaci. L'algoritmo produce regole di associazione per determinare tutte le combinazioni di caratteristiche del paziente e farmaci che potrebbero causare reazioni avverse al farmaco.

Quali sono i pro ei contro dell'algoritmo Apriori?

L'algoritmo Apriori è abbastanza facile da implementare, comprendere e può essere utilizzato in modo molto efficiente su insiemi di oggetti di grandi dimensioni. A volte, potrebbe essere necessario trovare un gran numero di regole candidate e questo processo potrebbe essere un po' dispendioso dal punto di vista computazionale. Poiché deve passare attraverso l'intero database, è anche costoso calcolare il supporto.