18
Association Rules Isabelle Bloch LTCI, T´ el´ ecom Paris [email protected] I. Bloch (Telecom Paris) Symbolic AI 1 / 18

Association RulesComputing the association rules 1 Frequent itemset L. 2 Compute all non-empty subsets L0ˆL (partition L0;LnL0of the itemset). 3 Generate the rule L0)LnL0if it has

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Association RulesComputing the association rules 1 Frequent itemset L. 2 Compute all non-empty subsets L0ˆL (partition L0;LnL0of the itemset). 3 Generate the rule L0)LnL0if it has

Association Rules

Isabelle Bloch

LTCI, Telecom Paris

[email protected]

I. Bloch (Telecom Paris) Symbolic AI 1 / 18

Page 2: Association RulesComputing the association rules 1 Frequent itemset L. 2 Compute all non-empty subsets L0ˆL (partition L0;LnL0of the itemset). 3 Generate the rule L0)LnL0if it has

Objectives

Data mining.

Knowledge discovery.

Automatic construction of rules from examples.

Frequent patterns.

Typical example: market basket.

I. Bloch (Telecom Paris) Symbolic AI 2 / 18

Page 3: Association RulesComputing the association rules 1 Frequent itemset L. 2 Compute all non-empty subsets L0ˆL (partition L0;LnL0of the itemset). 3 Generate the rule L0)LnL0if it has

Example

Items

1 novel, newspaper2 novel, film, comics, contemporary music3 newspaper, film, comics, classical music4 novel, newspaper, film, comics5 novel, newspaper, film, classical music

Examples of rules:

{film } ⇒ {comics}{newspaper, novel} ⇒ {film, classical music}{comics, novel} ⇒ {newspaper}

Interpretation :

⇒ means co-occurrence (not causality...)

X ⇒ Y = if attributes of X are present in an example, then so areattributes of Y .

I. Bloch (Telecom Paris) Symbolic AI 3 / 18

Page 4: Association RulesComputing the association rules 1 Frequent itemset L. 2 Compute all non-empty subsets L0ˆL (partition L0;LnL0of the itemset). 3 Generate the rule L0)LnL0if it has

Rule induction:

Derivation of a set of rules to classify examples.

Creation of independent rules.

Rules may not cover all possible cases.

Rules may be conflicting.

I. Bloch (Telecom Paris) Symbolic AI 4 / 18

Page 5: Association RulesComputing the association rules 1 Frequent itemset L. 2 Compute all non-empty subsets L0ˆL (partition L0;LnL0of the itemset). 3 Generate the rule L0)LnL0if it has

Definitions

Itemset = collection of items

k-itemset = itemset that contains k items

Support count σ = number of occurrences of an itemset

Support s = Fraction of transactions that contain an itemset

Frequent itemset = itemset whose support is greater than or equal toa minsup threshold

Example

itemset {newspaper, novel, film}σ({newspaper, novel, film}) = 2

s({newspaper, novel, film}) = 2/5

I. Bloch (Telecom Paris) Symbolic AI 5 / 18

Page 6: Association RulesComputing the association rules 1 Frequent itemset L. 2 Compute all non-empty subsets L0ˆL (partition L0;LnL0of the itemset). 3 Generate the rule L0)LnL0if it has

Association ruleExpression of the form X ⇒ Y (X and Y : itemsets)

Support of a rule:

S(X ⇒ Y ) =σ(X ,Y )

|T |(|T | total number of records)Measures the relative frequency of co-occurrences of X and Y .

Confidence in a rule:

C (X ⇒ Y ) =σ(X ,Y )

σ(X )

Measures how often items in Y appear in records containing X .

Example: {newspaper, film} ⇒ {comics}

S =σ({newspaper, film, comics})

|T |=

2

5= 0.4

C =σ({newspaper, film, comics })

σ({newspaper, film})=

2

3= 0.67

I. Bloch (Telecom Paris) Symbolic AI 6 / 18

Page 7: Association RulesComputing the association rules 1 Frequent itemset L. 2 Compute all non-empty subsets L0ˆL (partition L0;LnL0of the itemset). 3 Generate the rule L0)LnL0if it has

Rule mining

Brute force method:

1 List all possible association rules.

2 Compute S and C for each rule.

3 Prune rules for which S < minsup or C < minconf (two presetthresholds).

But intractable in practice...

d items2d itemsetsR =

∑d−1i=1 C i

d(∑d−i

j=1 Cjd−i )

possible association rulesd = 6⇒ R = 602

I. Bloch (Telecom Paris) Symbolic AI 7 / 18

Page 8: Association RulesComputing the association rules 1 Frequent itemset L. 2 Compute all non-empty subsets L0ˆL (partition L0;LnL0of the itemset). 3 Generate the rule L0)LnL0if it has

Example from the same itemset (X ,Y ):

{newspaper,film} ⇒ {comics} (S = 0.4,C = 0.67)

{newspaper,comics} ⇒ {film} (S = 0.4,C = 1.0)

{film,comics} ⇒ {newspaper} (S = 0.4,C = 0.67)

{comics} ⇒ {newspaper,film} (S = 0.4,C = 0.67)

{film} ⇒ {newspaper,comics} (S = 0.4,C = 0.5)

{newspaper} ⇒ {film,comics} (S = 0.4,C = 0.5)

Same S and different C .

I. Bloch (Telecom Paris) Symbolic AI 8 / 18

