0% found this document useful (0 votes)
182 views

Frequent Patterns

This chapter discusses mining frequent patterns, associations, and correlations from data. It covers basic concepts such as frequent patterns and association rules. It then describes efficient and scalable methods for mining frequent itemsets, including the Apriori algorithm and approaches using frequent pattern growth and vertical data formats. The chapter also discusses mining various types of association rules and extending association mining to correlation analysis and constraint-based mining.

Uploaded by

PINKI
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
182 views

Frequent Patterns

This chapter discusses mining frequent patterns, associations, and correlations from data. It covers basic concepts such as frequent patterns and association rules. It then describes efficient and scalable methods for mining frequent itemsets, including the Apriori algorithm and approaches using frequent pattern growth and vertical data formats. The chapter also discusses mining various types of association rules and extending association mining to correlation analysis and constraint-based mining.

Uploaded by

PINKI
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 80

Chapter 5: Mining Frequent Patterns,

Association and Correlations

 Basic concepts and a road map


 Efficient and scalable frequent itemset mining
methods
 Mining various kinds of association rules
 From association mining to correlation
analysis
 Constraint-based association mining
 Summary

January 17, 2020 Data Mining: Concepts and Techniques 1


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?— Beer and diapers?!
 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, cross-marketing, catalog design, sale campaign
analysis, Web log (click stream) analysis, and DNA sequence analysis.
January 17, 2020 Data Mining: Concepts and Techniques 2
Why Is Freq. Pattern Mining Important?

 Discloses an intrinsic and important property of data sets


 Forms the 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: associative classification
 Cluster analysis: frequent pattern-based clustering
 Data warehousing: iceberg cube and cube-gradient
 Semantic data compression: fascicles
 Broad applications
January 17, 2020 Data Mining: Concepts and Techniques 3
Basic Concepts: Frequent Patterns and
Association Rules
Transaction-id Items bought  Itemset X = {x1, …, xk}
10 A, B, D
 Find all the rules X  Y with minimum
20 A, C, D support and confidence
30 A, D, E
 support, s, probability that a
40 B, E, F
transaction contains X  Y
50 B, C, D, E, F
 confidence, c, conditional
Customer Customer probability that a transaction
buys both buys diaper
having X also contains Y
Let supmin = 50%, confmin = 50%
Freq. Pat.: {A:3, B:3, D:4, E:3, AD:3}
Association rules:
Customer A  D (60%, 100%)
buys beer
D  A (60%, 75%)
January 17, 2020 Data Mining: Concepts and Techniques 4
Closed Patterns and Max-Patterns
 A long pattern contains a combinatorial number of sub-
patterns, e.g., {a1, …, a100} contains (1001) + (1002) + … +
(110000) = 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
(proposed by Pasquier, et al. @ ICDT’99)
 An itemset X is a max-pattern if X is frequent and there
exists no frequent super-pattern Y ‫ כ‬X (proposed by
Bayardo @ SIGMOD’98)
 Closed pattern is a lossless compression of freq. patterns
 Reducing the # of patterns and rules
January 17, 2020 Data Mining: Concepts and Techniques 5
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?
 !!
January 17, 2020 Data Mining: Concepts and Techniques 6
Chapter 5: Mining Frequent Patterns,
Association and Correlations
 Basic concepts and a road map
 Efficient and scalable frequent itemset mining
methods
 Mining various kinds of association rules
 From association mining to correlation
analysis
 Constraint-based association mining
 Summary

January 17, 2020 Data Mining: Concepts and Techniques 7


Scalable Methods for Mining Frequent Patterns

 The downward closure property of frequent patterns


 Any subset of a frequent itemset must be frequent

 If {beer, diaper, nuts} is frequent, so is {beer,

diaper}
 i.e., every transaction having {beer, diaper, nuts} also

contains {beer, diaper}


 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)
January 17, 2020 Data Mining: Concepts and Techniques 8
Apriori: A Candidate Generation-and-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

January 17, 2020 Data Mining: Concepts and Techniques 9


The Apriori Algorithm—An Example
Supmin = 2 Itemset sup
Itemset sup
Database TDB {A} 2
Tid Items
L1 {A} 2
C1 {B} 3
{B} 3
10 A, C, D {C} 3
1st scan {C} 3
20 B, C, E {D} 1
{E} 3
30 A, B, C, E {E} 3
40 B, E
C2 Itemset sup C2 Itemset
{A, B} 1
L2 Itemset sup 2nd scan {A, B}
{A, C} 2
{A, C} 2 {A, C}
{A, E} 1
{B, C} 2
{B, C} 2 {A, E}
{B, E} 3
{B, E} 3 {B, C}
{C, E} 2
{C, E} 2 {B, E}
{C, E}

