SlideShare a Scribd company logo
1
1
Data Mining:
Concepts and Techniques
(3rd ed.)
— Chapter 6 —
Jiawei Han, Micheline Kamber, and Jian Pei
University of Illinois at Urbana-Champaign &
Simon Fraser University
©2011 Han, Kamber & Pei. All rights reserved.
2
Chapter 5: Mining Frequent Patterns, Association
and Correlations: Basic Concepts and Methods
 Basic Concepts
 Frequent Itemset Mining Methods
 Which Patterns Are Interesting?—Pattern
Evaluation Methods
 Summary
3
What Is Frequent Pattern Analysis?
 Frequent pattern: a pattern (a set of items, subsequences, substructures,
etc.) that occurs frequently in a data set
 First proposed by Agrawal, Imielinski, and Swami [AIS93] in the context
of frequent itemsets and association rule mining
 Motivation: Finding inherent regularities in data
 What products were often purchased together?— Cheese and
Breads?!
 What are the subsequent purchases after buying a PC?
 What kinds of DNA are sensitive to this new drug?
 Can we automatically classify web documents?
 Applications
 Basket data analysis, Web log (click stream) analysis, and DNA
sequence analysis.
4
Why Is Freq. Pattern Mining Important?
 Freq. pattern: An intrinsic and important property of
datasets
 Foundation for many essential data mining tasks
 Association, correlation, and causality analysis
 Sequential, structural (e.g., sub-graph) patterns
 Pattern analysis in spatiotemporal, multimedia, time-
series, and stream data
 Classification: discriminative, frequent pattern analysis
 Cluster analysis: frequent pattern-based clustering
 Broad applications
5
Basic Concepts: Frequent Patterns
 itemset: A set of one or more
items
 k-itemset X = {x1, …, xk}
 (absolute) support, or, support
count of X: Frequency or
occurrence of an itemset X
 (relative) support, s, is the
fraction of transactions that
contains X (i.e., the probability
that a transaction contains X)
 An itemset X is frequent if X’s
support is no less than a minsup
threshold
Customer
buys Bread
Customer
buys both
Customer
buys Cheese
Tid Items bought
10 Cheese, Nuts, Bread
20 Cheese, Coffee, Bread
30 Cheese, Bread, Eggs
40 Nuts, Eggs, Milk
50 Nuts, Coffee, Bread, Eggs, Milk
6
Basic Concepts: Association Rules
 Find all the rules X  Y with
minimum support and confidence
 support, s, probability that a
transaction contains X  Y
 confidence, c, conditional
probability that a transaction
having X also contains Y
Let minsup = 50%, minconf = 50%
Freq. Pat.: Cheese:3, Nuts:3, Bread:4,
Eggs:3, {Cheese, Bread}:3
Customer
buys
Bread
Customer
buys both
Customer
buys Cheese
Nuts, Eggs, Milk
40
Nuts, Coffee, Bread, Eggs, Milk
50
Cheese, Bread, Eggs
30
Cheese, Coffee, Bread
20
Cheese, Nuts, Bread
10
Items bought
Tid
 Association rules: (many more!)
 Cheese  Bread (60%,
100%)
 Bread  Cheese (60%, 75%)
7
Closed Patterns and Max-Patterns
 A long pattern contains a combinatorial number of sub-
patterns, e.g., {a1, …, a100} contains (100
1) + (100
2) + … +
(1
1
0
0
0
0) = 2100 – 1 = 1.27*1030 sub-patterns!
 Solution: Mine closed patterns and max-patterns instead
 An itemset X is closed if X is frequent and there exists no
super-pattern Y ‫כ‬ X, with the same support as X
 An itemset X is a max-pattern if X is frequent and there
exists no frequent super-pattern Y ‫כ‬ X
 Closed pattern is a lossless compression of freq. patterns
 Reducing the # of patterns and rules
8
Closed Patterns and Max-Patterns
 Exercise. DB = {<a1, …, a100>, < a1, …, a50>}
 Min_sup = 1.
 What is the set of closed itemset?
 <a1, …, a100>: 1
 < a1, …, a50>: 2
 What is the set of max-pattern?
 <a1, …, a100>: 1
 What is the set of all patterns?
 !!
9
Chapter 5: Mining Frequent Patterns, Association
and Correlations: Basic Concepts and Methods
 Basic Concepts
 Frequent Itemset Mining Methods
 Which Patterns Are Interesting?—Pattern
Evaluation Methods
 Summary
10
Scalable Frequent Itemset Mining Methods
 Apriori: A Candidate Generation-and-Test
Approach
 FPGrowth: A Frequent Pattern-Growth Approach
 ECLAT: Frequent Pattern Mining with Vertical
Data Format
11
The Downward Closure Property and Scalable
Mining Methods
 The downward closure property of frequent patterns
 Any subset of a frequent itemset must be frequent
 If {Cheese, Bread, nuts} is frequent, so is {Cheese,
Bread}
 i.e., every transaction having {Cheese, Bread, nuts} also