Page 9: Association RulesComputing the association rules 1 Frequent itemset L. 2 Compute all non-empty subsets L0ˆL (partition L0;LnL0of the itemset). 3 Generate the rule L0)LnL0if it has

Algorithm based on frequent items

1 Frequent itemset generation, with S ≥ minsup.

2 Rule generation, from binary partition of each frequent itemset, andwith C ≥ minconf .

Still computationally expensive!

I. Bloch (Telecom Paris) Symbolic AI 9 / 18

Page 10: Association RulesComputing the association rules 1 Frequent itemset L. 2 Compute all non-empty subsets L0ˆL (partition L0;LnL0of the itemset). 3 Generate the rule L0)LnL0if it has

Lattice of itemsets

Source: Tan, Steinbach, Karpatne, Kumar. Introduction to Data MiningI. Bloch (Telecom Paris) Symbolic AI 10 / 18

Page 11: Association RulesComputing the association rules 1 Frequent itemset L. 2 Compute all non-empty subsets L0ˆL (partition L0;LnL0of the itemset). 3 Generate the rule L0)LnL0if it has

Items

1 novel, newspaper2 novel, film, comics, contemporary music3 newspaper, film, comics, classical music4 novel, newspaper, film, comics5 novel, newspaper, film, classical music

←− w −→

Number of potential candidates: M = 2d .For each candidate itemset: scan the database (N = |T |) to compute thesupport.Complexity in O(NwM) ...

I. Bloch (Telecom Paris) Symbolic AI 11 / 18

Page 12: Association RulesComputing the association rules 1 Frequent itemset L. 2 Compute all non-empty subsets L0ˆL (partition L0;LnL0of the itemset). 3 Generate the rule L0)LnL0if it has

How to reduce the complexity?

Reduce the number of candidates M

using pruningexample: A Priori Algorithm

Reduce the number of records N

Reduce the number of comparisons NM using efficient data structures(e.g. hash tables, frequent pattern tree) that avoid testing everycandidate against every record.

I. Bloch (Telecom Paris) Symbolic AI 12 / 18

Page 13: Association RulesComputing the association rules 1 Frequent itemset L. 2 Compute all non-empty subsets L0ˆL (partition L0;LnL0of the itemset). 3 Generate the rule L0)LnL0if it has

A Priori Algorithm

A priori principle: If an itemset is frequent, then all of its subsets must alsobe frequent.Results from the monotony of the support measure:

X ⊆ Y ⇒ S(X ) ≥ S(Y )

I. Bloch (Telecom Paris) Symbolic AI 13 / 18

Page 14: Association RulesComputing the association rules 1 Frequent itemset L. 2 Compute all non-empty subsets L0ˆL (partition L0;LnL0of the itemset). 3 Generate the rule L0)LnL0if it has

Source: Tan, Steinbach, Karpatne, Kumar. Introduction to Data Mining

I. Bloch (Telecom Paris) Symbolic AI 14 / 18

Page 15: Association RulesComputing the association rules 1 Frequent itemset L. 2 Compute all non-empty subsets L0ˆL (partition L0;LnL0of the itemset). 3 Generate the rule L0)LnL0if it has

A Priori Algorithm (Rakesh Agrawal and Ramakrishnan Sikrant, 1994)

1 Generate the set of frequent items F1, k = 1

2 k = k + 1

3 Generate the set Fk of itemsets of cardinality k in Fk−1

4 Compute support and prune Fk to keep only the frequent itemsets

5 Return to step 2

Example: apply the algorithm to the previous example.

I. Bloch (Telecom Paris) Symbolic AI 15 / 18

Page 16: Association RulesComputing the association rules 1 Frequent itemset L. 2 Compute all non-empty subsets L0ˆL (partition L0;LnL0of the itemset). 3 Generate the rule L0)LnL0if it has

Computing the association rules

1 Frequent itemset L.

2 Compute all non-empty subsets L′ ⊂ L (partition L′, L \ L′ of theitemset).

3 Generate the rule L′ ⇒ L \ L′ if it has a confidence higher thanconfmin.

4 If C (L′ ⇒ L \ L′) < confmin, Use the monotony property of C amongrules generated by the same itemset to eliminate rules L′′ ⇒ L \ L′′with L′′ ⊂ L′ (i.e. L \ L′ ⊂ L \ L′′).

Example: C (WXY ⇒ Z ) ≥ C (WX ⇒ YZ ) ≥ C (W ⇒ XYZ )

I. Bloch (Telecom Paris) Symbolic AI 16 / 18

Page 17: Association RulesComputing the association rules 1 Frequent itemset L. 2 Compute all non-empty subsets L0ˆL (partition L0;LnL0of the itemset). 3 Generate the rule L0)LnL0if it has

Lattice of rules

Source: Tan, Steinbach, Karpatne, Kumar. Introduction to Data Mining

I. Bloch (Telecom Paris) Symbolic AI 17 / 18

Page 18: Association RulesComputing the association rules 1 Frequent itemset L. 2 Compute all non-empty subsets L0ˆL (partition L0;LnL0of the itemset). 3 Generate the rule L0)LnL0if it has

Conclusion

Non-supervised rule generation.

Easy interpretation.

Many algorithms.

Many extensions (measures for association rules...).

Extensions to non-binary data:

continuous: discretizationcategorial: new item for each attribute-value pairsequential (in time)...

I. Bloch (Telecom Paris) Symbolic AI 18 / 18