C3 Itemset L3 Itemset sup


3rd scan
{B, C, E} {B, C, E} 2
January 17, 2020 Data Mining: Concepts and Techniques 10
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;
January 17, 2020 Data Mining: Concepts and Techniques 11
Important Details of Apriori
 How to generate candidates?
 Step 1: self-joining Lk
 Step 2: pruning
 How to count supports of candidates?
 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}

January 17, 2020 Data Mining: Concepts and Techniques 12


How to Generate Candidates?

 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

January 17, 2020 Data Mining: Concepts and Techniques 13


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

January 17, 2020 Data Mining: Concepts and Techniques 14


Example: Counting Supports of Candidates

Subset function
Transaction: 1 2 3 5 6
3,6,9
1,4,7
2,5,8

1+2356

13+56 234
567
145 345 356 367
136 368
357
12+356
689
124
457 125 159
458

January 17, 2020 Data Mining: Concepts and Techniques 15


Efficient Implementation of Apriori in SQL

 Hard to get good performance out of pure SQL (SQL-


92) based approaches alone

 Make use of object-relational extensions like UDFs,


BLOBs, Table functions etc.

 Get orders of magnitude improvement

 S. Sarawagi, S. Thomas, and R. Agrawal. Integrating


association rule mining with relational database
systems: Alternatives and implications. In SIGMOD’98

January 17, 2020 Data Mining: Concepts and Techniques 16


Challenges of Frequent Pattern Mining

 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

January 17, 2020 Data Mining: Concepts and Techniques 17


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. An efficient
algorithm for mining association in large databases. In
VLDB’95

January 17, 2020 Data Mining: Concepts and Techniques 18


DHP: Reduce the Number of Candidates

 A k-itemset whose corresponding hashing bucket count is


below the threshold cannot be frequent
 Candidates: a, b, c, d, e
 Hash entries: {ab, ad, ae} {bd, be, de} …
 Frequent 1-itemset: a, b, d, e
 ab is not a candidate 2-itemset if the sum of count of
{ab, ad, ae} is below support threshold
 J. Park, M. Chen, and P. Yu. An effective hash-based
algorithm for mining association rules. In SIGMOD’95

January 17, 2020 Data Mining: Concepts and Techniques 19


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

January 17, 2020 Data Mining: Concepts and Techniques 20


DIC: Reduce Number of Scans

ABCD
 Once both A and D are determined
frequent, the counting of AD begins
ABC ABD ACD BCD  Once all length-2 subsets of BCD are
determined frequent, the counting of BCD
begins
AB AC BC AD BD CD
Transactions
1-itemsets
A B C D
Apriori 2-itemsets

{}
Itemset lattice 1-itemsets
S. Brin R. Motwani, J. Ullman, 2-items
and S. Tsur. Dynamic itemset DIC 3-items
counting and implication rules for
market basket data. In
SIGMOD’97
January 17, 2020 Data Mining: Concepts and Techniques 21
Bottleneck of Frequent-pattern Mining

 Multiple database scans are costly


 Mining long patterns needs many passes of
scanning and generates lots of candidates
 To find frequent itemset i1i2…i100
 # of scans: 100
 # of Candidates: (1001) + (1002) + … + (110000) = 2100-
1 = 1.27*1030 !
 Bottleneck: candidate-generation-and-test
 Can we avoid candidate generation?

January 17, 2020 Data Mining: Concepts and Techniques 22


Mining Frequent Patterns Without
Candidate Generation

 Grow long patterns from short ones using local


frequent items

 “abc” is a frequent pattern

 Get all transactions having “abc”: DB|abc

 “d” is a local frequent item in DB|abc  abcd is


a frequent pattern

January 17, 2020 Data Mining: Concepts and Techniques 23


Construct FP-tree from a Transaction Database

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} min_support = 3
400 {b, c, k, s, p} {c, b, p}
500 {a, f, c, e, l, p, m, n} {f, c, a, m, p} {}
Header Table
1. Scan DB once, find
frequent 1-itemset Item frequency head f:4 c:1
(single item pattern) f 4
c 4 c:3 b:1 b:1
2. Sort frequent items in a 3
frequency descending b 3
order, f-list m 3
a:3 p:1
p 3
3. Scan DB again, m:2 b:1
construct FP-tree
F-list=f-c-a-b-m-p p:2 m:1
January 17, 2020 Data Mining: Concepts and Techniques 24
Benefits of the FP-tree Structure

 Completeness
 Preserve complete information for frequent pattern

