Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
teknopedia

teknopedia

teknopedia

teknopedia

teknopedia

teknopedia
teknopedia
teknopedia
teknopedia
teknopedia
teknopedia
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. Algoritmo apriori - Teknopedia
Algoritmo apriori - Teknopedia

In informatica e in data mining, l'algoritmo Apriori è un classico algoritmo di ricerca delle associazioni. È utilizzato per la generazione degli itemset frequenti, per approssimazioni successive, a partire dagli itemset con un solo elemento. In sintesi, il presupposto teorico su cui si basa l'algoritmo parte dalla considerazione che se un insieme di oggetti (itemset) è frequente, allora anche tutti i suoi sottoinsiemi sono frequenti, ma se un itemset non è frequente, allora neanche gli insiemi che lo contengono sono frequenti (principio di anti-monotonicità).[1][2]

Un ambito dove questo algoritmo trova grande applicabilità è il market/basket problem.[3] Per ricavare le associazioni viene impiegato un approccio bottom up, dove i sottoinsiemi frequenti sono costruiti aggiungendo un item per volta (generazione dei candidati); i gruppi di candidati sono successivamente verificati sui dati e l'algoritmo termina quando non ci sono ulteriori estensioni possibili. In questo processo, il numero delle iterazioni è k m a x + 1 {\displaystyle k_{max}+1} {\displaystyle k_{max}+1}, dove k m a x {\displaystyle k_{max}} {\displaystyle k_{max}} indica la cardinalità massima di un itemset frequente.

Vi sono altri algoritmi con finalità analoghe (Winepi e Minepi), e che tuttavia sono più diffusi in ambiti dove i dati sono privi di timestamp (ad esempio le sequenze di DNA).[4]

Apriori, anche se storicamente significativo, soffre di alcune inefficienze. In particolare, la generazione dei candidati crea molti sottoinsiemi. Nel processo vengono individuati i sottoinsiemi significativi solo dopo aver trovato tutti i 2 | S | − 1 {\displaystyle 2^{|S|}-1} {\displaystyle 2^{|S|}-1} sottoinsiemi propri, dove S è il gruppo di elementi specifico (Supporto) in cui un particolare sottoinsieme di oggetti compare.[5]

Esempi

[modifica | modifica wikitesto]

Insiemi frequenti

[modifica | modifica wikitesto]

I passi dell'algoritmo per trovare gli insiemi frequenti L {\displaystyle L} {\displaystyle L} nel Database D {\displaystyle D} {\displaystyle D}:

a. ricerca di insiemi frequenti L k − 1 {\displaystyle L_{k-1}} {\displaystyle L_{k-1}}
b. passo di Join
C k {\displaystyle C_{k}} {\displaystyle C_{k}} generato con un join di L k − 1 {\displaystyle L_{k-1}} {\displaystyle L_{k-1}} con se stesso
c. passo di Pruning
qualunque ( k − 1 ) − ( i t e m s e t ) {\displaystyle (k-1)-(itemset)} {\displaystyle (k-1)-(itemset)} non frequente non può essere un sottoinsieme frequente k − ( i t e m s e t ) {\displaystyle k-(itemset)} {\displaystyle k-(itemset)}, perciò sarà rimosso

dove C k {\displaystyle C_{k}} {\displaystyle C_{k}} è il candidato itemset di grandezza k {\displaystyle k} {\displaystyle k} e dove inoltre L k {\displaystyle L_{k}} {\displaystyle L_{k}} è l'itemset frequente di grandezza k {\displaystyle k} {\displaystyle k}

Candidati

[modifica | modifica wikitesto]

Questo esempio mostra il processo di selezione ovvero generazione di una lista ordinata di itemset candidati.
Il compito consiste nella costruzione di un insieme ordinato di k {\displaystyle k} {\displaystyle k} nodi, in modo seriale, a partire da itemset di grandezza k − 1 {\displaystyle k-1} {\displaystyle k-1}.
Ad esempio, con k = 4 {\displaystyle k=4} {\displaystyle k=4}, supponiamo che ci siano due di tali insiemi di grandezza k − 1 {\displaystyle k-1} {\displaystyle k-1}

