# Association rule learning

**Association rule learning**is a rule-based machine learning method for discovering interesting relations between variables in large databases. It is intended to identify strong rules discovered in databases using some measures of interestingness.

Based on the concept of strong rules, Rakesh Agrawal, Tomasz Imieliński and Arun Swami introduced association rules for discovering regularities between products in large-scale transaction data recorded by point-of-sale systems in supermarkets. For example, the rule found in the sales data of a supermarket would indicate that if a customer buys onions and potatoes together, they are likely to also buy hamburger meat. Such information can be used as the basis for decisions about marketing activities such as, e.g., promotional pricing or product placements.

In addition to the above example from market basket analysis association rules are employed today in many application areas including Web usage mining, intrusion detection, continuous production, and bioinformatics. In contrast with sequence mining, association rule learning typically does not consider the order of items either within a transaction or across transactions.

## Definition

Following the original definition by Agrawal, Imieliński, Swami the problem of association rule mining is defined as:Let be a set of binary attributes called

*items*.

Let be a set of transactions called the

*database*.

Each

*transaction*in has a unique transaction ID and contains a subset of the items in.

A

*rule*is defined as an implication of the form:

, where.

In Agrawal, Imieliński, Swami a

*rule*is defined only between a set and a single item, for.

Every rule is composed by two different sets of items, also known as

*itemsets*, and, where is called

*antecedent*or left-hand-side and

*consequent*or right-hand-side.

To illustrate the concepts, we use a small example from the supermarket domain. The set of items is and in the table is shown a small database containing the items, where, in each entry, the value 1 means the presence of the item in the corresponding transaction, and the value 0 represents the absence of an item in that transaction.

An example rule for the supermarket could be meaning that if butter and bread are bought, customers also buy milk.

Note: this example is extremely small. In practical applications, a rule needs a support of several hundred transactions before it can be considered statistically significant, and datasets often contain thousands or millions of transactions.

## Useful Concepts

In order to select interesting rules from the set of all possible rules, constraints on various measures of significance and interest are used. The best-known constraints are minimum thresholds on support and confidence.Let be itemsets, an association rule and a set of transactions of a given database.

### Support

Support is an indication of how frequently the itemset appears in the dataset.The support of with respect to is defined as the proportion of transactions in the dataset which contains the itemset.

In the example dataset, the itemset has a support of since it occurs in 20% of all transactions. The argument of is a set of preconditions, and thus becomes more restrictive as it grows.

### Confidence

Confidence is an indication of how often the rule has been found to be true.The

*confidence*value of a rule, , with respect to a set of transactions, is the proportion of the transactions that contains which also contains.

Confidence is defined as:

For example, the rule has a confidence of in the database, which means that for 100% of the transactions containing butter and bread the rule is correct.

Note that means the support of the union of the items in X and Y. This is somewhat confusing since we normally think in terms of probabilities of events and not sets of items. We can rewrite as the probability, where and are the events that a transaction contains itemset and, respectively.

Thus confidence can be interpreted as an estimate of the conditional probability, the probability of finding the RHS of the rule in transactions under the condition that these transactions also contain the LHS.

### Lift

The*lift*of a rule is defined as:

or the ratio of the observed support to that expected if X and Y were independent.

For example, the rule has a lift of.

If the rule had a lift of 1, it would imply that the probability of occurrence of the antecedent and that of the consequent are independent of each other. When two events are independent of each other, no rule can be drawn involving those two events.

If the lift is > 1, that lets us know the degree to which those two occurrences are dependent on one another, and makes those rules potentially useful for predicting the consequent in future data sets.

If the lift is < 1, that lets us know the items are substitute to each other. This means that presence of one item has negative effect on presence of other item and vice versa.

The value of lift is that it considers both the support of the rule and the overall data set.

### Conviction

The*conviction*of a rule is defined as.

For example, the rule has a conviction of, and can be interpreted as the ratio of the expected frequency that X occurs without Y if X and Y were independent divided by the observed frequency of incorrect predictions. In this example, the conviction value of 1.2 shows that the rule would be incorrect 20% more often if the association between X and Y was purely random chance.

### Alternative measures of interestingness

In addition to confidence, other measures of*interestingness*for rules have been proposed. Some popular measures are:

- All-confidence
- Collective strength
- Leverage

## Process

Association rules are usually required to satisfy a user-specified minimum support and a user-specified minimum confidence at the same time. Association rule generation is usually split up into two separate steps:- A minimum support threshold is applied to find all
*frequent itemsets*in a database. - A minimum confidence constraint is applied to these frequent itemsets in order to form rules.

Finding all frequent itemsets in a database is difficult since it involves searching all possible itemsets. The set of possible itemsets is the power set over and has size . Although the size of the power-set grows exponentially in the number of items in, efficient search is possible using the

**downward-closure property**of support which guarantees that for a frequent itemset, all its subsets are also frequent and thus no infrequent itemset can be a subset of a frequent itemset. Exploiting this property, efficient algorithms can find all frequent itemsets.

## History

The concept of association rules was popularised particularly due to the 1993 article of Agrawal et al., which has acquired more than 18,000 citations according to Google Scholar, as of August 2015, and is thus one of the most cited papers in the Data Mining field. However, what is now called "association rules" is introduced already in the 1966 paper on GUHA, a general data mining method developed by Petr Hájek et al.An early use of minimum support and confidence to find all association rules is the Feature Based Modeling framework, which found all rules with and greater than user defined constraints.

## Statistically sound associations