mining
 Never break a long pattern of any transaction

 Compactness
 Reduce irrelevant info—infrequent items are gone

 Items in frequency descending order: the more

frequently occurring, the more likely to be shared


 Never be larger than the original database (not count

node-links and the count field)


 For Connect-4 DB, compression ratio could be over 100

January 17, 2020 Data Mining: Concepts and Techniques 25


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

January 17, 2020 Data Mining: Concepts and Techniques 26


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

{}
Header Table
f:4 c:1 Conditional pattern bases
Item frequency head
f 4 item cond. pattern base
c 4 c:3 b:1 b:1 c f:3
a 3
b 3 a:3 p:1 a fc:3
m 3 b fca:1, f:1, c:1
p 3 m:2 b:1 m fca:2, fcab:1

p:2 m:1 p fcam:2, cb:1


January 17, 2020 Data Mining: Concepts and Techniques 27
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
Header Table
Item frequency head All frequent
f:4 c:1 patterns relate to m
f 4 {}
c 4 c:3 b:1 b:1 m,

a 3 f:3  fm, cm, am,
b 3 a:3 p:1 fcm, fam, cam,
m 3 c:3 fcam
p 3 m:2 b:1
p:2 m:1 a:3
m-conditional FP-tree
January 17, 2020 Data Mining: Concepts and Techniques 28
Recursion: Mining Each Conditional FP-tree
{}

{} Cond. pattern base of “am”: (fc:3) f:3

c:3
f:3
am-conditional FP-tree
c:3 {}
Cond. pattern base of “cm”: (f:3)
a:3 f:3
m-conditional FP-tree
cm-conditional FP-tree

{}

Cond. pattern base of “cam”: (f:3) f:3


cam-conditional FP-tree

January 17, 2020 Data Mining: Concepts and Techniques 29


A Special Case: Single Prefix Path in FP-tree

 Suppose a (conditional) FP-tree T has a shared


single prefix-path P
 Mining can be decomposed into two parts
{}
 Reduction of the single prefix path into one node
a1:n1  Concatenation of the mining results of the two
a2:n2 parts
a3:n3
{} r1

b1:m1 C1:k1 a1:n1


 r1 = + b1:m1 C1:k1
a2:n2
C2:k2 C3:k3
a3:n3 C2:k2 C3:k3
January 17, 2020 Data Mining: Concepts and Techniques 30
Mining Frequent Patterns With FP-trees

 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

January 17, 2020 Data Mining: Concepts and Techniques 31


Scaling FP-growth by DB Projection

 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 is space costly

January 17, 2020 Data Mining: Concepts and Techniques 32


Partition-based Projection

Tran. DB
 Parallel projection needs a lot fcamp
of disk space fcabm
fb
 Partition projection saves it cbp
fcamp

p-proj DB m-proj DB b-proj DB a-proj DB c-proj DB f-proj DB


fcam fcab f fc f …
cb fca cb … …
fcam fca …

am-proj DB cm-proj DB
fc f …
fc f
fc f
January 17, 2020 Data Mining: Concepts and Techniques 33
FP-Growth vs. Apriori: Scalability With the Support
Threshold

100 Data set T25I20D10K


90 D1 FP-grow th runtime
D1 Apriori runtime
80

70
Run time(sec.)

60
50

40

30

20

10
0
0 0.5 1 1.5 2 2.5 3
Support threshold(%)

January 17, 2020 Data Mining: Concepts and Techniques 34


FP-Growth vs. Tree-Projection: Scalability with
the Support Threshold

Data set T25I20D100K


140
D2 FP-growth
120 D2 TreeProjection

100
Runtime (sec.)

80

60

40

20

0
0 0.5 1 1.5 2
Support threshold (%)
January 17, 2020 Data Mining: Concepts and Techniques 35
Why Is FP-Growth the Winner?

 Divide-and-conquer:
 decompose both the mining task and DB according to
the frequent patterns obtained so far
 leads to focused search of smaller databases
 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

January 17, 2020 Data Mining: Concepts and Techniques 36


Implications of the Methodology

 Mining closed frequent itemsets and max-patterns

 CLOSET (DMKD’00)
 Mining sequential patterns

 FreeSpan (KDD’00), PrefixSpan (ICDE’01)


 Constraint-based mining of frequent patterns

 Convertible constraints (KDD’00, ICDE’01)


 Computing iceberg data cubes with complex measures

 H-tree and H-cubing algorithm (SIGMOD’01)

January 17, 2020 Data Mining: Concepts and Techniques 37


MaxMiner: Mining Max-patterns
 1st scan: find frequent items Tid Items

 A, B, C, D, E 10 A,B,C,D,E