contains {Cheese, Bread}
 Scalable mining methods: Three major approaches
 Apriori (Agrawal & Srikant@VLDB’94)
 Freq. pattern growth (FPgrowth—Han, Pei & Yin
@SIGMOD’00)
 Vertical data format approach (Charm—Zaki & Hsiao
@SDM’02)
12
Apriori: A Candidate Generation & Test Approach
 Apriori pruning principle: If there is any itemset which is
infrequent, its superset should not be generated/tested!
(Agrawal & Srikant @VLDB’94, Mannila, et al. @ KDD’ 94)
 Method:
 Initially, scan DB once to get frequent 1-itemset
 Generate length (k+1) candidate itemsets from length k
frequent itemsets
 Test the candidates against DB
 Terminate when no frequent or candidate set can be
generated
13
The Apriori Algorithm—An Example
Database TDB
1st scan
C1
L1
L2
C2 C2
2nd scan
C3 L3
3rd scan
Tid Items
10 A, C, D
20 B, C, E
30 A, B, C, E
40 B, E
Itemset sup
{A} 2
{B} 3
{C} 3
{D} 1
{E} 3
Itemset sup
{A} 2
{B} 3
{C} 3
{E} 3
Itemset
{A, B}
{A, C}
{A, E}
{B, C}
{B, E}
{C, E}
Itemset sup
{A, B} 1
{A, C} 2
{A, E} 1
{B, C} 2
{B, E} 3
{C, E} 2
Itemset sup
{A, C} 2
{B, C} 2
{B, E} 3
{C, E} 2
Itemset
{B, C, E}
Itemset sup
{B, C, E} 2
Supmin = 2
14
The Apriori Algorithm (Pseudo-Code)
Ck: Candidate itemset of size k
Lk : frequent itemset of size k
L1 = {frequent items};
for (k = 1; Lk !=; k++) do begin
Ck+1 = candidates generated from Lk;
for each transaction t in database do
increment the count of all candidates in Ck+1 that
are contained in t
Lk+1 = candidates in Ck+1 with min_support
end
return k Lk;
15
Implementation of Apriori
 How to generate candidates?
 Step 1: self-joining Lk
 Step 2: pruning
 Example of Candidate-generation
 L3={abc, abd, acd, ace, bcd}
 Self-joining: L3*L3
 abcd from abc and abd
 acde from acd and ace
 Pruning:
 acde is removed because ade is not in L3
 C4 = {abcd}
16
How to Count Supports of Candidates?
 Why counting supports of candidates a problem?
 The total number of candidates can be very huge
 One transaction may contain many candidates
 Method:
 Candidate itemsets are stored in a hash-tree
 Leaf node of hash-tree contains a list of itemsets and
counts
 Interior node contains a hash table
 Subset function: finds all the candidates contained in
a transaction
17
Candidate Generation: An SQL Implementation
 SQL Implementation of candidate generation
 Suppose the items in Lk-1 are listed in an order
 Step 1: self-joining Lk-1
insert into Ck
select p.item1, p.item2, …, p.itemk-1, q.itemk-1
from Lk-1 p, Lk-1 q
where p.item1=q.item1, …, p.itemk-2=q.itemk-2, p.itemk-1 <
q.itemk-1
 Step 2: pruning
forall itemsets c in Ck do
forall (k-1)-subsets s of c do
if (s is not in Lk-1) then delete c from Ck
 Use object-relational extensions like UDFs, BLOBs, and Table functions for
efficient implementation [See: S. Sarawagi, S. Thomas, and R. Agrawal.
Integrating association rule mining with relational database systems:
Alternatives and implications. SIGMOD’98]
18
Scalable Frequent Itemset Mining Methods
 Apriori: A Candidate Generation-and-Test Approach
 Improving the Efficiency of Apriori
 FPGrowth: A Frequent Pattern-Growth Approach
 ECLAT: Frequent Pattern Mining with Vertical Data Format
 Mining Close Frequent Patterns and Maxpatterns
19
Further Improvement of the Apriori Method
 Major computational challenges
 Multiple scans of transaction database
 Huge number of candidates
 Tedious workload of support counting for candidates
 Improving Apriori: general ideas
 Reduce passes of transaction database scans
 Shrink number of candidates
 Facilitate support counting of candidates
Partition: Scan Database Only Twice
 Any itemset that is potentially frequent in DB must be
frequent in at least one of the partitions of DB
 Scan 1: partition database and find local frequent
patterns
 Scan 2: consolidate global frequent patterns
 A. Savasere, E. Omiecinski and S. Navathe, VLDB’95
DB1 DB2 DBk
+ = DB
+
+
sup1(i) < σDB1 sup2(i) < σDB2 supk(i) < σDBk sup(i) < σDB
21
Sampling for Frequent Patterns
 Select a sample of original database, mine frequent
patterns within sample using Apriori
 Scan database once to verify frequent itemsets found in