One limitation of the standard approach to discovering associations is that by searching massive numbers of possible associations to look for collections of items that appear to be associated, there is a large risk of finding many spurious associations. These are collections of items that co-occur with unexpected frequency in the data, but only do so by chance. For example, suppose we are considering a collection of 10,000 items and looking for rules containing two items in the left-hand-side and 1 item in the right-hand-side. There are approximately 1,000,000,000,000 such rules. If we apply a statistical test for independence with a significance level of 0.05 it means there is only a 5% chance of accepting a rule if there is no association. If we assume there are no associations, we should nonetheless expect to find 50,000,000,000 rules. Statistically sound association discovery controls this risk, in most cases reducing the risk of finding*any*spurious associations to a user-specified significance level.

## Algorithms

Many algorithms for generating association rules have been proposed.Some well-known algorithms are Apriori, Eclat and FP-Growth, but they only do half the job, since they are algorithms for mining frequent itemsets. Another step needs to be done after to generate rules from frequent itemsets found in a database.

### Apriori algorithm

Apriori uses a breadth-first search strategy to count the support of itemsets and uses a candidate generation function which exploits the downward closure property of support.### Eclat algorithm

Eclat is a depth-first search algorithm based on set intersection. It is suitable for both sequential as well as parallel execution with locality-enhancing properties.### FP-growth algorithm

FP stands for frequent pattern.In the first pass, the algorithm counts the occurrences of items in the dataset of transactions, and stores these counts in a 'header table'. In the second pass, it builds the FP-tree structure by inserting transactions into a trie.

Items in each transaction have to be sorted by descending order of their frequency in the dataset before being inserted so that the tree can be processed quickly.

Items in each transaction that do not meet the minimum support requirement are discarded.

If many transactions share most frequent items, the FP-tree provides high compression close to tree root.

Recursive processing of this compressed version of the main dataset grows frequent item sets directly, instead of generating candidate items and testing them against the entire database.

Growth begins from the bottom of the header table i.e. the item with the smallest support by finding all sorted transactions that end in that item. Call this item.

A new conditional tree is created which is the original FP-tree projected onto. The supports of all nodes in the projected tree are re-counted with each node getting the sum of its children counts. Nodes that do not meet the minimum support are pruned. Recursive growth ends when no individual items conditional on meet the minimum support threshold. The resulting paths from root to will be frequent itemsets. After this step, processing continues with the next least-supported header item of the original FP-tree.

Once the recursive process has completed, all frequent item sets will have been found, and association rule creation begins.

### Others

#### ASSOC

The ASSOC procedure is a GUHA method which mines for generalized association rules using fast bitstrings operations. The association rules mined by this method are more general than those output by apriori, for example "items" can be connected both with conjunction and disjunctions and the relation between antecedent and consequent of the rule is not restricted to setting minimum support and confidence as in apriori: an arbitrary combination of supported interest measures can be used.#### OPUS search

OPUS is an efficient algorithm for rule discovery that, in contrast to most alternatives, does not require either monotone or anti-monotone constraints such as minimum support. Initially used to find rules for a fixed consequent it has subsequently been extended to find rules with any item as a consequent. OPUS search is the core technology in the popular Magnum Opus association discovery system.## Lore

A famous story about association rule mining is the "beer and diaper" story. A purported survey of behavior of supermarket shoppers discovered that customers who buy diapers tend also to buy beer. This anecdote became popular as an example of how unexpected association rules might be found from everyday data. There are varying opinions as to how much of the story is true. Daniel Powers says:In 1992, Thomas Blischok, manager of a retail consulting group at Teradata, and his staff prepared an analysis of 1.2 million market baskets from about 25 Osco Drug stores. Database queries were developed to identify affinities. The analysis "did discover that between 5:00 and 7:00 p.m. that consumers bought beer and diapers". Osco managers did NOT exploit the beer and diapers relationship by moving the products closer together on the shelves.

## Other types of association rule mining

**Multi-Relation Association Rules**: Multi-Relation Association Rules are association rules where each item may have several relations. These relations indicate indirect relationship between the entities. Consider the following MRAR where the first item consists of three relations

*live in*,

*nearby*and

*humid*: “Those who

*live in*a place which is

*nearby*a city with

*humid*climate type and also are

*younger*than 20 -> their

*health condition*is good”. Such association rules are extractable from RDBMS data or semantic web data.

**Contrast set learning**is a form of associative learning.

**Contrast set learners**use rules that differ meaningfully in their distribution across subsets.

**Weighted class learning**is another form of associative learning in which weight may be assigned to classes to give focus to a particular issue of concern for the consumer of the data mining results.

**High-order pattern discovery**facilitate the capture of high-order patterns or event associations that are intrinsic to complex real-world data.

**K-optimal pattern discovery**provides an alternative to the standard approach to association rule learning that requires that each pattern appear frequently in the data.

**Approximate Frequent Itemset**mining is a relaxed version of Frequent Itemset mining that allows some of the items in some of the rows to be 0.

**Generalized Association Rules**hierarchical taxonomy

**Quantitative Association Rules**categorical and quantitative data

**Interval Data Association Rules**e.g. partition the age into 5-year-increment ranged

**Sequential pattern mining**discovers subsequences that are common to more than minsup sequences in a sequence database, where minsup is set by the user. A sequence is an ordered list of transactions.

**Subspace Clustering**, a specific type of Clustering high-dimensional data, is in many variants also based on the downward-closure property for specific clustering models.

**Warmr**is shipped as part of the ACE data mining suite. It allows association rule learning for first order relational rules.

### Bibliographies

- by M. Hahsler