20 B,C,D,E,
 2nd scan: find support for 30 A,C,D,F
 AB, AC, AD, AE, ABCDE
BC, BD, BE, BCDE
Potential

 CD, CE, CDE, DE, max-patterns


 Since BCDE is a max-pattern, no need to check BCD, BDE,
CDE in later scan
 R. Bayardo. Efficiently mining long patterns from
databases. In SIGMOD’98
January 17, 2020 Data Mining: Concepts and Techniques 38
Mining Frequent Closed Patterns: CLOSET

 Flist: list of all frequent items in support ascending order


 Flist: d-a-f-e-c Min_sup=2
 Divide search space TID Items
10 a, c, d, e, f
 Patterns having d 20 a, b, e
30 c, e, f
 Patterns having d but no a, etc. 40 a, c, d, f
50 c, e, f
 Find frequent closed pattern recursively
 Every transaction having d also has cfa  cfad is a
frequent closed pattern
 J. Pei, J. Han & R. Mao. CLOSET: An Efficient Algorithm for
Mining Frequent Closed Itemsets", DMKD'00.
January 17, 2020 Data Mining: Concepts and Techniques 39
CLOSET+: Mining Closed Itemsets by
Pattern-Growth
 Itemset merging: if Y appears in every occurrence of X, then Y
is merged with X
 Sub-itemset pruning: if Y ‫ כ‬X, and sup(X) = sup(Y), X and all of
X’s descendants in the set enumeration tree can be pruned
 Hybrid tree projection
 Bottom-up physical tree-projection
 Top-down pseudo tree-projection
 Item skipping: if a local frequent item has the same support in
several header tables at different levels, one can prune it from
the header table at higher levels
 Efficient subset checking

January 17, 2020 Data Mining: Concepts and Techniques 40


CHARM: Mining by Exploring Vertical Data Format

 Vertical format: t(AB) = {T11, T25, …}


 tid-list: list of trans.-ids containing an itemset
 Deriving closed patterns based on vertical intersections
 t(X) = t(Y): X and Y always happen together
 t(X)  t(Y): transaction having X always has Y
 Using diffset to accelerate mining
 Only keep track of differences of tids
 t(X) = {T1, T2, T3}, t(XY) = {T1, T3}
 Diffset (XY, X) = {T2}
 Eclat/MaxEclat (Zaki et al. @KDD’97), VIPER(P. Shenoy et
al.@SIGMOD’00), CHARM (Zaki & Hsiao@SDM’02)
January 17, 2020 Data Mining: Concepts and Techniques 41
Further Improvements of Mining Methods

 AFOPT (Liu, et al. @ KDD’03)


 A “push-right” method for mining condensed frequent

pattern (CFP) tree


 Carpenter (Pan, et al. @ KDD’03)
 Mine data sets with small rows but numerous columns

 Construct a row-enumeration tree for efficient mining

January 17, 2020 Data Mining: Concepts and Techniques 42


Visualization of Association Rules: Plane Graph

January 17, 2020 Data Mining: Concepts and Techniques 43


Visualization of Association Rules: Rule Graph

January 17, 2020 Data Mining: Concepts and Techniques 44


Visualization of Association Rules
(SGI/MineSet 3.0)

January 17, 2020 Data Mining: Concepts and Techniques 45


Chapter 5: Mining Frequent Patterns,
Association and Correlations
 Basic concepts and a road map
 Efficient and scalable frequent itemset mining
methods
 Mining various kinds of association rules
 From association mining to correlation
analysis
 Constraint-based association mining
 Summary

January 17, 2020 Data Mining: Concepts and Techniques 46


Mining Various Kinds of Association Rules

 Mining multilevel association

 Miming multidimensional association

 Mining quantitative association

 Mining interesting correlation patterns

January 17, 2020 Data Mining: Concepts and Techniques 47


Mining Multiple-Level Association Rules

 Items often form hierarchies


 Flexible support settings
 Items at the lower level are expected to have lower
support
 Exploration of shared multi-level mining (Agrawal &
Srikant@VLB’95, Han & Fu@VLDB’95)

uniform support reduced support


Level 1
Milk Level 1
min_sup = 5%
[support = 10%] min_sup = 5%

Level 2 2% Milk Skim Milk Level 2


min_sup = 5% [support = 6%] [support = 4%] min_sup = 3%

January 17, 2020 Data Mining: Concepts and Techniques 48


Multi-level Association: Redundancy Filtering

 Some rules may be redundant due to “ancestor”