sample, only borders of closure of frequent patterns are
checked
 Example: check abcd instead of ab, ac, …, etc.
 Scan database again to find missed frequent patterns
 H. Toivonen. Sampling large databases for association
rules. In VLDB’96
22
DIC: Reduce Number of Scans
ABCD
ABC ABD ACD BCD
AB AC BC AD BD CD
A B C D
{}
Itemset lattice
 Once both A and D are determined
frequent, the counting of AD begins
 Once all length-2 subsets of BCD are
determined frequent, the counting of BCD
begins
Transactions
1-itemsets
2-itemsets
…
Apriori
1-itemsets
2-items
3-items
DIC
S. Brin R. Motwani, J. Ullman,
and S. Tsur. Dynamic itemset
counting and implication rules for
market basket data. SIGMOD’97
23
Scalable Frequent Itemset Mining Methods
 Apriori: A Candidate Generation-and-Test Approach
 Improving the Efficiency of Apriori
 FPGrowth: A Frequent Pattern-Growth Approach
 ECLAT: Frequent Pattern Mining with Vertical Data Format
 Mining Close Frequent Patterns and Maxpatterns
24
Pattern-Growth Approach: Mining Frequent
Patterns Without Candidate Generation
 Bottlenecks of the Apriori approach
 Breadth-first (i.e., level-wise) search
 Candidate generation and test
 Often generates a huge number of candidates
 The FPGrowth Approach (J. Han, J. Pei, and Y. Yin, SIGMOD’ 00)
 Depth-first search
 Avoid explicit candidate generation
 Major philosophy: Grow long patterns from short ones using local
frequent items only
 “abc” is a frequent pattern
 Get all transactions having “abc”, i.e., project DB on abc: DB|abc
 “d” is a local frequent item in DB|abc  abcd is a frequent pattern
25
Construct FP-tree from a Transaction Database
{}
f:4 c:1
b:1
p:1
b:1
c:3
a:3
b:1
m:2
p:2 m:1
Header Table
Item frequency head
f 4
c 4
a 3
b 3
m 3
p 3
min_support = 3
TID Items bought (ordered) frequent items
100 {f, a, c, d, g, i, m, p} {f, c, a, m, p}
200 {a, b, c, f, l, m, o} {f, c, a, b, m}
300 {b, f, h, j, o, w} {f, b}
400 {b, c, k, s, p} {c, b, p}
500 {a, f, c, e, l, p, m, n} {f, c, a, m, p}
1. Scan DB once, find
frequent 1-itemset (single
item pattern)
2. Sort frequent items in
frequency descending
order, f-list
3. Scan DB again, construct
FP-tree
F-list = f-c-a-b-m-p
26
Partition Patterns and Databases
 Frequent patterns can be partitioned into subsets
according to f-list
 F-list = f-c-a-b-m-p
 Patterns containing p
 Patterns having m but no p
 …
 Patterns having c but no a nor b, m, p
 Pattern f
 Completeness and non-redundency
27
Find Patterns Having P From P-conditional Database
 Starting at the frequent item header table in the FP-tree
 Traverse the FP-tree by following the link of each frequent item p
 Accumulate all of transformed prefix paths of item p to form p’s
conditional pattern base
Conditional pattern bases
item cond. pattern base
c f:3
a fc:3
b fca:1, f:1, c:1
m fca:2, fcab:1
p fcam:2, cb:1
{}
f:4 c:1
b:1
p:1
b:1
c:3
a:3
b:1
m:2
p:2 m:1
Header Table
Item frequency head
f 4
c 4
a 3
b 3
m 3
p 3
28
From Conditional Pattern-bases to Conditional FP-trees
 For each pattern-base
 Accumulate the count for each item in the base
 Construct the FP-tree for the frequent items of the
pattern base
m-conditional pattern base:
fca:2, fcab:1
{}
f:3
c:3
a:3
m-conditional FP-tree
All frequent
patterns relate to m
m,
fm, cm, am,
fcm, fam, cam,
fcam


{}
f:4 c:1
b:1
p:1
b:1
c:3
a:3
b:1
m:2
p:2 m:1
Header Table
Item frequency head
f 4
c 4
a 3
b 3
m 3
p 3
29
Benefits of the FP-tree Structure
 Completeness
 Preserve complete information for frequent pattern
mining
 Compactness
 Reduce irrelevant info—infrequent items are gone
 Items in frequency descending order: the more
frequently occurring, the more likely to be shared
30
The Frequent Pattern Growth Mining Method
 Idea: Frequent pattern growth
 Recursively grow frequent patterns by pattern and
database partition
 Method
 For each frequent item, construct its conditional
pattern-base, and then its conditional FP-tree
 Repeat the process on each newly created conditional
FP-tree
 Until the resulting FP-tree is empty, or it contains only
