Data Mining Association Analysis: Basic Concepts and Algorithms Lecture Notes for Chapter 6 Introduction to Data Mining
by Tan, Steinbach, Kumar
Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
Association Rule Mining
!
Given a set of transactions, find rules that will predict the occurrence of an item based on the occurrences of other items in the transaction
Market-Basket transactions
TID Items
Example of Association Rules
{Diaper} ! {Beer}, {Milk, Bread} ! {Eggs,Coke}, {Beer, Bread} ! {Milk},
1 2 3 4 5
Bread, Milk Bread, Diaper, Beer, Eggs Milk, Diaper, Beer, Coke Bread, Milk, Diaper, Beer Bread, Milk, Diaper, Coke
Implication means co-occurrence, not causality!
Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
Definition: Frequent Itemset
!
Itemset
A collection of one or more items
!
Example: {Milk, Bread, Diaper}
TID Items
k-itemset
!
An itemset that contains k items
1 2 3 4 5
Bread, Milk Bread, Diaper, Beer, Eggs Milk, Diaper, Beer, Coke Bread, Milk, Diaper, Beer Bread, Milk, Diaper, Coke
Support count (")
Frequency of occurrence of an itemset E.g. "({Milk, Bread,Diaper}) = 2
Support
Fraction of transactions that contain an itemset E.g. s({Milk, Bread, Diaper}) = 2/5
Frequent Itemset
An itemset whose support is greater than or equal to a minsup threshold
Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
Definition: Association Rule
!
Association Rule
An implication expression of the form X ! Y, where X and Y are itemsets Example: {Milk, Diaper} ! {Beer}
TID
Items
1 2 3 4 5
Bread, Milk Bread, Diaper, Beer, Eggs Milk, Diaper, Beer, Coke Bread, Milk, Diaper, Beer Bread, Milk, Diaper, Coke
Rule Evaluation Metrics
Support (s)
!
Fraction of transactions that contain both X and Y Measures how often items in Y appear in transactions that contain X
Example:
{Milk, Diaper } ! Beer
s=
Confidence (c)
!
! (Milk, Diaper, Beer)
|T|
2 = 0.4 5
! (Milk, Diaper, Beer) 2 c= = = 0.67 ! (Milk, Diaper ) 3
Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 #
Association Rule Mining Task
! Given
a set of transactions T, the goal of association rule mining is to find all rules having
support ! minsup threshold confidence ! minconf threshold
! Brute-force
approach:
List all possible association rules Compute the support and confidence for each rule Prune rules that fail the minsup and minconf thresholds # Computationally prohibitive!
Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 #
Mining Association Rules
TID Items
Example of Rules:
{Milk,Diaper} ! {Beer} (s=0.4, c=0.67) {Milk,Beer} ! {Diaper} (s=0.4, c=1.0) {Diaper,Beer} ! {Milk} (s=0.4, c=0.67) {Beer} ! {Milk,Diaper} (s=0.4, c=0.67) {Diaper} ! {Milk,Beer} (s=0.4, c=0.5) {Milk} ! {Diaper,Beer} (s=0.4, c=0.5)
1 2 3 4 5
Bread, Milk Bread, Diaper, Beer, Eggs Milk, Diaper, Beer, Coke Bread, Milk, Diaper, Beer Bread, Milk, Diaper, Coke
Observations:
All the above rules are binary partitions of the same itemset: {Milk, Diaper, Beer} Rules originating from the same itemset have identical support but can have different confidence Thus, we may decouple the support and confidence requirements
Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 #
Mining Association Rules
!
Two-step approach:
1. Frequent Itemset Generation
Generate all itemsets whose support $ minsup
2. Rule Generation
Generate high confidence rules from each frequent itemset, where each rule is a binary partitioning of a frequent itemset
Frequent itemset generation is still computationally expensive
Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
Frequent Itemset Generation
null
AB
AC
AD
AE
BC
BD
BE
CD
CE
DE
ABC
ABD
ABE
ACD
ACE
ADE
BCD
BCE
BDE
CDE
ABCD
ABCE
ABDE
ACDE
BCDE
ABCDE
Given d items, there are 2d possible candidate itemsets
4/18/2004 #
Tan,Steinbach, Kumar
Introduction to Data Mining
Frequent Itemset Generation
! Brute-force
approach:
Each itemset in the lattice is a candidate frequent itemset Count the support of each candidate by scanning the database
Transactions
TID 1 2 3 4 5 Items Bread, Milk Bread, Diaper, Beer, Eggs Milk, Diaper, Beer, Coke Bread, Milk, Diaper, Beer Bread, Milk, Diaper, Coke
List of Candidates
Match each transaction against every candidate Complexity ~ O(NMw) => Expensive since M = 2d !!!
Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 #
Computational Complexity
! Given
d unique items:
Total number of itemsets = 2d Total number of possible association rules:
'- d * - d ! k *$ R = / %+ ( . / + (" &, k ) , j )# = 3 ! 2 +1
d !1 k =1 d !k j =1 d d +1
If d=6, R = 602 rules
Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
Frequent Itemset Generation Strategies
! Reduce
the number of candidates (M)
Complete search: M=2d Use pruning techniques to reduce M
! Reduce
the number of transactions (N)
Reduce size of N as the size of itemset increases Used by DHP and vertical-based mining algorithms
! Reduce
the number of comparisons (NM)
Use efficient data structures to store the candidates or transactions No need to match every candidate against every transaction
Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 #
Reducing Number of Candidates
! Apriori
principle:
If an itemset is frequent, then all of its subsets must also be frequent
! Apriori
principle holds due to the following property of the support measure:
$X , Y : ( X # Y ) " s( X ) ! s(Y )
Support of an itemset never exceeds the support of its subsets This is known as the anti-monotone property of support
Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 #
Illustrating Apriori Principle
null
AB
AC
AD
AE
BC
BD
BE
CD
CE
DE
Found to be Infrequent
ABC
ABD
ABE
ACD
ACE
ADE
BCD
BCE
BDE
CDE
ABCD
ABCE
ABDE
ACDE
BCDE
Pruned supersets
Tan,Steinbach, Kumar Introduction to Data Mining
ABCDE
4/18/2004
Illustrating Apriori Principle
Item Bread Coke Milk Beer Diaper Eggs Count 4 2 4 3 4 1
Items (1-itemsets)
Itemset {Bread,Milk} {Bread,Beer} {Bread,Diaper} {Milk,Beer} {Milk,Diaper} {Beer,Diaper} Count 3 2 3 2 3 3
Pairs (2-itemsets) (No need to generate candidates involving Coke or Eggs)
Minimum Support = 3
If every subset is considered, 6C + 6C + 6C = 41 1 2 3 With support-based pruning, 6 + 6 + 1 = 13
Triplets (3-itemsets)
Itemset {Bread,Milk,Diaper} Count 3
Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
Apriori Algorithm
!
Method:
Let k=1 Generate frequent itemsets of length 1 Repeat until no new frequent itemsets are identified
! Generate
length (k+1) candidate itemsets from length k frequent itemsets ! Prune candidate itemsets containing subsets of length k that are infrequent ! Count the support of each candidate by scanning the DB ! Eliminate candidates that are infrequent, leaving only those that are frequent
Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
Reducing Number of Comparisons
! Candidate
counting:
Scan the database of transactions to determine the support of each candidate itemset To reduce the number of comparisons, store the candidates in a hash structure
! Instead
of matching each transaction against every candidate, match it against candidates contained in the hashed buckets
Transactions
TID 1 2 3 4 5 Items Bread, Milk Bread, Diaper, Beer, Eggs Milk, Diaper, Beer, Coke Bread, Milk, Diaper, Beer Bread, Milk, Diaper, Coke
Buckets
Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 #
Hash Structure
Generate Hash Tree
Suppose you have 15 candidate itemsets of length 3: {1 4 5}, {1 2 4}, {4 5 7}, {1 2 5}, {4 5 8}, {1 5 9}, {1 3 6}, {2 3 4}, {5 6 7}, {3 4 5}, {3 5 6}, {3 5 7}, {6 8 9}, {3 6 7}, {3 6 8} You need: Hash function Max leaf size: max number of itemsets stored in a leaf node (if number of candidate itemsets exceeds max leaf size, split the node)
Hash function 3,6,9 1,4,7 2,5,8
145 124 457 125 458
234 567 345 136 159
356 357 689
367 368
Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
Association Rule Discovery: Hash tree
Hash Function
Candidate Hash Tree
1,4,7 2,5,8
3,6,9
234 567 145 Hash on 1, 4 or 7 124 457 125 458
Introduction to Data Mining 4/18/2004 #
136 345 159 356 357 689 367 368
Tan,Steinbach, Kumar
Association Rule Discovery: Hash tree
Hash Function
Candidate Hash Tree
1,4,7 2,5,8
3,6,9
234 567 145 Hash on 2, 5 or 8 124 457 125 458
Introduction to Data Mining 4/18/2004 #
136 345 159 356 357 689 367 368
Tan,Steinbach, Kumar
Association Rule Discovery: Hash tree
Hash Function
Candidate Hash Tree
1,4,7 2,5,8
3,6,9
234 567 145 Hash on 3, 6 or 9 124 457 125 458
Introduction to Data Mining 4/18/2004 #
136 345 159 356 357 689 367 368
Tan,Steinbach, Kumar
Subset Operation
Given a transaction t, what are the possible subsets of size 3?
Transaction, t
1 2 3 5 6
Level 1
1 2 3 5 6 2 3 5 6 3 5 6
Level 2
12 3 5 6 13 5 6 15 6 23 5 6 25 6 35 6
123 125 126
135 136
156
235 236
256
356
Level 3
Tan,Steinbach, Kumar
Subsets of 3 items
Introduction to Data Mining 4/18/2004 #
Subset Operation Using Hash Tree
1 2 3 5 6 transaction 1+ 2356 2+ 356 3+ 56
234 567 145 136 345 124 457 125 458 159 356 357 689 367 368
Hash Function
1,4,7 2,5,8
3,6,9
Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
Subset Operation Using Hash Tree
1 2 3 5 6 transaction 1+ 2356 12+ 356 13+ 56 15+ 6
145 136 345 124 457
Tan,Steinbach, Kumar
Hash Function
2+ 356 3+ 56
234 567 356 357 689 367 368
1,4,7 2,5,8
3,6,9
125 458
159
Introduction to Data Mining
4/18/2004
Subset Operation Using Hash Tree
1 2 3 5 6 transaction 1+ 2356 12+ 356 13+ 56 15+ 6
145 136 345 124 457
Tan,Steinbach, Kumar
Hash Function
2+ 356 3+ 56
234 567 356 357 689 367 368
1,4,7 2,5,8
3,6,9
125 458
159
Match transaction against 11 out of 15 candidates
Introduction to Data Mining 4/18/2004 #
Factors Affecting Complexity
!
Choice of minimum support threshold
lowering support threshold results in more frequent itemsets this may increase number of candidates and max length of frequent itemsets
Dimensionality (number of items) of the data set
more space is needed to store support count of each item if number of frequent items also increases, both computation and I/O costs may also increase
Size of database
since Apriori makes multiple passes, run time of algorithm may increase with number of transactions
Average transaction width
transaction width increases with denser data sets This may increase max length of frequent itemsets and traversals of hash tree (number of subsets in a transaction increases with its width)
Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
Compact Representation of Frequent Itemsets
!
Some itemsets are redundant because they have identical support as their supersets
TID A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 B1 B2 B3 B4 B5 B6 B7 B8 B9 B10 C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
'10 $ " ! Number of frequent itemsets = 3 ( ! % &k#
10 k =1
Need a compact representation
Introduction to Data Mining
Tan,Steinbach, Kumar
4/18/2004
Maximal Frequent Itemset
An itemset is maximal frequent if none of its immediate supersets is frequent null
Maximal Itemsets
A B C D E
AB
AC
AD
AE
BC
BD
BE
CD
CE
DE
ABC
ABD
ABE
ACD
ACE
ADE
BCD
BCE
BDE
CDE
ABCD
ABCE
ABDE
ACDE
BCDE
Infrequent Itemsets
Tan,Steinbach, Kumar
ABCD E
Border
4/18/2004 #
Introduction to Data Mining
Closed Itemset
!
An itemset is closed if none of its immediate supersets has the same support as the itemset
Itemset {A} {B} {C} {D} {A,B} {A,C} {A,D} {B,C} {B,D} {C,D} Support 4 5 3 4 4 2 3 3 4 3
TID 1 2 3 4 5
Items {A,B} {B,C,D} {A,B,C,D} {A,B,D} {A,B,C,D}
Itemset Support {A,B,C} 2 {A,B,D} 3 {A,C,D} 2 {B,C,D} 3 {A,B,C,D} 2
Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
Maximal vs Closed Itemsets
TID 1 2 3 4 5 Items ABC ABCD BCE ACDE DE
12
AB null
Transaction Ids
245
D E
124
A
123
B
1234
C
345
124
AC
24
AD
4
AE
123
BC
2
BD
BE
24
CD
34
CE
45
DE
12
ABC
2
ABD ABE
24
ACD
4
ACE
4
ADE
2
BCD
BCE
BDE
CDE
4
ABCD ABCE ABDE ACDE BCDE
Not supported by any transactions
Tan,Steinbach, Kumar Introduction to Data Mining
ABCDE
4/18/2004
Maximal vs Closed Frequent Itemsets
Minimum support = 2
124
A null
Closed but not maximal
245
D E
123
B
1234
C
345
Closed and maximal
34 45
12
AB
124
AC
24
AD
4
AE
123
BC
2
BD
BE
24
CD
CE
DE
12
ABC
2
ABD ABE
24
ACD
4
ACE
4
ADE
2
BCD
BCE
BDE
CDE
4
ABCD ABCE ABDE ACDE BCDE
# Closed = 9 # Maximal = 4
ABCDE
Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
Maximal vs Closed Itemsets
Frequent Itemsets Closed Frequent Itemsets Maximal Frequent Itemsets
Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
Alternative Methods for Frequent Itemset Generation
! Traversal
of Itemset Lattice
Frequent itemset border
General-to-specific vs Specific-to-general
Frequent itemset border null null null
.. ..
{a1,a2,...,an}
.. ..
{a1,a2,...,an} Frequent itemset border
.. ..
{a1,a2,...,an}
(a) General-to-specific
Tan,Steinbach, Kumar
(b) Specific-to-general
(c) Bidirectional
4/18/2004 #
Introduction to Data Mining
Alternative Methods for Frequent Itemset Generation
! Traversal
of Itemset Lattice
null null
Equivalent Classes
AB
AC
AD
BC
BD
CD
AB
AC
BC
AD
BD
CD
ABC
ABD
ACD
BCD
ABC
ABD
ACD
BCD
ABCD
ABCD
(a) Prefix tree
Tan,Steinbach, Kumar Introduction to Data Mining
(b) Suffix tree
4/18/2004 #
Alternative Methods for Frequent Itemset Generation
! Traversal
of Itemset Lattice
Breadth-first vs Depth-first
(a) Breadth first
(b) Depth first
Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
Alternative Methods for Frequent Itemset Generation
! Representation
of Database
horizontal vs vertical data layout
Horizontal Data Layout
TID 1 2 3 4 5 6 7 8 9 10 Items A,B,E B,C,D C,E A,C,D A,B,C,D A,E A,B A,B,C A,C,D B
Vertical Data Layout
A 1 4 5 6 7 8 9 B 1 2 5 7 8 10 C 2 3 4 8 9 D 2 4 5 9 E 1 3 6
Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
FP-growth Algorithm
! Use
a compressed representation of the database using an FP-tree an FP-tree has been constructed, it uses a recursive divide-and-conquer approach to mine the frequent itemsets
! Once
Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
FP-tree construction
After reading TID=1: null A:1 B:1 After reading TID=2: A:1 B:1
TID 1 2 3 4 5 6 7 8 9 10
Items {A,B} {B,C,D} {A,C,D,E} {A,D,E} {A,B,C} {A,B,C,D} {B,C} {A,B,C} {A,B,D} {B,C,E}
null B:1 C:1 D:1
Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
FP-Tree Construction
TID 1 2 3 4 5 6 7 8 9 10 Items {A,B} {B,C,D} {A,C,D,E} {A,D,E} {A,B,C} {A,B,C,D} {B,C} {A,B,C} {A,B,D} {B,C,E}
Transaction Database
null A:7 B:3 C:3 D:1 D:1 D:1 E:1 Pointers are used to assist frequent itemset generation E:1 E:1
B:5 C:3 D:1
C:1
D:1
Header table Item Pointer A B C D E
Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
FP-growth
null A:7 B:5 C:3 D:1 D:1 B:1 C:1 D:1
C:1 D:1
D:1
Conditional Pattern base for D: P = {(A:1,B:1,C:1), (A:1,B:1), (A:1,C:1), (A:1), (B:1,C:1)} Recursively apply FPgrowth on P Frequent Itemsets found (with sup > 1): AD, BD, CD, ACD, BCD
Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
Tree Projection
Set enumeration tree:
Possible Extension: E(A) = {B,C,D,E}
AB AC A B null
AD
AE
BC
BD
BE
CD
CE
DE
ABC
ABD
ABE
ACD
ACE
ADE
BCD
BCE
BDE
CDE
Possible Extension: E(ABC) = {D,E}
ABCD ABCE ABDE ACDE BCDE
ABCDE
Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
Tree Projection
! Items
are listed in lexicographic order ! Each node P stores the following information:
Itemset for node P List of possible lexicographic extensions of P: E(P) Pointer to projected database of its ancestor node Bitvector containing information about which transactions in the projected database contain the itemset
Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
Projected Database
Original Database: Projected Database for node A:
TID 1 2 3 4 5 6 7 8 9 10
Items {A,B} {B,C,D} {A,C,D,E} {A,D,E} {A,B,C} {A,B,C,D} {B,C} {A,B,C} {A,B,D} {B,C,E}
TID 1 2 3 4 5 6 7 8 9 10
Items {B} {} {C,D,E} {D,E} {B,C} {B,C,D} {} {B,C} {B,D} {}
4/18/2004 #
For each transaction T, projected transaction at node A is T % E(A)
Tan,Steinbach, Kumar Introduction to Data Mining
ECLAT
!
For each item, store a list of transaction ids (tids)
Horizontal Data Layout
TID 1 2 3 4 5 6 7 8 9 10 Items A,B,E B,C,D C,E A,C,D A,B,C,D A,E A,B A,B,C A,C,D B
Vertical Data Layout
A 1 4 5 6 7 8 9 B 1 2 5 7 8 10 C 2 3 4 8 9 D 2 4 5 9 E 1 3 6
TID-list
4/18/2004 #
Tan,Steinbach, Kumar
Introduction to Data Mining
ECLAT
!
Determine support of any k-itemset by intersecting tid-lists of two of its (k-1) subsets.
A 1 4 5 6 7 8 9
B 1 2 5 7 8 10
&
AB 1 5 7 8
! !
3 traversal approaches:
top-down, bottom-up and hybrid
Advantage: very fast support counting ! Disadvantage: intermediate tid-lists may become too large for memory
Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 #
Rule Generation
! Given
a frequent itemset L, find all non-empty subsets f ' L such that f ! L f satisfies the minimum confidence requirement
If {A,B,C,D} is a frequent itemset, candidate rules:
ABC !D, A !BCD, AB !CD, BD !AC, ABD !C, B !ACD, AC ! BD, CD !AB, ACD !B, C !ABD, AD ! BC, BCD !A, D !ABC BC !AD,
! If
|L| = k, then there are 2k 2 candidate association rules (ignoring L ! ( and ( ! L)
Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
Rule Generation
! How
to efficiently generate rules from frequent itemsets?
In general, confidence does not have an antimonotone property
c(ABC !D) can be larger or smaller than c(AB !D)
But confidence of rules generated from the same itemset has an anti-monotone property e.g., L = {A,B,C,D}: c(ABC ! D) $ c(AB ! CD) $ c(A ! BCD)
! Confidence
is anti-monotone w.r.t. number of items on the RHS of the rule
Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 #
Rule Generation for Apriori Algorithm
Lattice of rules
Low Confidence Rule
ABCD=>{ }
BCD=>A
ACD=>B
ABD=>C
ABC=>D
CD=>AB
BD=>AC
BC=>AD
AD=>BC
AC=>BD
AB=>CD
D=>ABC
C=>ABD
B=>ACD
A=>BCD
Pruned Rules
Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 #
Rule Generation for Apriori Algorithm
! Candidate
rule is generated by merging two rules that share the same prefix in the rule consequent
CD=>AB BD=>AC
! join(CD=>AB,BD=>AC)
would produce the candidate rule D => ABC
! Prune
rule D=>ABC if its subset AD=>BC does not have high confidence
Introduction to Data Mining
D=>ABC
Tan,Steinbach, Kumar
4/18/2004
Effect of Support Distribution
! Many
real data sets have skewed support distribution
Support distribution of a retail data set
Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
Effect of Support Distribution
! How
to set the appropriate minsup threshold?
If minsup is set too high, we could miss itemsets involving interesting rare items (e.g., expensive products) If minsup is set too low, it is computationally expensive and the number of itemsets is very large
! Using
a single minimum support threshold may not be effective
Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
Multiple Minimum Support
! How
to apply multiple minimum supports?
MS(i): minimum support for item i e.g.: MS(Milk)=5%, MS(Coke) = 3%, MS(Broccoli)=0.1%, MS(Salmon)=0.5% MS({Milk, Broccoli}) = min (MS(Milk), MS(Broccoli)) = 0.1% Challenge: Support is no longer anti-monotone
!
Suppose:
Support(Milk, Coke) = 1.5% and Support(Milk, Coke, Broccoli) = 0.5% is infrequent but {Milk,Coke,Broccoli} is frequent
Introduction to Data Mining 4/18/2004 #
! {Milk,Coke}
Tan,Steinbach, Kumar
Multiple Minimum Support
Item MS(I) Sup(I)
X
ABC ABD ABE ACD ACE ADE BCD BCE BDE CDE
4/18/2004 #
AB AC A AD B C BD D BE CD AE BC
0.10% 0.25%
0.20% 0.26%
0.30% 0.29%
0.50% 0.05%
3%
4.20%
CE DE
Tan,Steinbach, Kumar
Introduction to Data Mining
Multiple Minimum Support X
Item MS(I) Sup(I)
AB AC A
ABC ABD ABE ACD ACE ADE BCD BCE BDE CDE
4/18/2004 #
0.10% 0.25% B C
AD AE BC
0.20% 0.26%
0.30% 0.29% D
BD BE CD E CE DE
0.50% 0.05%
3%
4.20%
Tan,Steinbach, Kumar
Introduction to Data Mining
Multiple Minimum Support (Liu 1999) X
! Order
the items according to their minimum support (in ascending order)
e.g.: MS(Milk)=5%, MS(Coke) = 3%, MS(Broccoli)=0.1%, MS(Salmon)=0.5% Ordering: Broccoli, Salmon, Coke, Milk
! Need
to modify Apriori such that:
L1 : set of frequent items F1 : set of items whose support is $ MS(1) where MS(1) is mini( MS(i) ) C2 : candidate itemsets of size 2 is generated from F1 instead of L1
Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 #
Multiple Minimum Support (Liu 1999) X
! Modifications
! A
to Apriori:
In traditional Apriori,
candidate (k+1)-itemset is generated by merging two frequent itemsets of size k ! The candidate is pruned if it contains any infrequent subsets of size k
Pruning step has to be modified:
! Prune
only if subset contains the first item ! e.g.: Candidate={Broccoli, Coke, Milk} (ordered according to minimum support) ! {Broccoli, Coke} and {Broccoli, Milk} are frequent but {Coke, Milk} is infrequent Candidate is not pruned because {Coke,Milk} does not contain the first item, i.e., Broccoli.
Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 #
Pattern Evaluation
! Association
rule algorithms tend to produce too
many rules
many of them are uninteresting or redundant Redundant if {A,B,C} ! {D} and {A,B} ! {D} have same support & confidence
! Interestingness
measures can be used to prune/ rank the derived patterns the original formulation of association rules, support & confidence are the only measures used
Introduction to Data Mining 4/18/2004 #
! In
Tan,Steinbach, Kumar
Application of Interestingness Measure
Interestingness Measures
Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
Computing Interestingness Measure
!
Given a rule X ! Y, information needed to compute rule interestingness can be obtained from a contingency table
Contingency table for X
Y X X f11 f01 f+1 Y f10 f00 f+0 f1+ fo+ |T|
!Y f11: support of X and Y f10: support of X and Y f01: support of X and Y f00: support of X and Y Used to define various measures
" support,
confidence, lift, Gini, J-measure, etc.
4/18/2004 #
Tan,Steinbach, Kumar
Introduction to Data Mining
Drawback of Confidence
Coffee Tea Tea 15 75 90
Coffee 5 5 10 20 80 100
Association Rule: Tea ! Coffee
Confidence= P(Coffee|Tea) = 0.75 but P(Coffee) = 0.9 # Although confidence is high, rule is misleading # P(Coffee|Tea) = 0.9375
Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 #
Statistical Independence
! Population
of 1000 students
600 students know how to swim (S) 700 students know how to bike (B) 420 students know how to swim and bike (S,B) P(S&B) = 420/1000 = 0.42 P(S) ) P(B) = 0.6 ) 0.7 = 0.42 P(S&B) = P(S) ) P(B) => Statistical independence P(S&B) > P(S) ) P(B) => Positively correlated P(S&B) < P(S) ) P(B) => Negatively correlated
Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 #
Statistical-based Measures
! Measures
that take into account statistical dependence
P (Y | X ) Lift = P (Y ) P( X , Y ) Interest = P ( X ) P(Y ) PS = P ( X , Y ) ! P ( X ) P(Y ) P ( X , Y ) ! P ( X ) P(Y ) " ! coefficien t = P( X )[1 ! P( X )]P (Y )[1 ! P (Y )]
Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 #
Example: Lift/Interest
Coffee Tea Tea 15 75 90
Coffee 5 5 10 20 80 100
Association Rule: Tea ! Coffee
Confidence= P(Coffee|Tea) = 0.75 but P(Coffee) = 0.9 # Lift = 0.75/0.9= 0.8333 (< 1, therefore is negatively associated)
Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
Drawback of Lift & Interest
Y X X 10 0 10
Y 0 90 90 10 90 100 X X
Y 90 0 90
Y 0 10 10 90 10 100
0.1 Lift = = 10 (0.1)(0.1)
0.9 Lift = = 1.11 (0.9)(0.9)
Statistical independence: If P(X,Y)=P(X)P(Y) => Lift = 1
Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
There are lots of measures proposed in the literature Some measures are good for certain applications, but not for others What criteria should we use to determine whether a measure is good or bad? What about Aprioristyle support based pruning? How does it affect these measures?
Properties of A Good Measure
! Piatetsky-Shapiro:
3 properties a good measure M must satisfy:
M(A,B) = 0 if A and B are statistically independent M(A,B) increase monotonically with P(A,B) when P(A) and P(B) remain unchanged M(A,B) decreases monotonically with P(A) [or P(B)] when P(A,B) and P(B) [or P(A)] remain unchanged
Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
Comparing Different Measures
10 examples of contingency tables:
Example
E1 E2 E3 E4 E5 E6 E7 E8 E9 E10
f11
8123 8330 9481 3954 2886 1500 4000 4000 1720 61
f10
f01
f00
Rankings of contingency tables using various measures:
83 424 1370 2 622 1046 94 127 298 3080 5 2961 1363 1320 4431 2000 500 6000 2000 1000 3000 2000 2000 2000 7121 5 1154 2483 4 7452
Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
Property under Variable Permutation
B p r
B q s
A A
B B
A p q
A r s
Does M(A,B) = M(B,A)? Symmetric measures:
" support,
lift, collective strength, cosine, Jaccard, etc
Asymmetric measures:
" confidence,
Tan,Steinbach, Kumar
conviction, Laplace, J-measure, etc
Introduction to Data Mining 4/18/2004 #
Property under Row/Column Scaling
Grade-Gender Example (Mosteller, 1968):
Male High Low 2 1 3 Female 3 4 7 5 5 10 High Low Male 4 2 6 Female 30 40 70 34 42 76
Mosteller: Underlying association should be independent of the relative number of male and female students in the samples
Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 #
2x
10x
Property under Inversion Operation
A
Transaction 1
B 0 0 0 0 1 0 0 0 0 0 (a)
C 0 1 1 1 1 1 1 1 1 0
D 1 1 1 1 0 1 1 1 1 1 (b)
E 0 1 1 1 1 1 1 1 1 0 (c)
4/18/2004
F 0 0 0 0 1 0 0 0 0 0
. . . . .
Transaction N
1 0 0 0 0 0 0 0 0 1
Tan,Steinbach, Kumar
Introduction to Data Mining
Example: *-Coefficient
! *-coefficient
Y X X 60 10 70
is analogous to correlation coefficient for continuous variables
Y 10 20 30 70 30 100 X X Y 20 10 30 Y 10 60 70 30 70 100
0.6 " 0.7 ! 0.7 #= 0 . 7 ! 0 .3 ! 0 .7 ! 0 .3 = 0.5238
Tan,Steinbach, Kumar
0 . 2 " 0 .3 ! 0 .3 #= 0 . 7 ! 0 .3 ! 0 .7 ! 0 .3 = 0.5238
4/18/2004 #
* Coefficient is the same for both tables
Introduction to Data Mining
Property under Null Addition
B p r
B q s
A A
A A
B p r
B q s+k
Invariant measures:
" support,
cosine, Jaccard, etc
Non-invariant measures:
" correlation,
Gini, mutual information, odds ratio, etc
Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
Different Measures have Different Properties
Sym bol Measure Correlation Lambda Odds ratio Yule's Q Yule's Y Cohen's Mutual Information J-Measure Gini Index Support Confidence Laplace Conviction Interest IS (cosine) Piatetsky-Shapiro's Certainty factor Added value Collective strength Jaccard Klosgen's
, * * +
Range -1 ! 0 ! 1 0!1 0!1!$ -1 ! 0 ! 1 -1 ! 0 ! 1 -1 ! 0 ! 1 0!1 0!1 0!1 0!1 0!1 0!1 0.5 ! 1 ! $ 0!1!$ 0 .. 1 -0.25 ! 0 ! 0.25 -1 ! 0 ! 1 0.5 ! 1 ! 1 0!1!$ 0 .. 1
P1 Yes Yes Yes* Yes Yes Yes Yes Yes Yes No No No No Yes* No Yes Yes Yes No No
P2 Yes No Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
P3 Yes No Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes
O1 Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes** Yes Yes Yes No No Yes Yes No
O2 No No Yes Yes Yes No No No No No No No No No No No No No No No No
O3 Yes No* Yes* Yes Yes No No* No No* No No No No No No Yes No No Yes* No No
O3' Yes Yes Yes Yes Yes Yes Yes No Yes No No No Yes No No Yes Yes No Yes No No
#
O4 No No No No No No No No No No Yes No No No Yes No No No No Yes No
! " # Q Y % M J G s c L V I IS PS F AV S & K
Tan,Steinbach, Kumar
), 2 1 ) 2 - 1 '* 2 - 3 ' 0 Yes ' '* 3 (+ Introduction to Data Mining 3( 3 3
4/18/2004
Support-based Pruning
! Most
of the association rule mining algorithms use support measure to prune rules and itemsets effect of support pruning on correlation of itemsets
Generate 10000 random contingency tables Compute support and pairwise correlation for each table Apply support-based pruning and examine the tables that are removed
! Study
Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
Effect of Support-based Pruning
All Itempairs
1000 900 800 700 600 500 400 300 200 100 0
-1 -0 .9 -0 .8 -0 .7 -0 .6 -0 .5 -0 .4 -0 .3 -0 .2 -0 .1 0 1 2 3 4 5 6 7 8 0. 0. 0. 0. 0. 0. 0. 0. 0. 9 1
Correlation
Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 #
Effect of Support-based Pruning
Support < 0.01
300 250 200 150 100 50 0
-1 -0 .9 -0 .8 -0 .7 -0 .6 -0 .5 -0 .4 -0 .3 -0 .2 -0 .1 0 0. 1 0. 2 0. 3 0. 4 0. 5 0. 6 0. 7 0. 8 0. 9 1
Support < 0.03
300 250 200 150 100 50 0
-1 -0 .9 -0 .8 -0 .7 -0 .6 -0 .5 -0 .4 -0 .3 -0 .2 -0 .1 0 1 2 3 4
8 0.
0.
0.
0.
0.
0.
0.
0.
Correlation
Correlation
Support < 0.05
300 250
Support-based pruning eliminates mostly negatively correlated itemsets
Tan,Steinbach, Kumar
200 150 100 50 0
-1 -0 .9 -0 .8 -0 .7 -0 .6 -0 .5 -0 .4 -0 .3 -0 .2 -0 .1 0 0. 1 0. 2 0. 3 0. 4 0. 5 0. 6 0. 7 0. 8 0. 9 1
Correlation
Introduction to Data Mining
4/18/2004
0.
Effect of Support-based Pruning
! Investigate
how support-based pruning affects other measures
! Steps:
Generate 10000 contingency tables Rank each table according to the different measures Compute the pair-wise correlation between the measures
Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
Effect of Support-based Pruning
"
Without Support Pruning (All Pairs)
All Pairs (40.14%)
1 0.9 0.8 0.7 0.6
Conviction Odds ratio Col Strength Correlation Interest PS CF
Reliability Kappa Klosgen Yule Q Confidence Laplace IS Support Jaccard Lambda Gini J-measure Mutual Info 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
Jaccard
Yule Y
0.5 0.4 0.3 0.2 0.1 0 -1
-0.8
-0.6
-0.4
-0.2
0 0.2 Correlation
0.4
0.6
0.8
" Red
cells indicate correlation between the pair of measures > 0.85 pairs have correlation > 0.85
Introduction to Data Mining
Scatter Plot between Correlation & Jaccard Measure
" 40.14%
Tan,Steinbach, Kumar
4/18/2004
Effect of Support-based Pruning
"
0.5% + support + 50%
0.005 <= support <= 0.500 (61.45%)
1 0.9 0.8 0.7 0.6
Interest Conviction Odds ratio Col Strength Laplace Confidence Correlation
Reliability PS Yule Q CF Yule Y Kappa IS Jaccard Support Lambda Gini J-measure Mutual Info 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
Jaccard
Klosgen
0.5 0.4 0.3 0.2 0.1 0 -1
-0.8
-0.6
-0.4
-0.2
0 0.2 Correlation
0.4
0.6
0.8
Scatter Plot between Correlation & Jaccard Measure:
" 61.45%
pairs have correlation > 0.85
Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
Effect of Support-based Pruning
"
0.5% + support + 30%
0.005 <= support <= 0.300 (76.42%)
1 0.9 0.8 0.7 0.6
Support Interest Reliability Conviction Yule Q Odds ratio Confidence CF Yule Y Kappa Correlation Col Strength IS Jaccard Laplace PS Klosgen Lambda Mutual Info Gini J-measure 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
Jaccard
0.5 0.4 0.3 0.2 0.1 0 -0.4
-0.2
0.2 0.4 Correlation
0.6
0.8
Scatter Plot between Correlation & Jaccard Measure
" 76.42%
pairs have correlation > 0.85
Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
Subjective Interestingness Measure
! Objective
measure:
Rank patterns based on statistics computed from data e.g., 21 measures of association (support, confidence, Laplace, Gini, mutual information, Jaccard, etc).
! Subjective
! A ! A
measure:
Rank patterns according to user s interpretation
pattern is subjectively interesting if it contradicts the expectation of a user (Silberschatz & Tuzhilin) pattern is subjectively interesting if it is actionable (Silberschatz & Tuzhilin)
Tan,Steinbach, Kumar
Introduction to Data Mining
4/18/2004
Interestingness via Unexpectedness
!
Need to model expectation of users (domain knowledge)
+ -
Pattern expected to be frequent Pattern expected to be infrequent Pattern found to be frequent Pattern found to be infrequent
+ - +
Expected Patterns Unexpected Patterns
Need to combine expectation of users with evidence from data (i.e., extracted patterns)
Introduction to Data Mining 4/18/2004 #
Tan,Steinbach, Kumar
Interestingness via Unexpectedness
! Web
Data (Cooley et al 2001)
Domain knowledge in the form of site structure Given an itemset F = {X1, X2, ", Xk} (Xi : Web pages)
! L:
number of links connecting the pages = L / (k ) k-1) = 1 (if graph is connected), 0 (disconnected graph)
! lfactor ! cfactor
Structure evidence = cfactor ) lfactor
P( X ! X ! ... ! X ) Usage evidence = P( X ! X ! ... ! X )
1 2 k 1 2 k
Use Dempster-Shafer theory to combine domain knowledge and evidence from data
Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 #