relationships between items.
 Example
 milk  wheat bread [support = 8%, confidence = 70%]

 2% milk  wheat bread [support = 2%, confidence = 72%]


 We say the first rule is an ancestor of the second rule.
 A rule is redundant if its support is close to the “expected”
value, based on the rule’s ancestor.

January 17, 2020 Data Mining: Concepts and Techniques 49


Mining Multi-Dimensional Association
 Single-dimensional rules:
buys(X, “milk”)  buys(X, “bread”)
 Multi-dimensional rules:  2 dimensions or predicates
 Inter-dimension assoc. rules (no repeated predicates)
age(X,”19-25”)  occupation(X,“student”)  buys(X, “coke”)
 hybrid-dimension assoc. rules (repeated predicates)
age(X,”19-25”)  buys(X, “popcorn”)  buys(X, “coke”)
 Categorical Attributes: finite number of possible values, no
ordering among values—data cube approach
 Quantitative Attributes: numeric, implicit ordering among
values—discretization, clustering, and gradient approaches

January 17, 2020 Data Mining: Concepts and Techniques 50


Mining Quantitative Associations

 Techniques can be categorized by how numerical


attributes, such as age or salary are treated
1. Static discretization based on predefined concept
hierarchies (data cube methods)
2. Dynamic discretization based on data distribution
(quantitative rules, e.g., Agrawal & Srikant@SIGMOD96)
3. Clustering: Distance-based association (e.g., Yang &
Miller@SIGMOD97)
 one dimensional clustering then association
4. Deviation: (such as Aumann and Lindell@KDD99)
Sex = female => Wage: mean=$7/hr (overall mean = $9)

January 17, 2020 Data Mining: Concepts and Techniques 51


Static Discretization of Quantitative Attributes

 Discretized prior to mining using concept hierarchy.


 Numeric values are replaced by ranges.
 In relational database, finding all frequent k-predicate sets
will require k or k+1 table scans.
 Data cube is well suited for mining. ()

 The cells of an n-dimensional


(age) (income) (buys)
cuboid correspond to the
predicate sets.
(age, income) (age,buys) (income,buys)
 Mining from data cubes
can be much faster.
(age,income,buys)
January 17, 2020 Data Mining: Concepts and Techniques 52
Quantitative Association Rules
 Proposed by Lent, Swami and Widom ICDE’97
 Numeric attributes are dynamically discretized
 Such that the confidence or compactness of the rules
mined is maximized
 2-D quantitative association rules: Aquan1  Aquan2  Acat
 Cluster adjacent
association rules
to form general
rules using a 2-D grid
 Example
age(X,”34-35”)  income(X,”30-50K”)
 buys(X,”high resolution TV”)

January 17, 2020 Data Mining: Concepts and Techniques 53


Mining Other Interesting Patterns

 Flexible support constraints (Wang et al. @ VLDB’02)


 Some items (e.g., diamond) may occur rarely but are
valuable
 Customized supmin specification and application
 Top-K closed frequent patterns (Han, et al. @ ICDM’02)
 Hard to specify supmin, but top-k with lengthmin is more
desirable
 Dynamically raise supmin in FP-tree construction and
mining, and select most promising path to mine

January 17, 2020 Data Mining: Concepts and Techniques 54


Chapter 5: Mining Frequent Patterns,
Association and Correlations
 Basic concepts and a road map
 Efficient and scalable frequent itemset mining
methods
 Mining various kinds of association rules
 From association mining to correlation analysis
 Constraint-based association mining
 Summary

January 17, 2020 Data Mining: Concepts and Techniques 55


Interestingness Measure: Correlations (Lift)
 play basketball  eat cereal [40%, 66.7%] is misleading
 The overall % of students eating cereal is 75% > 66.7%.
 play basketball  not eat cereal [20%, 33.3%] is more accurate,
although with lower support and confidence
 Measure of dependent/correlated events: lift
Basketball Not basketball Sum (row)

P( A B) Cereal 2000 1750 3750


lift  Not cereal 1000 250 1250
P( A) P( B)
Sum(col.) 3000 2000 5000

2000 / 5000 1000 / 5000


lift ( B, C )   0.89 lift ( B, C )   1.33
3000 / 5000 * 3750 / 5000 3000 / 5000 *1250 / 5000

January 17, 2020 Data Mining: Concepts and Techniques 56


Are lift and 2 Good Measures of Correlation?
 “Buy walnuts  buy milk [1%, 80%]” is misleading
 if 85% of customers buy milk
 Support and confidence are not good to represent correlations
 So many interestingness measures? (Tan, Kumar, Sritastava @KDD’02)