A → B → C {\displaystyle A\rightarrow B\rightarrow C} {\displaystyle A\rightarrow B\rightarrow C},

e

A → B → D {\displaystyle A\rightarrow B\rightarrow D} {\displaystyle A\rightarrow B\rightarrow D},

ebbene i due itemset candidati generati saranno

A → B → C → D {\displaystyle A\rightarrow B\rightarrow C\rightarrow D} {\displaystyle A\rightarrow B\rightarrow C\rightarrow D}

e

A → B → D → C {\displaystyle A\rightarrow B\rightarrow D\rightarrow C} {\displaystyle A\rightarrow B\rightarrow D\rightarrow C}.

Pseudocodice

[modifica | modifica wikitesto]

Apriori ( T , ε ) {\displaystyle (T,\varepsilon )} {\displaystyle (T,\varepsilon )}

L 1 ← { {\displaystyle L_{1}\gets \{} {\displaystyle L_{1}\gets \{} large 1-itemsets } {\displaystyle \}} {\displaystyle \}}
k ← 2 {\displaystyle k\gets 2} {\displaystyle k\gets 2}
while L k − 1 ≠ ∅ {\displaystyle L_{k-1}\neq \varnothing } {\displaystyle L_{k-1}\neq \varnothing }
C k ← {\displaystyle C_{k}\gets } {\displaystyle C_{k}\gets }Generate ( L k − 1 ) {\displaystyle (L_{k-1})} {\displaystyle (L_{k-1})}
for transactions t ∈ T {\displaystyle t\in T} {\displaystyle t\in T}
C t ← {\displaystyle C_{t}\gets } {\displaystyle C_{t}\gets }Subset ( C k , t ) {\displaystyle (C_{k},t)} {\displaystyle (C_{k},t)}
for candidates c ∈ C t {\displaystyle c\in C_{t}} {\displaystyle c\in C_{t}}
c o u n t [ c ] ← c o u n t [ c ] + 1 {\displaystyle \mathrm {count} [c]\gets \mathrm {count} [c]+1} {\displaystyle \mathrm {count} [c]\gets \mathrm {count} [c]+1}
L k ← { c ∈ C k |   c o u n t [ c ] ≥ ε } {\displaystyle L_{k}\gets \{c\in C_{k}|~\mathrm {count} [c]\geq \varepsilon \}} {\displaystyle L_{k}\gets \{c\in C_{k}|~\mathrm {count} [c]\geq \varepsilon \}}
k ← k + 1 {\displaystyle k\gets k+1} {\displaystyle k\gets k+1}
return ⋃ k L k {\displaystyle \bigcup _{k}L_{k}} {\displaystyle \bigcup _{k}L_{k}}

Note

[modifica | modifica wikitesto]
  1. ^ Regole associative, CNR pdf (PDF).
  2. ^ Regole associative, UNIFE pdf (PDF) (archiviato dall'url originale il 14 maggio 2006).
  3. ^ DataMining For Dummies (archiviato dall'url originale il 21 novembre 2010).
  4. ^ Data Mining, Univ. Helsinki ppt (PPT).
  5. ^ Agrawal R, Srikant R. "Fast Algorithms for Mining Association Rules", pdf (PDF), su rakesh.agrawal-family.com. URL consultato il 19 agosto 2010 (archiviato dall'url originale il 25 febbraio 2015).
  Portale Informatica
  Portale Matematica
Estratto da "https://it.wikipedia.org/w/index.php?title=Algoritmo_apriori&oldid=147643297"

  • Indonesia
  • English
  • Français
  • 日本語
  • Deutsch
  • Italiano
  • Español
  • Русский
  • فارسی
  • Polski
  • 中文
  • Nederlands
  • Português
  • العربية
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022