- Trending Categories
- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP
- Physics
- Chemistry
- Biology
- Mathematics
- English
- Economics
- Psychology
- Social Studies
- Fashion Studies
- Legal Studies

- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who

# What is Apriori Algorithm?

Apriori is a seminal algorithm developed by R. Agrawal and R. Srikant in 1994 formining frequent itemsets for Boolean association rules. The algorithm depends on the case that the algorithm need previous knowledge of frequent itemset properties.

Apriori use an iterative method called a level-wise search, where k-itemsets can explore (k+1)-itemsets. First, the set of frequent 1-itemsets is discovered by browsing the database to assemble the count for each item, and receiving those items that satisfy minimum support. The resulting set is indicated L_{1}.

Next, L_{1} can find L_{2}, the set of frequent 2-itemsets, which can find L_{3}, etc, until no more frequent k-itemsets can be discovered. The finding of each L_{k} needed one complete scan of the database.

It can increase the effectiveness of the level-wise generation of frequent itemsets, an essential property known as the Apriori property. It can reduce the search space.

**Apriori property** − Some nonempty subsets of a frequent itemset should also be frequent.

The Apriori property depends on the following observation. By description, if an itemset I does not satisfy the minimum support threshold, min sup, then I is not frequent; that is, P(I) < min_sup.

If an item A is inserted to the itemset I, thus the resulting itemset (i.e., I ∪ A) cannot appear regularly than I. Thus, I∪A is not frequent such as P (I ∪ A) < min_sup.

This property belongs to an element of properties known as antimonotone in the sense that if a set cannot change a test, some supersets will decline the similar test as well. It is known as antimonotone because the property is monotonic in the context of declining a test.

There are two-step process is followed, including join and prune actions which are as follows −

**The join step** − It can find L_{k}, a set of candidate k-itemsets is produced by joining L_{k}−1 with itself. This set of candidates is indicated C_{k}. Let L_{1} and L_{2} be itemsets in L_{k}−1. The documentation L_{i}[j] defines the jth item in L_{i} (e.g., L_{1} [k−2] defines the second to the last item in L_{1}).

**The prune step** − C_{k} is a superset of L_{k}, i.e., its members cannot be frequent, but some frequent k-itemsets are involved in C_{k}. A scan of the database to decide the count of every candidate in C_{k} can result in the determination of L_{k} (i.e., some candidates having a count no less than the minimum support count are frequent by description, and thus belong to L_{k}). C_{k} can be large, and it can include large computation.

- Related Articles
- What is the complexity of the Apriori Algorithm?
- What is division algorithm ?
- What is Parallel Algorithm?
- What is Dijikstra Algorithm?
- What is RIPPER Algorithm?
- What is Backpropagation Algorithm?
- What is Euclid's division algorithm?
- What is Congestion Control Algorithm?
- What is Hoeffding Tree Algorithm?
- What is Distance Vector Routing Algorithm?
- What is the Blowfish encryption algorithm?
- What is the CART Pruning Algorithm?
- What is the C5 Pruning Algorithm?
- What is an Agglomerative Clustering Algorithm?
- What is algorithm for computing the CRC?