P( A B)
lift 
P( A) P( B) Milk No Milk Sum (row)
Coffee m, c ~m, c c
sup( X ) No Coffee m, ~c ~m, ~c ~c
all _ conf 
max_ item _ sup( X ) Sum(col.) m ~m 

DB m, c ~m, c m~c ~m~c lift all-conf coh 2


sup( X ) A1 1000 100 100 10,000 9.26 0.91 0.83 9055
coh  A2 100 1000 1000 100,000 8.44 0.09 0.05 670
| universe( X ) |
A3 1000 100 10000 100,000 9.18 0.09 0.09 8172
A4 1000 1000 1000 1000 1 0.5 0.33 0
January 17, 2020 Data Mining: Concepts and Techniques 57
Which Measures Should Be Used?
 lift and 2 are not
good measures for
correlations in large
transactional DBs
 all-conf or
coherence could be
good measures
(Omiecinski@TKDE’03)
 Both all-conf and
coherence have the
downward closure
property
 Efficient algorithms
can be derived for
mining (Lee et al.
@ICDM’03sub)

January 17, 2020 Data Mining: Concepts and Techniques 58


Chapter 5: Mining Frequent Patterns,
Association and Correlations
 Basic concepts and a road map
 Efficient and scalable frequent itemset mining
methods
 Mining various kinds of association rules
 From association mining to correlation analysis
 Constraint-based association mining
 Summary

January 17, 2020 Data Mining: Concepts and Techniques 59


Constraint-based (Query-Directed) Mining

 Finding all the patterns in a database autonomously? —


unrealistic!
 The patterns could be too many but not focused!
 Data mining should be an interactive process
 User directs what to be mined using a data mining
query language (or a graphical user interface)
 Constraint-based mining
 User flexibility: provides constraints on what to be
mined
 System optimization: explores such constraints for
efficient mining—constraint-based mining
January 17, 2020 Data Mining: Concepts and Techniques 60
Constraints in Data Mining

 Knowledge type constraint:


 classification, association, etc.

 Data constraint — using SQL-like queries


 find product pairs sold together in stores in Chicago in
Dec.’02
 Dimension/level constraint
 in relevance to region, price, brand, customer category

 Rule (or pattern) constraint


 small sales (price < $10) triggers big sales (sum >
$200)
 Interestingness constraint
 strong rules: min_support  3%, min_confidence 
60%
January 17, 2020 Data Mining: Concepts and Techniques 61
Constrained Mining vs. Constraint-Based Search

 Constrained mining vs. constraint-based search/reasoning


 Both are aimed at reducing search space

 Finding all patterns satisfying constraints vs. finding

some (or one) answer in constraint-based search in AI


 Constraint-pushing vs. heuristic search

 It is an interesting research problem on how to integrate

them
 Constrained mining vs. query processing in DBMS
 Database query processing requires to find all

 Constrained pattern mining shares a similar philosophy

as pushing selections deeply in query processing

January 17, 2020 Data Mining: Concepts and Techniques 62


Anti-Monotonicity in Constraint Pushing
TDB (min_sup=2)
 Anti-monotonicity TID Transaction

 When an intemset S violates the 10 a, b, c, d, f

constraint, so does any of its superset 20 b, c, d, f, g, h


30 a, c, d, e, f
 sum(S.Price)  v is anti-monotone 40 c, e, f, g

 sum(S.Price)  v is not anti-monotone Item Profit


 Example. C: range(S.profit)  15 is anti- a 40

monotone b 0
c -20
 Itemset ab violates C d 10
 So does every superset of ab e -30
f 30
g 20
h -10
January 17, 2020 Data Mining: Concepts and Techniques 63
Monotonicity for Constraint Pushing
TDB (min_sup=2)
TID Transaction
 Monotonicity
10 a, b, c, d, f
 When an intemset S satisfies the 20 b, c, d, f, g, h
constraint, so does any of its 30 a, c, d, e, f
40 c, e, f, g
superset
 sum(S.Price)  v is monotone Item Profit
a 40
 min(S.Price)  v is monotone b 0
 Example. C: range(S.profit)  15 c -20
d 10
 Itemset ab satisfies C e -30

 So does every superset of ab f 30


g 20
h -10
January 17, 2020 Data Mining: Concepts and Techniques 64
Succinctness

 Succinctness:
 Given A1, the set of items satisfying a succinctness
constraint C, then any set S satisfying C is based on
A1 , i.e., S contains a subset belonging to A1
 Idea: Without looking at the transaction database,
whether an itemset S satisfies constraint C can be
determined based on the selection of items
 min(S.Price)  v is succinct
 sum(S.Price)  v is not succinct
 Optimization: If C is succinct, C is pre-counting pushable

