Package smile.association
For example, the rule {onions, potatoes} ⇒ {burger} found in the sales data of a supermarket would indicate that if a customer buys onions and potatoes together, he or she is likely to also buy burger. Such information can be used as the basis for decisions about marketing activities such as promotional pricing or product placements.
Association rules are usually required to satisfy a userspecified minimum support and a userspecified minimum confidence at the same time. Association rule generation is usually split up into two separate steps:
 First, minimum support is applied to find all frequent item sets in a database (i.e. frequent item set mining).
 Second, these frequent item sets and the minimum confidence constraint are used to form rules.
Finding all frequent item sets in a database is difficult since it involves searching all possible item sets (item combinations). The set of possible item sets is the power set over I (the set of items) and has size 2^{n}  1 (excluding the empty set which is not a valid item set). Although the size of the power set grows exponentially in the number of items n in I, efficient search is possible using the downwardclosure property of support (also called antimonotonicity) which guarantees that for a frequent item set also all its subsets are frequent and thus for an infrequent item set, all its supersets must be infrequent.
In practice, we may only consider the frequent item set that has the maximum number of items bypassing all the sub item sets. An item set is maximal frequent if none of its immediate supersets is frequent.
For a maximal frequent item set, even though we know that all the sub item sets are frequent, we don't know the actual support of those sub item sets, which are very important to find the association rules within the item sets. If the final goal is association rule mining, we would like to discover closed frequent item sets. An item set is closed if none of its immediate supersets has the same support as the item set.
Some well known algorithms of frequent item set mining are Apriori, Eclat and FPGrowth. Apriori is the bestknown algorithm to mine association rules. It uses a breadthfirst search strategy to counting the support of item sets and uses a candidate generation function which exploits the downward closure property of support. Eclat is a depthfirst search algorithm using set intersection.
FPgrowth (frequent pattern growth) uses an extended prefixtree (FPtree) structure to store the database in a compressed form. FPgrowth adopts a divideandconquer approach to decompose both the mining tasks and the databases. It uses a pattern fragment growth method to avoid the costly process of candidate generation and testing used by Apriori.
References
 R. Agrawal, T. Imielinski and A. Swami. Mining Association Rules Between Sets of Items in Large Databases, SIGMOD, 207216, 1993.
 Rakesh Agrawal and Ramakrishnan Srikant. Fast algorithms for mining association rules in large databases. VLDB, 487499, 1994.
 Mohammed J. Zaki. Scalable algorithms for association mining. IEEE Transactions on Knowledge and Data Engineering, 12(3):372390, 2000.
 Jiawei Han, Jian Pei, Yiwen Yin, and Runying Mao. Mining frequent patterns without candidate generation. Data Mining and Knowledge Discovery 8:5387, 2004.

ClassDescriptionAssociation Rule Mining.Association rule object.Frequent item set mining based on the FPgrowth (frequent pattern growth) algorithm, which employs an extended prefixtree (FPtree) structure to store the database in a compressed form.FPtree data structure used in FPgrowth (frequent pattern growth) algorithm for frequent item set mining.A set of items.