- Apriori algorithm
In
computer science anddata mining , Apriori is a classic algorithm for learningassociation rule s. Apriori is designed to operate ondatabase s containing transactions (for example, collections of items bought by customers, or details of a website frequentation). Other algorithms are designed for finding association rules in data having no transactions (Winepi and Minepi), or having no timestamps (DNA sequencing).As is common in
association rule mining , given a set of "itemsets" (for instance, sets of retail transactions, each listing individual items purchased), the algorithm attempts to find subsets which are common to at least a minimum number C (the cutoff, or confidence threshold) of the itemsets. Apriori uses a "bottom up" approach, where frequent subsets are extended one item at a time (a step known as "candidate generation"), and groups of candidates are tested against the data. The algorithm terminates when no further successful extensions are found.Apriori uses
breadth-first search and a tree structure to count candidate item sets efficiently. It generates candidate item sets of length from item sets of length . Then it prunes the candidates which have an infrequent sub pattern. According to thedownward closure lemma , the candidate set contains all frequent -length item sets. After that, it scans the transaction database to determine frequent item sets among the candidates.Apriori, while historically significant, suffers from a number of inefficiencies or trade-offs, which have spawned other algorithms. Candidate generation generates large numbers of subsets (the algorithm attempts to load up the candidate set with as many as possible before each scan). Bottom-up subset exploration (essentially a breadth-first traversal of the subset lattice) finds any maximal subset S only after all of its proper subsets.
Example
This example suggests the process of selecting or generating a list of likely ordered serial candidate item sets.The technique's goal is to construct a set of node ordered serial item sets from length item sets.For example, with , suppose there are two such sets of length ...:, and :, two candidate item sets are generated, namely :and :.
Algorithm
Association rule mining is to find out association rules that satisfy the predefinedminimum support and confidence from a given database. The problem is usuallydecomposed into two subproblems. One is to find those itemsets whose occurrencesexceed a predefined threshold in the database; those itemsets are called frequent orlarge itemsets. The second problem is to generate association rules from those largeitemsets with the constraints of minimal confidence. Suppose one of the large itemsetsis Lk, Lk = {I1, I2, … , Ik}, association rules with this itemsets are generated in thefollowing way: the first rule is {I1, I2, … , Ik-1}⇒ {Ik}, by checking the confidencethis rule can be determined as interesting or not. Then other rule are generated bydeleting the last items in the antecedent and inserting it to the consequent, further theconfidences of the new rules are checked to determine the interestingness of them.Those processes iterated until the antecedent becomes empty. Since the second subproblemis quite straight forward, most of the researches focus on the first subproblem.The Apriori algorithm finds the frequent sets In Database .
* Find frequent set .
* Join Step.
** is generated by joining with itself
* Prune Step.
** Any -itemset that is not frequent cannot be a subset of a frequent -itemset, hence should be removed.where
* (: Candidate itemset of size )
* (: frequent itemset of size )Apriori Pseudocode
"Apriori" : "large 1-itemsets that appear in more than transactions" : :: "while" ::: "Generate"::: "for transactions" :::: Subset:::: "for candidates" ::::: ::: ::: : "return"
References
* Agrawal R, Imielinski T, Swami AN. "Mining Association Rules between Sets of Items in Large Databases." "
SIGMOD ". June 1993, 22(2):207-16, [http://portal.acm.org/ft_gateway.cfm?id=170072&type=pdf&coll=GUIDE&dl=portal,ACM&CFID=11111111&CFTOKEN=2222222 pdf] .
* Agrawal R, Srikant R. "Fast Algorithms for Mining Association Rules", "VLDB ". Sep 12-15 1994, Chile, 487-99, [http://www.acm.org/sigmod/vldb/conf/1994/P487.PDF pdf] , ISBN 1-55860-153-8.
* Mannila H, Toivonen H, Verkamo AI. "Efficient algorithms for discovering association rules." "AAAI Workshop on Knowledge Discovery in Databases (SIGKDD )". July 1994, Seattle, 181-92, [http://www.softlab.ntua.gr/facilities/public/AD/DM/Efficient_Algorithms_for_Discovering_Association_Rules.ps ps] .
* S. Kotsiantis, D. Kanellopoulos, Association Rules Mining: A Recent Overview, GESTS International Transactions on Computer Science and Engineering, Vol.32 (1), 2006, pp. 71-82 (http://www.math.upatras.gr/~esdlab/en/members/kotsiantis/association%20rules%20kotsiantis.pdf)
Wikimedia Foundation. 2010.