January 17, 2020 Data Mining: Concepts and Techniques 65


The Apriori Algorithm — Example
Database D itemset sup.
L1 itemset sup.
TID Items C1 {1} 2 {1} 2
100 134 {2} 3 {2} 3
200 235 Scan D {3} 3 {3} 3
300 1235 {4} 1 {5} 3
400 25 {5} 3
C2 itemset sup C2 itemset
L2 itemset sup {1 2} 1 Scan D {1 2}
{1 3} 2 {1 3} 2 {1 3}
{2 3} 2 {1 5} 1 {1 5}
{2 3} 2 {2 3}
{2 5} 3
{2 5} 3 {2 5}
{3 5} 2
{3 5} 2 {3 5}
C3 itemset Scan D L3 itemset sup
{2 3 5} {2 3 5} 2
January 17, 2020 Data Mining: Concepts and Techniques 66
Naïve Algorithm: Apriori + Constraint
Database D itemset sup.
L1 itemset sup.
TID Items C1 {1} 2 {1} 2
100 134 {2} 3 {2} 3
200 235 Scan D {3} 3 {3} 3
300 1235 {4} 1 {5} 3
400 25 {5} 3
C2 itemset sup C2 itemset
L2 itemset sup {1 2} 1 Scan D {1 2}
{1 3} 2 {1 3} 2 {1 3}
{2 3} 2 {1 5} 1 {1 5}
{2 3} 2 {2 3}
{2 5} 3
{2 5} 3 {2 5}
{3 5} 2
{3 5} 2 {3 5}
C3 itemset Scan D L3 itemset sup Constraint:
{2 3 5} {2 3 5} 2 Sum{S.price} < 5
January 17, 2020 Data Mining: Concepts and Techniques 67
The Constrained Apriori Algorithm: Push
an Anti-monotone Constraint Deep
Database D itemset sup.
L1 itemset sup.
TID Items C1 {1} 2 {1} 2
100 134 {2} 3 {2} 3
200 235 Scan D {3} 3 {3} 3
300 1235 {4} 1 {5} 3
400 25 {5} 3
C2 itemset sup C2 itemset
L2 itemset sup {1 2} 1 Scan D {1 2}
{1 3} 2 {1 3} 2 {1 3}
{2 3} 2 {1 5} 1 {1 5}
{2 3} 2 {2 3}
{2 5} 3
{2 5} 3 {2 5}
{3 5} 2
{3 5} 2 {3 5}
C3 itemset Scan D L3 itemset sup Constraint:
{2 3 5} {2 3 5} 2 Sum{S.price} < 5
January 17, 2020 Data Mining: Concepts and Techniques 68
The Constrained Apriori Algorithm: Push a
Succinct Constraint Deep
Database D itemset sup.
L1 itemset sup.
TID Items C1 {1} 2 {1} 2
100 134 {2} 3 {2} 3
200 235 Scan D {3} 3 {3} 3
300 1235 {4} 1 {5} 3
400 25 {5} 3
C2 itemset sup C2 itemset
L2 itemset sup {1 2} 1 Scan D {1 2}
{1 3} 2 {1 3} 2 {1 3}
not immediately
{1 5} 1 {1 5} to be used
{2 3} 2
{2 3} 2 {2 3}
{2 5} 3
{2 5} 3 {2 5}
{3 5} 2 {3 5}
{3 5} 2
C3 itemset Scan D L3 itemset sup Constraint:
{2 3 5} {2 3 5} 2 min{S.price } <= 1
January 17, 2020 Data Mining: Concepts and Techniques 69
Converting “Tough” Constraints
TDB (min_sup=2)
TID Transaction
 Convert tough constraints into anti-
10 a, b, c, d, f
monotone or monotone by properly
20 b, c, d, f, g, h
ordering items
30 a, c, d, e, f
 Examine C: avg(S.profit)  25 40 c, e, f, g

 Order items in value-descending Item Profit


order a 40
b 0
 <a, f, g, d, b, h, c, e>
c -20
 If an itemset afb violates C d 10
e -30
 So does afbh, afb* f 30
 It becomes anti-monotone! g 20
h -10

January 17, 2020 Data Mining: Concepts and Techniques 70


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> Item Profit
 If an itemset af violates a constraint C, so a 40
does every itemset with af as prefix, such as b 0
afd c -20
 avg(X)  25 is convertible monotone w.r.t. item d 10
value ascending order R-1: <e, c, h, b, d, g, f, e -30
a> f 30
 If an itemset d satisfies a constraint C, so g 20
