=
|
.
|
\
|
=
10
1
10
3
k
k
Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 #
Maximal Frequent Itemset
null
AB AC AD AE BC BD BE CD CE DE
A B C D E
ABC ABD ABE ACD ACE ADE BCD BCE BDE CDE
ABCD ABCE ABDE ACDE BCDE
ABCD
E
Border
Infrequent
Itemsets
Maximal
Itemsets
An itemset is maximal frequent if none of its immediate supersets
is frequent
Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 #
Closed Itemset
An itemset is closed if none of its immediate supersets
has the same support as the itemset
TID Items
1 {A,B}
2 {B,C,D}
3 {A,B,C,D}
4 {A,B,D}
5 {A,B,C,D}
Itemset Support
{A} 4
{B} 5
{C} 3
{D} 4
{A,B} 4
{A,C} 2
{A,D} 3
{B,C} 3
{B,D} 4
{C,D} 3
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 Items
1 ABC
2 ABCD
3 BCE
4 ACDE
5 DE
null
AB AC AD AE BC BD BE CD CE DE
A B C D E
ABC ABD ABE ACD ACE ADE BCD BCE BDE CDE
ABCD ABCE ABDE ACDE BCDE
ABCDE
124 123
1234 245 345
12 124 24
4
123
2
3 24
34
45
12
2
24
4 4
2
3 4
2
4
Transaction Ids
Not supported by
any transactions
Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 #
Maximal vs Closed Frequent Itemsets
null
AB AC AD AE BC BD BE CD CE DE
A B C D E
ABC ABD ABE ACD ACE ADE BCD BCE BDE CDE
ABCD ABCE ABDE ACDE BCDE
ABCDE
124 123
1234 245 345
12 124 24
4
123
2
3 24
34
45
12
2
24
4 4
2
3 4
2
4
Minimum support = 2
# Closed = 9
# Maximal = 4
Closed and
maximal
Closed but
not maximal
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
General-to-specific vs Specific-to-general
Frequent
itemset
border
null
{a
1
,a
2
,...,a
n
}
(a) General-to-specific
null
{a
1
,a
2
,...,a
n
}
Frequent
itemset
border
(b) Specific-to-general
..
..
..
..
Frequent
itemset
border
null
{a
1
,a
2
,...,a
n
}
(c) Bidirectional
..
..
Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 #
Alternative Methods for Frequent Itemset Generation
Traversal of Itemset Lattice
Equivalent Classes
null
AB AC AD BC BD
CD
A B
C
D
ABC ABD ACD
BCD
ABCD
null
AB AC
AD BC BD CD
A B
C
D
ABC
ABD ACD BCD
ABCD
(a) Prefix tree (b) Suffix tree
Tan,Steinbach, Kumar Introduction to Data Mining 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
TID Items
1 A,B,E
2 B,C,D
3 C,E
4 A,C,D
5 A,B,C,D
6 A,E
7 A,B
8 A,B,C
9 A,C,D
10 B
Horizontal
Data Layout
A B C D E
1 1 2 2 1
4 2 3 4 3
5 5 4 5 6
6 7 8 9
7 8 9
8 10
9
Vertical Data Layout
Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 #
FP-growth Algorithm
Use a compressed representation of the
database using an FP-tree
Once an FP-tree has been constructed, it uses a
recursive divide-and-conquer approach to mine
the frequent itemsets
Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 #
FP-tree construction
TID Items
1 {A,B}
2 {B,C,D}
3 {A,C,D,E}
4 {A,D,E}
5 {A,B,C}
6 {A,B,C,D}
7 {B,C}
8 {A,B,C}
9 {A,B,D}
10 {B,C,E}
null
A:1
B:1
null
A:1
B:1
B:1
C:1
D:1
After reading TID=1:
After reading TID=2:
Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 #
FP-Tree Construction
null
A:7
B:5
B:3
C:3
D:1
C:1
D:1
C:3
D:1
D:1
E:1
E:1
TID Items
1 {A,B}
2 {B,C,D}
3 {A,C,D,E}
4 {A,D,E}
5 {A,B,C}
6 {A,B,C,D}
7 {B,C}
8 {A,B,C}
9 {A,B,D}
10 {B,C,E}
Pointers are used to assist
frequent itemset generation
D:1
E:1
Transaction
Database
Item Pointer
A
B
C
D
E
Header table
Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 #
FP-growth
null
A:7
B:5
B:1
C:1
D:1
C:1
D:1
C:3
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 FP-
growth on P
Frequent Itemsets found
(with sup > 1):
AD, BD, CD, ABD, ACD,
BCD
D:1
Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 #
Tree Projection
Set enumeration tree:
null
AB AC AD AE BC BD BE CD CE DE
A B C D E
ABC ABD ABE ACD ACE ADE BCD BCE BDE CDE
ABCD ABCE ABDE ACDE BCDE
ABCDE
Possible Extension:
E(A) = {B,C,D,E}
Possible Extension:
E(ABC) = {D,E}
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
TID Items
1 {A,B}
2 {B,C,D}
3 {A,C,D,E}
4 {A,D,E}
5 {A,B,C}
6 {A,B,C,D}
7 {B,C}
8 {A,B,C}
9 {A,B,D}
10 {B,C,E}
TID Items
1 {B}
2 {}
3 {C,D,E}
4 {D,E}
5 {B,C}
6 {B,C,D}
7 {}
8 {B,C}
9 {B,D}
10 {}
Original Database:
Projected Database
for node A:
For each transaction T, projected transaction at node A is T E(A)
Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 #
ECLAT
For each item, store a list of transaction ids (tids)
TID Items
1 A,B,E
2 B,C,D
3 C,E
4 A,C,D
5 A,B,C,D
6 A,E
7 A,B
8 A,B,C
9 A,C,D
10 B
Horizontal
Data Layout
A B C D E
1 1 2 2 1
4 2 3 4 3
5 5 4 5 6
6 7 8 9
7 8 9
8 10
9
Vertical Data Layout
TID-list
Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 #
ECLAT
Determine support of any k-itemset by intersecting tid-lists
of two of its (k-1) subsets.
3 traversal approaches:
top-down, bottom-up and hybrid
Advantage: very fast support counting
Disadvantage: intermediate tid-lists may become too
large for memory
A
1
4
5
6
7
8
9
B
1
2
5
7
8
10
AB
1
5
7
8
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
In the original formulation of association rules,
support & confidence are the only measures used
and an objective interestingness measure.
An object interestingness measure is domain
independent.
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
Y Y
X f
11
f
10
f
1+
X f
01
f
00
f
o+
f
+1
f
+0
|T|
Contingency table for X Y
f
11
: support of X and Y
f
10
: support of X and Y
f
01
: support of X and Y
f
00
: support of X and Y
Used to define various measures
support, confidence, lift, Gini,
J-measure, etc.
Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 #
Drawback of Confidence
Coffee
Coffee
Tea 15 5 20
Tea 75 5 80
90 10 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
) ( ) (
) , (
) (
) | (
Y P X P
Y X P
Interest
Y P
X Y P
Lif t
=
=
Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 #
Example: Lift/Interest
Coffee
Coffee
Tea 15 5 20
Tea 75 5 80
90 10 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 #
Lift and Interest (Another Example)
Example 2:
X and Y: positively
correlated,
X and Z, negatively
related
support and
confidence of
X=>Z dominates
X 1 1 1 1 0 0 0 0
Y 1 1 0 0 0 0 0 0
Z 0 1 1 1 1 1 1 1
Rule Support Confidence
X=>Y 25% 50%
X=>Z 37.50% 75%
Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 #
Lift and Interest (Another Example)
Interest (lift)
A and B negatively correlated, if the value is less than 1;
otherwise A and B positively correlated
) ( ) (
) (
B P A P
B A P .
X 1 1 1 1 0 0 0 0
Y 1 1 0 0 0 0 0 0
Z 0 1 1 1 1 1 1 1
Itemset Support Interest
X,Y 25% 2
X,Z 37.50% 0.9
Y,Z 12.50% 0.57
Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 #
Drawback of Lift & Interest
Y Y
X 10 0 10
X 0 90 90
10 90 100
Y Y
X 90 0 90
X 0 10 10
90 10 100
10
) 1 . 0 )( 1 . 0 (
1 . 0
= = Lift
11 . 1
) 9 . 0 )( 9 . 0 (
9 . 0
= = Lift
Statistical independence:
If P(X,Y)=P(X)P(Y) => Lift = 1
Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 #
Constraint-Based Frequent Pattern Mining
Classification of constraints based on their constraint-
pushing capabilities
Anti-monotonic: If constraint c is violated, its further mining can
be terminated
Monotonic: If c is satisfied, no need to check c again
Convertible: c is not monotonic nor anti-monotonic, but it can be
converted into it if items in the transaction can be properly
ordered
Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 #
Anti-Monotonicity
A constraint C is antimonotone if the super
pattern satisfies C, all of its sub-patterns do so
too
In other words, anti-monotonicity: If an itemset S
violates the constraint, so does any of its
superset
Ex. 1. sum(S.price) s v is anti-monotone
Ex. 2. range(S.profit) s 15 is anti-monotone
Itemset ab violates C
So does every superset of ab
Ex. 3. sum(S.Price) > v is not anti-monotone
Ex. 4. support count is anti-monotone: core
property used in Apriori
TID Transaction
10 a, b, c, d, f
20 b, c, d, f, g, h
30 a, c, d, e, f
40 c, e, f, g
TDB (min_sup=2)
Item Price Profit
a 60 40
b 20 0
c 80 -20
d 30 10
e 70 -30
f 100 30
g 50 20
h 40 -10
Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 #
Monotonicity
A constraint C is monotone if the pattern
satisfies C, we do not need to check C in
subsequent mining
Alternatively, monotonicity: If an itemset S
satisfies the constraint, so does any of its
superset
Ex. 1. sum(S.Price) > v is monotone
Ex. 2. min(S.Price) s v is monotone
Ex. 3. C: range(S.profit) > 15
Itemset ab satisfies C
So does every superset of ab
TID Transaction
10 a, b, c, d, f
20 b, c, d, f, g, h
30 a, c, d, e, f
40 c, e, f, g
TDB (min_sup=2)
Item Price Profit
a 60 40
b 20 0
c 80 -20
d 30 10
e 70 -30
f 100 30
g 50 20
h 40 -10
Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 #
Converting Tough Constraints
Convert tough constraints into anti-
monotone or monotone by properly
ordering items
Examine C: avg(S.profit) > 25
Order items in value-descending order
<a, f, g, d, b, h, c, e>
If an itemset afb violates C
So does afbh, afb*
It becomes anti-monotone!
TID Transaction
10 a, b, c, d, f
20 b, c, d, f, g, h
30 a, c, d, e, f
40 c, e, f, g
TDB (min_sup=2)
Item Profit
a 40
b 0
c -20
d 10
e -30
f 30
g 20
h -10
Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 #
Strongly Convertible Constraints
avg(X) > 25 is convertible anti-monotone w.r.t.
item value descending order R: <a, f, g, d, b, h,
c, e>
If an itemset af violates a constraint C, so does every
itemset with af as prefix, such as afd
avg(X) > 25 is convertible monotone w.r.t. item
value ascending order R
-1
: <e, c, h, b, d, g, f, a>
If an itemset d satisfies a constraint C, so does
itemsets df and dfa, which having d as a prefix
Thus, avg(X) > 25 is strongly convertible
Item Profit
a 40
b 0
c -20
d 10
e -30
f 30
g 20
h -10