one path—single path will generate all the
combinations of its sub-paths, each of which is a
frequent pattern
31
Scaling FP-growth by Database Projection
 What about if FP-tree cannot fit in memory?
 DB projection
 First partition a database into a set of projected DBs
 Then construct and mine FP-tree for each projected DB
 Parallel projection vs. partition projection techniques
 Parallel projection
 Project the DB in parallel for each frequent item
 Parallel projection is space costly
 All the partitions can be processed in parallel
 Partition projection
 Partition the DB based on the ordered frequent items
 Passing the unprocessed parts to the subsequent partitions
Performance of FPGrowth in Large Datasets
FP-Growth vs. Apriori
32
0
10
20
30
40
50
60
70
80
90
100
0 0.5 1 1.5 2 2.5 3
Support threshold(%)
Run
time(sec.)
D1 FP-grow th runtime
D1 Apriori runtime
Data set T25I20D10K
0
20
40
60
80
100
120
140
0 0.5 1 1.5 2
Support threshold (%)
Runtim
e
(sec.)
D2 FP-growth
D2 TreeProjection
Data set T25I20D100K
FP-Growth vs. Tree-Projection
33
Advantages of the Pattern Growth Approach
 Divide-and-conquer:
 Decompose both the mining task and DB according to the
frequent patterns obtained so far
 Other factors
 No candidate generation, no candidate test
 Compressed database: FP-tree structure
 No repeated scan of entire database
 Basic ops: counting local freq items and building sub FP-tree, no
pattern search and matching
 A good open-source implementation and refinement of FPGrowth
 FPGrowth+ (Grahne and J. Zhu, FIMI'03)
34
Further Improvements of Mining Methods
 AFOPT (Liu, et al. @ KDD’03)
 Carpenter (Pan, et al. @ KDD’03)
 FPgrowth+ (Grahne and Zhu, FIMI’03)
 TD-Close (Liu, et al, SDM’06)
35
Extension of Pattern Growth Mining Methodology
 Mining closed frequent itemsets and max-patterns
 CLOSET (DMKD’00), FPclose, and FPMax (Grahne & Zhu, Fimi’03)
 Mining graph patterns
 gSpan (ICDM’02), CloseGraph (KDD’03)
 Constraint-based mining of frequent patterns
 Convertible constraints (ICDE’01), gPrune (PAKDD’03)
 Pattern-growth-based Clustering
 MaPle (Pei, et al., ICDM’03)
 Pattern-Growth-Based Classification
 Mining frequent and discriminative patterns (Cheng, et al, ICDE’07)

More Related Content

PPT
Mining Frequent Patterns, Association and Correlations
PPT
Data Mining: Concepts and Techniques_ Chapter 6: Mining Frequent Patterns, ...
PPT
Chapter 6. Mining Frequent Patterns, Associations and Correlations Basic Conc...
PDF
06 fp basic
PPT
06FPBasic.ppt
PPT
06FPBasic.ppt
PPTX
Association Rule Mining, Correlation,Clustering
PPT
Mining Frequent Itemsets.ppt
Mining Frequent Patterns, Association and Correlations
Data Mining: Concepts and Techniques_ Chapter 6: Mining Frequent Patterns, ...
Chapter 6. Mining Frequent Patterns, Associations and Correlations Basic Conc...
06 fp basic
06FPBasic.ppt
06FPBasic.ppt
Association Rule Mining, Correlation,Clustering
Mining Frequent Itemsets.ppt

Similar to 06FPBasic02.pdf (20)

PPT
UNIT 3.2 -Mining Frquent Patterns (part1).ppt
PDF
Frequent Pattern Analysis, Apriori and FP Growth Algorithm
PPT
My6asso
PDF
MCA-IV_DataMining16_DataMining_AssociationRules_APriori_Keerti_Dixit.pdf
PPT
1.9.association mining 1
PPT
3. mining frequent patterns
PPT
DM -Unit 2-PPT.ppt
PPT
Chapter - 5 Data Mining Concepts and Techniques 2nd Ed slides Han &amp; Kamber
PPT
Associations.ppt
PPT
Associations1
PDF
Association-Analysis.pdf
PDF
Discovering Frequent Patterns with New Mining Procedure
PPT
Cs583 association-sequential-patterns
PPTX
Association Analysis in Data Mining
PPTX
Unit 3.pptx
PPT
Apriori and Eclat algorithm in Association Rule Mining
PPT
20IT501_DWDM_U3.ppt
PPT
20IT501_DWDM_PPT_Unit_III.ppt
UNIT 3.2 -Mining Frquent Patterns (part1).ppt
Frequent Pattern Analysis, Apriori and FP Growth Algorithm
My6asso
MCA-IV_DataMining16_DataMining_AssociationRules_APriori_Keerti_Dixit.pdf
1.9.association mining 1
3. mining frequent patterns
DM -Unit 2-PPT.ppt
Chapter - 5 Data Mining Concepts and Techniques 2nd Ed slides Han &amp; Kamber
Associations.ppt
Associations1
Association-Analysis.pdf
Discovering Frequent Patterns with New Mining Procedure
Cs583 association-sequential-patterns
Association Analysis in Data Mining
Unit 3.pptx
Apriori and Eclat algorithm in Association Rule Mining
20IT501_DWDM_U3.ppt
20IT501_DWDM_PPT_Unit_III.ppt
Ad

Recently uploaded (20)

PDF
Warm, water-depleted rocky exoplanets with surfaceionic liquids: A proposed c...
PPTX
ANEMIA WITH LEUKOPENIA MDS 07_25.pptx htggtftgt fredrctvg
PPTX
Pharmacology of Autonomic nervous system
PPTX
2. Earth - The Living Planet Module 2ELS
PPTX
Microbiology with diagram medical studies .pptx
PDF
Lymphatic System MCQs & Practice Quiz – Functions, Organs, Nodes, Ducts
PPTX
ECG_Course_Presentation د.محمد صقران ppt
PPT
The World of Physical Science, • Labs: Safety Simulation, Measurement Practice
PPT
POSITIONING IN OPERATION THEATRE ROOM.ppt
PPTX
ognitive-behavioral therapy, mindfulness-based approaches, coping skills trai...
PPTX
Introduction to Cardiovascular system_structure and functions-1
DOCX
Q1_LE_Mathematics 8_Lesson 5_Week 5.docx
PDF
Unveiling a 36 billion solar mass black hole at the centre of the Cosmic Hors...
PDF
An interstellar mission to test astrophysical black holes
PDF
CAPERS-LRD-z9:AGas-enshroudedLittleRedDotHostingaBroad-lineActive GalacticNuc...
PPTX
Taita Taveta Laboratory Technician Workshop Presentation.pptx
PDF
Placing the Near-Earth Object Impact Probability in Context
PDF
. Radiology Case Scenariosssssssssssssss
PDF
Formation of Supersonic Turbulence in the Primordial Star-forming Cloud
PDF
The scientific heritage No 166 (166) (2025)
Warm, water-depleted rocky exoplanets with surfaceionic liquids: A proposed c...
ANEMIA WITH LEUKOPENIA MDS 07_25.pptx htggtftgt fredrctvg
Pharmacology of Autonomic nervous system
2. Earth - The Living Planet Module 2ELS
Microbiology with diagram medical studies .pptx
Lymphatic System MCQs & Practice Quiz – Functions, Organs, Nodes, Ducts
ECG_Course_Presentation د.محمد صقران ppt
The World of Physical Science, • Labs: Safety Simulation, Measurement Practice
POSITIONING IN OPERATION THEATRE ROOM.ppt
ognitive-behavioral therapy, mindfulness-based approaches, coping skills trai...
Introduction to Cardiovascular system_structure and functions-1
Q1_LE_Mathematics 8_Lesson 5_Week 5.docx
Unveiling a 36 billion solar mass black hole at the centre of the Cosmic Hors...
An interstellar mission to test astrophysical black holes
CAPERS-LRD-z9:AGas-enshroudedLittleRedDotHostingaBroad-lineActive GalacticNuc...
Taita Taveta Laboratory Technician Workshop Presentation.pptx
Placing the Near-Earth Object Impact Probability in Context
. Radiology Case Scenariosssssssssssssss
Formation of Supersonic Turbulence in the Primordial Star-forming Cloud
The scientific heritage No 166 (166) (2025)
Ad

06FPBasic02.pdf

  • 1. 1 1 Data Mining: Concepts and Techniques (3rd ed.) — Chapter 6 — Jiawei Han, Micheline Kamber, and Jian Pei University of Illinois at Urbana-Champaign & Simon Fraser University ©2011 Han, Kamber & Pei. All rights reserved.
  • 2. 2 Chapter 5: Mining Frequent Patterns, Association and Correlations: Basic Concepts and Methods  Basic Concepts  Frequent Itemset Mining Methods  Which Patterns Are Interesting?—Pattern Evaluation Methods  Summary
  • 3. 3 What Is Frequent Pattern Analysis?  Frequent pattern: a pattern (a set of items, subsequences, substructures, etc.) that occurs frequently in a data set  First proposed by Agrawal, Imielinski, and Swami [AIS93] in the context of frequent itemsets and association rule mining  Motivation: Finding inherent regularities in data  What products were often purchased together?— Cheese and Breads?!  What are the subsequent purchases after buying a PC?  What kinds of DNA are sensitive to this new drug?  Can we automatically classify web documents?  Applications  Basket data analysis, Web log (click stream) analysis, and DNA sequence analysis.
  • 4. 4 Why Is Freq. Pattern Mining Important?  Freq. pattern: An intrinsic and important property of datasets  Foundation for many essential data mining tasks  Association, correlation, and causality analysis  Sequential, structural (e.g., sub-graph) patterns  Pattern analysis in spatiotemporal, multimedia, time- series, and stream data  Classification: discriminative, frequent pattern analysis  Cluster analysis: frequent pattern-based clustering  Broad applications
  • 5. 5 Basic Concepts: Frequent Patterns  itemset: A set of one or more items  k-itemset X = {x1, …, xk}  (absolute) support, or, support count of X: Frequency or occurrence of an itemset X  (relative) support, s, is the fraction of transactions that contains X (i.e., the probability that a transaction contains X)  An itemset X is frequent if X’s support is no less than a minsup threshold Customer buys Bread Customer buys both Customer buys Cheese Tid Items bought 10 Cheese, Nuts, Bread 20 Cheese, Coffee, Bread 30 Cheese, Bread, Eggs 40 Nuts, Eggs, Milk 50 Nuts, Coffee, Bread, Eggs, Milk
  • 6. 6 Basic Concepts: Association Rules  Find all the rules X  Y with minimum support and confidence  support, s, probability that a transaction contains X  Y  confidence, c, conditional probability that a transaction having X also contains Y Let minsup = 50%, minconf = 50% Freq. Pat.: Cheese:3, Nuts:3, Bread:4, Eggs:3, {Cheese, Bread}:3 Customer buys Bread Customer buys both Customer buys Cheese Nuts, Eggs, Milk 40 Nuts, Coffee, Bread, Eggs, Milk 50 Cheese, Bread, Eggs 30 Cheese, Coffee, Bread 20 Cheese, Nuts, Bread 10 Items bought Tid  Association rules: (many more!)  Cheese  Bread (60%, 100%)  Bread  Cheese (60%, 75%)
  • 7. 7 Closed Patterns and Max-Patterns  A long pattern contains a combinatorial number of sub- patterns, e.g., {a1, …, a100} contains (100 1) + (100 2) + … + (1 1 0 0 0 0) = 2100 – 1 = 1.27*1030 sub-patterns!  Solution: Mine closed patterns and max-patterns instead  An itemset X is closed if X is frequent and there exists no super-pattern Y ‫כ‬ X, with the same support as X  An itemset X is a max-pattern if X is frequent and there exists no frequent super-pattern Y ‫כ‬ X  Closed pattern is a lossless compression of freq. patterns  Reducing the # of patterns and rules
  • 8. 8 Closed Patterns and Max-Patterns  Exercise. DB = {<a1, …, a100>, < a1, …, a50>}  Min_sup = 1.  What is the set of closed itemset?  <a1, …, a100>: 1  < a1, …, a50>: 2  What is the set of max-pattern?  <a1, …, a100>: 1  What is the set of all patterns?  !!
  • 9. 9 Chapter 5: Mining Frequent Patterns, Association and Correlations: Basic Concepts and Methods  Basic Concepts  Frequent Itemset Mining Methods  Which Patterns Are Interesting?—Pattern Evaluation Methods  Summary
  • 10. 10 Scalable Frequent Itemset Mining Methods  Apriori: A Candidate Generation-and-Test Approach  FPGrowth: A Frequent Pattern-Growth Approach  ECLAT: Frequent Pattern Mining with Vertical Data Format
  • 11. 11 The Downward Closure Property and Scalable Mining Methods  The downward closure property of frequent patterns  Any subset of a frequent itemset must be frequent  If {Cheese, Bread, nuts} is frequent, so is {Cheese, Bread}  i.e., every transaction having {Cheese, Bread, nuts} also contains {Cheese, Bread}  Scalable mining methods: Three major approaches  Apriori (Agrawal & Srikant@VLDB’94)  Freq. pattern growth (FPgrowth—Han, Pei & Yin @SIGMOD’00)  Vertical data format approach (Charm—Zaki & Hsiao @SDM’02)
  • 12. 12 Apriori: A Candidate Generation & Test Approach  Apriori pruning principle: If there is any itemset which is infrequent, its superset should not be generated/tested! (Agrawal & Srikant @VLDB’94, Mannila, et al. @ KDD’ 94)  Method:  Initially, scan DB once to get frequent 1-itemset  Generate length (k+1) candidate itemsets from length k frequent itemsets  Test the candidates against DB  Terminate when no frequent or candidate set can be generated
  • 13. 13 The Apriori Algorithm—An Example Database TDB 1st scan C1 L1 L2 C2 C2 2nd scan C3 L3 3rd scan Tid Items 10 A, C, D 20 B, C, E 30 A, B, C, E 40 B, E Itemset sup {A} 2 {B} 3 {C} 3 {D} 1 {E} 3 Itemset sup {A} 2 {B} 3 {C} 3 {E} 3 Itemset {A, B} {A, C} {A, E} {B, C} {B, E} {C, E} Itemset sup {A, B} 1 {A, C} 2 {A, E} 1 {B, C} 2 {B, E} 3 {C, E} 2 Itemset sup {A, C} 2 {B, C} 2 {B, E} 3 {C, E} 2 Itemset {B, C, E} Itemset sup {B, C, E} 2 Supmin = 2
  • 14. 14 The Apriori Algorithm (Pseudo-Code) Ck: Candidate itemset of size k Lk : frequent itemset of size k L1 = {frequent items}; for (k = 1; Lk !=; k++) do begin Ck+1 = candidates generated from Lk; for each transaction t in database do increment the count of all candidates in Ck+1 that are contained in t Lk+1 = candidates in Ck+1 with min_support end return k Lk;
  • 15. 15 Implementation of Apriori  How to generate candidates?  Step 1: self-joining Lk  Step 2: pruning  Example of Candidate-generation  L3={abc, abd, acd, ace, bcd}  Self-joining: L3*L3  abcd from abc and abd  acde from acd and ace  Pruning:  acde is removed because ade is not in L3  C4 = {abcd}
  • 16. 16 How to Count Supports of Candidates?  Why counting supports of candidates a problem?  The total number of candidates can be very huge  One transaction may contain many candidates  Method:  Candidate itemsets are stored in a hash-tree  Leaf node of hash-tree contains a list of itemsets and counts  Interior node contains a hash table  Subset function: finds all the candidates contained in a transaction
  • 17. 17 Candidate Generation: An SQL Implementation  SQL Implementation of candidate generation  Suppose the items in Lk-1 are listed in an order  Step 1: self-joining Lk-1 insert into Ck select p.item1, p.item2, …, p.itemk-1, q.itemk-1 from Lk-1 p, Lk-1 q where p.item1=q.item1, …, p.itemk-2=q.itemk-2, p.itemk-1 < q.itemk-1  Step 2: pruning forall itemsets c in Ck do forall (k-1)-subsets s of c do if (s is not in Lk-1) then delete c from Ck  Use object-relational extensions like UDFs, BLOBs, and Table functions for efficient implementation [See: S. Sarawagi, S. Thomas, and R. Agrawal. Integrating association rule mining with relational database systems: Alternatives and implications. SIGMOD’98]
  • 18. 18 Scalable Frequent Itemset Mining Methods  Apriori: A Candidate Generation-and-Test Approach  Improving the Efficiency of Apriori  FPGrowth: A Frequent Pattern-Growth Approach  ECLAT: Frequent Pattern Mining with Vertical Data Format  Mining Close Frequent Patterns and Maxpatterns
  • 19. 19 Further Improvement of the Apriori Method  Major computational challenges  Multiple scans of transaction database  Huge number of candidates  Tedious workload of support counting for candidates  Improving Apriori: general ideas  Reduce passes of transaction database scans  Shrink number of candidates  Facilitate support counting of candidates
  • 20. Partition: Scan Database Only Twice  Any itemset that is potentially frequent in DB must be frequent in at least one of the partitions of DB  Scan 1: partition database and find local frequent patterns  Scan 2: consolidate global frequent patterns  A. Savasere, E. Omiecinski and S. Navathe, VLDB’95 DB1 DB2 DBk + = DB + + sup1(i) < σDB1 sup2(i) < σDB2 supk(i) < σDBk sup(i) < σDB
  • 21. 21 Sampling for Frequent Patterns  Select a sample of original database, mine frequent patterns within sample using Apriori  Scan database once to verify frequent itemsets found in sample, only borders of closure of frequent patterns are checked  Example: check abcd instead of ab, ac, …, etc.  Scan database again to find missed frequent patterns  H. Toivonen. Sampling large databases for association rules. In VLDB’96
  • 22. 22 DIC: Reduce Number of Scans ABCD ABC ABD ACD BCD AB AC BC AD BD CD A B C D {} Itemset lattice  Once both A and D are determined frequent, the counting of AD begins  Once all length-2 subsets of BCD are determined frequent, the counting of BCD begins Transactions 1-itemsets 2-itemsets … Apriori 1-itemsets 2-items 3-items DIC S. Brin R. Motwani, J. Ullman, and S. Tsur. Dynamic itemset counting and implication rules for market basket data. SIGMOD’97
  • 23. 23 Scalable Frequent Itemset Mining Methods  Apriori: A Candidate Generation-and-Test Approach  Improving the Efficiency of Apriori  FPGrowth: A Frequent Pattern-Growth Approach  ECLAT: Frequent Pattern Mining with Vertical Data Format  Mining Close Frequent Patterns and Maxpatterns
  • 24. 24 Pattern-Growth Approach: Mining Frequent Patterns Without Candidate Generation  Bottlenecks of the Apriori approach  Breadth-first (i.e., level-wise) search  Candidate generation and test  Often generates a huge number of candidates  The FPGrowth Approach (J. Han, J. Pei, and Y. Yin, SIGMOD’ 00)  Depth-first search  Avoid explicit candidate generation  Major philosophy: Grow long patterns from short ones using local frequent items only  “abc” is a frequent pattern  Get all transactions having “abc”, i.e., project DB on abc: DB|abc  “d” is a local frequent item in DB|abc  abcd is a frequent pattern
  • 25. 25 Construct FP-tree from a Transaction Database {} f:4 c:1 b:1 p:1 b:1 c:3 a:3 b:1 m:2 p:2 m:1 Header Table Item frequency head f 4 c 4 a 3 b 3 m 3 p 3 min_support = 3 TID Items bought (ordered) frequent items 100 {f, a, c, d, g, i, m, p} {f, c, a, m, p} 200 {a, b, c, f, l, m, o} {f, c, a, b, m} 300 {b, f, h, j, o, w} {f, b} 400 {b, c, k, s, p} {c, b, p} 500 {a, f, c, e, l, p, m, n} {f, c, a, m, p} 1. Scan DB once, find frequent 1-itemset (single item pattern) 2. Sort frequent items in frequency descending order, f-list 3. Scan DB again, construct FP-tree F-list = f-c-a-b-m-p
  • 26. 26 Partition Patterns and Databases  Frequent patterns can be partitioned into subsets according to f-list  F-list = f-c-a-b-m-p  Patterns containing p  Patterns having m but no p  …  Patterns having c but no a nor b, m, p  Pattern f  Completeness and non-redundency
  • 27. 27 Find Patterns Having P From P-conditional Database  Starting at the frequent item header table in the FP-tree  Traverse the FP-tree by following the link of each frequent item p  Accumulate all of transformed prefix paths of item p to form p’s conditional pattern base Conditional pattern bases item cond. pattern base c f:3 a fc:3 b fca:1, f:1, c:1 m fca:2, fcab:1 p fcam:2, cb:1 {} f:4 c:1 b:1 p:1 b:1 c:3 a:3 b:1 m:2 p:2 m:1 Header Table Item frequency head f 4 c 4 a 3 b 3 m 3 p 3
  • 28. 28 From Conditional Pattern-bases to Conditional FP-trees  For each pattern-base  Accumulate the count for each item in the base  Construct the FP-tree for the frequent items of the pattern base m-conditional pattern base: fca:2, fcab:1 {} f:3 c:3 a:3 m-conditional FP-tree All frequent patterns relate to m m, fm, cm, am, fcm, fam, cam, fcam   {} f:4 c:1 b:1 p:1 b:1 c:3 a:3 b:1 m:2 p:2 m:1 Header Table Item frequency head f 4 c 4 a 3 b 3 m 3 p 3
  • 29. 29 Benefits of the FP-tree Structure  Completeness  Preserve complete information for frequent pattern mining  Compactness  Reduce irrelevant info—infrequent items are gone  Items in frequency descending order: the more frequently occurring, the more likely to be shared
  • 30. 30 The Frequent Pattern Growth Mining Method  Idea: Frequent pattern growth  Recursively grow frequent patterns by pattern and database partition  Method  For each frequent item, construct its conditional pattern-base, and then its conditional FP-tree  Repeat the process on each newly created conditional FP-tree  Until the resulting FP-tree is empty, or it contains only one path—single path will generate all the combinations of its sub-paths, each of which is a frequent pattern
  • 31. 31 Scaling FP-growth by Database Projection  What about if FP-tree cannot fit in memory?  DB projection  First partition a database into a set of projected DBs  Then construct and mine FP-tree for each projected DB  Parallel projection vs. partition projection techniques  Parallel projection  Project the DB in parallel for each frequent item  Parallel projection is space costly  All the partitions can be processed in parallel  Partition projection  Partition the DB based on the ordered frequent items  Passing the unprocessed parts to the subsequent partitions
  • 32. Performance of FPGrowth in Large Datasets FP-Growth vs. Apriori 32 0 10 20 30 40 50 60 70 80 90 100 0 0.5 1 1.5 2 2.5 3 Support threshold(%) Run time(sec.) D1 FP-grow th runtime D1 Apriori runtime Data set T25I20D10K 0 20 40 60 80 100 120 140 0 0.5 1 1.5 2 Support threshold (%) Runtim e (sec.) D2 FP-growth D2 TreeProjection Data set T25I20D100K FP-Growth vs. Tree-Projection
  • 33. 33 Advantages of the Pattern Growth Approach  Divide-and-conquer:  Decompose both the mining task and DB according to the frequent patterns obtained so far  Other factors  No candidate generation, no candidate test  Compressed database: FP-tree structure  No repeated scan of entire database  Basic ops: counting local freq items and building sub FP-tree, no pattern search and matching  A good open-source implementation and refinement of FPGrowth  FPGrowth+ (Grahne and J. Zhu, FIMI'03)
  • 34. 34 Further Improvements of Mining Methods  AFOPT (Liu, et al. @ KDD’03)  Carpenter (Pan, et al. @ KDD’03)  FPgrowth+ (Grahne and Zhu, FIMI’03)  TD-Close (Liu, et al, SDM’06)
  • 35. 35 Extension of Pattern Growth Mining Methodology  Mining closed frequent itemsets and max-patterns  CLOSET (DMKD’00), FPclose, and FPMax (Grahne & Zhu, Fimi’03)  Mining graph patterns  gSpan (ICDM’02), CloseGraph (KDD’03)  Constraint-based mining of frequent patterns  Convertible constraints (ICDE’01), gPrune (PAKDD’03)  Pattern-growth-based Clustering  MaPle (Pei, et al., ICDM’03)  Pattern-Growth-Based Classification  Mining frequent and discriminative patterns (Cheng, et al, ICDE’07)