does itemsets df and dfa, which having d as h -10
a prefix
 Thus, avg(X)  25 is strongly convertible
January 17, 2020 Data Mining: Concepts and Techniques 71
Can Apriori Handle Convertible Constraint?

 A convertible, not monotone nor anti-monotone


nor succinct constraint cannot be pushed deep
into the an Apriori mining algorithm
 Within the level wise framework, no direct
Item Value
pruning based on the constraint can be made a 40
 Itemset df violates constraint C: avg(X)>=25 b 0
c -20
 Since adf satisfies C, Apriori needs df to
d 10
assemble adf, df cannot be pruned
e -30
 But it can be pushed into frequent-pattern f 30
growth framework! g 20
h -10

January 17, 2020 Data Mining: Concepts and Techniques 72


Mining With Convertible Constraints
Item Value
 C: avg(X) >= 25, min_sup=2 a 40
f 30
 List items in every transaction in value descending
g 20
order R: <a, f, g, d, b, h, c, e>
d 10
 C is convertible anti-monotone w.r.t. R b 0
 Scan TDB once h -10
c -20
 remove infrequent items
e -30
 Item h is dropped
 Itemsets a and f are good, …
TDB (min_sup=2)
 Projection-based mining
TID Transaction
 Imposing an appropriate order on item projection 10 a, f, d, b, c
 Many tough constraints can be converted into 20 f, g, d, b, c
(anti)-monotone 30 a, f, d, c, e
40 f, g, h, c, e

January 17, 2020 Data Mining: Concepts and Techniques 73


Handling Multiple Constraints

 Different constraints may require different or even


conflicting item-ordering
 If there exists an order R s.t. both C1 and C2 are
convertible w.r.t. R, then there is no conflict between
the two convertible constraints
 If there exists conflict on order of items
 Try to satisfy one constraint first
 Then using the order for the other constraint to
mine frequent itemsets in the corresponding
projected database

January 17, 2020 Data Mining: Concepts and Techniques 74


What Constraints Are Convertible?

Convertible anti- Convertible Strongly


Constraint monotone monotone convertible

avg(S)  ,  v Yes Yes Yes

median(S)  ,  v Yes Yes Yes

sum(S)  v (items could be of any value,


Yes No No
v  0)
sum(S)  v (items could be of any value,
No Yes No
v  0)
sum(S)  v (items could be of any value,
No Yes No
v  0)
sum(S)  v (items could be of any value,
Yes No No
v  0)
……

January 17, 2020 Data Mining: Concepts and Techniques 75


Constraint-Based Mining—A General Picture

Constraint Antimonotone Monotone Succinct


vS no yes yes
SV no yes yes

SV yes no yes


min(S)  v no yes yes

min(S)  v yes no yes


max(S)  v yes no yes

max(S)  v no yes yes


count(S)  v yes no weakly

count(S)  v no yes weakly

sum(S)  v ( a  S, a  0 ) yes no no
sum(S)  v ( a  S, a  0 ) no yes no

range(S)  v yes no no
range(S)  v no yes no

avg(S)  v,   { , ,  } convertible convertible no


support(S)   yes no no

support(S)   no yes no

January 17, 2020 Data Mining: Concepts and Techniques 76


A Classification of Constraints

Monotone
Antimonotone

Strongly
convertible
Succinct

Convertible Convertible
anti-monotone monotone

Inconvertible

January 17, 2020 Data Mining: Concepts and Techniques 77


Chapter 5: Mining Frequent Patterns,
Association and Correlations
 Basic concepts and a road map
 Efficient and scalable frequent itemset mining
methods
 Mining various kinds of association rules
 From association mining to correlation analysis
 Constraint-based association mining
 Summary

January 17, 2020 Data Mining: Concepts and Techniques 78


Frequent-Pattern Mining: Summary

 Frequent pattern mining—an important task in data mining


 Scalable frequent pattern mining methods
 Apriori (Candidate generation & test)
 Projection-based (FPgrowth, CLOSET+, ...)
 Vertical format approach (CHARM, ...)
 Mining a variety of rules and interesting patterns
 Constraint-based mining
 Mining sequential and structured patterns
 Extensions and applications

January 17, 2020 Data Mining: Concepts and Techniques 79


Frequent-Pattern Mining: Research Problems

 Mining fault-tolerant frequent, sequential and structured


patterns
 Patterns allows limited faults (insertion, deletion,
mutation)
 Mining truly interesting patterns
 Surprising, novel, concise, …
 Application exploration
 E.g., DNA sequence analysis and bio-pattern
classification
 “Invisible” data mining

January 17, 2020 Data Mining: Concepts and Techniques 80

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy