fp-growth - ulisboa · pdf file1 fp-growth challenges of frequent pattern mining improving...

21
1 FP-growth Challenges of Frequent Pattern Mining Improving Apriori Fp-growth Fp-tree Mining frequent patterns with FP-tree Visualization of Association Rules

Upload: phamhanh

Post on 22-Mar-2018

231 views

Category:

Documents


8 download

TRANSCRIPT

Page 1: FP-growth - ULisboa · PDF file1 FP-growth Challenges of Frequent Pattern Mining Improving Apriori Fp-growth Fp-tree Mining frequent patterns with FP-tree Visualization of Association

1

FP-growth

Challenges of Frequent Pattern Mining Improving Apriori Fp-growth

Fp-tree Mining frequent patterns with FP-tree

Visualization of Association Rules

Page 2: FP-growth - ULisboa · PDF file1 FP-growth Challenges of Frequent Pattern Mining Improving Apriori Fp-growth Fp-tree Mining frequent patterns with FP-tree Visualization of Association

2

Challenges ofFrequent 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

Transactional Database

Page 3: FP-growth - ULisboa · PDF file1 FP-growth Challenges of Frequent Pattern Mining Improving Apriori Fp-growth Fp-tree Mining frequent patterns with FP-tree Visualization of Association

3

Association Rule Mining Find all frequent itemsets Generate strong association rules from

the frequent itemsets

Apriori algorithm is mining frequentitemsets for Boolean associations rules

Page 4: FP-growth - ULisboa · PDF file1 FP-growth Challenges of Frequent Pattern Mining Improving Apriori Fp-growth Fp-tree Mining frequent patterns with FP-tree Visualization of Association

4

Improving Apriori Reduce passes of transaction database

scans Shrink number of candidates Facilitate support counting of candidates Use constraints

The Apriori Algorithm —Example

Database D

Scan D

C1L1

L2

C2 C2Scan D

C3 L3Scan D

Page 5: FP-growth - ULisboa · PDF file1 FP-growth Challenges of Frequent Pattern Mining Improving Apriori Fp-growth Fp-tree Mining frequent patterns with FP-tree Visualization of Association

5

Apriori + ConstraintDatabase D

Scan D

C1L1

L2

C2 C2Scan D

C3 L3Scan D Constraint:

Sum{S.price} < 5

Push an Anti-monotone ConstraintDeep

Database D

Scan D

C1L1

L2

C2 C2Scan D

C3 L3Scan D Constraint:

Sum{S.price} < 5

Page 6: FP-growth - ULisboa · PDF file1 FP-growth Challenges of Frequent Pattern Mining Improving Apriori Fp-growth Fp-tree Mining frequent patterns with FP-tree Visualization of Association

6

Hash-based technique The basic idea in hash coding is to determine

the address of the stored item as some simplearithmetic function content

Map onto a subspace of allocated addressesusing a hash function

Assume the allocated address range from b ton+b-1, the hashing function may takeh=(a mod n)+b

In order to create a good pseudorandomnumber, n ought to be prime

Two different keywords may have equalhash addresses

Partition the memory into buckets, and toaddress each bucket One address is mapped into one bucket

Page 7: FP-growth - ULisboa · PDF file1 FP-growth Challenges of Frequent Pattern Mining Improving Apriori Fp-growth Fp-tree Mining frequent patterns with FP-tree Visualization of Association

7

When scanning each transition in thedatabase to generate frequent 1-itemsets, we can generate all the 2-itemsets for each transition and hashthem into different buckets of the hashtable

We use h=a mod n, a address, n < thesize of C2

A 2-itemset whose bucketcount in the hash table is belowthe support threshold cannotbe frequent, and should beremoved from the candidate set

Page 8: FP-growth - ULisboa · PDF file1 FP-growth Challenges of Frequent Pattern Mining Improving Apriori Fp-growth Fp-tree Mining frequent patterns with FP-tree Visualization of Association

8

Transaction reduction

A transaction which does not containfrequent k-itemsets should be removedfrom the database for further scans

Partitioning First scan:

• Subdivide the transactions of database D into n nonoverlapping partitions

• If the minimum support in D is min_sup, then the minimumsupport for a partition is min_sup * number of transactionsin that partition

• Local frequent items are determined• A local frequent item my not by a frequent item in D

Second scan:• Frequent items are determined from the local frequent items

Page 9: FP-growth - ULisboa · PDF file1 FP-growth Challenges of Frequent Pattern Mining Improving Apriori Fp-growth Fp-tree Mining frequent patterns with FP-tree Visualization of Association

9

Partitioning First scan:

• Subdivide the transactions of database D into n non overlappingpartitions

• If the minimum support in D is min_sup, then the minimumsupport for a partition is

min_sup * number of transactions in D /number of transactions in that partition

• Local frequent items are determined• A local frequent item my not by a frequent item in D

Second scan:• Frequent items are determined from the local frequent items

Sampling Pick a random sample S of D Search for local frequent items in S

Use a lower support threshold Determine frequent items from the local frequent

items Frequent items of D may be missed

For completeness a second scan is done

Page 10: FP-growth - ULisboa · PDF file1 FP-growth Challenges of Frequent Pattern Mining Improving Apriori Fp-growth Fp-tree Mining frequent patterns with FP-tree Visualization of Association

10

Is Apriori fast enough?

Basics of Apriori algorithm

Use frequent (k-1)-itemsets to generate k-itemsets candidates

Scan the databases to determine frequent k-itemsets

It is costly to handle a huge number ofcandidate sets

If there are 104 frequent 1-itemsts, theApriori algorithm will need to generatemore than 107 2-itemsets and test theirfrequencies

Page 11: FP-growth - ULisboa · PDF file1 FP-growth Challenges of Frequent Pattern Mining Improving Apriori Fp-growth Fp-tree Mining frequent patterns with FP-tree Visualization of Association

11

To discover a 100-itemset

2100-1 candidates have to be generated

2100-1=1.27*1030

(Do you know how big this number is?)....

• 7*�1027 ≈ number of atoms of a person• 6�*1049 ≈ number of atoms of the earth• 1078 ≈ number of the atom of the universe

Bottleneck of Apriori Mining long patterns needs many passes of

scanning and generates lots of candidates Bottleneck: candidate-generation-and-test

Can we avoid candidate generation? May some new data structure help?

Page 12: FP-growth - ULisboa · PDF file1 FP-growth Challenges of Frequent Pattern Mining Improving Apriori Fp-growth Fp-tree Mining frequent patterns with FP-tree Visualization of Association

12

Mining Frequent Patterns WithoutCandidate Generation

Grow long patterns from short ones usinglocal frequent items “abc” is a frequent pattern

Get all transactions having “abc”: DB|abc

“d” is a local frequent item in DB|abc abcd isa frequent pattern

Construct FP-tree from a TransactionDatabase

{}

f:4 c:1

b:1

p:1

b:1c:3

a:3

b:1m:2

p:2 m:1

Header Table

Item frequency head f 4c 4a 3b 3m 3p 3

min_support = 3

TID Items bought (ordered) frequent items100 {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, findfrequent 1-itemset(single item pattern)

2. Sort frequent items infrequency descendingorder, f-list

3. Scan DB again,construct FP-tree

F-list=f-c-a-b-m-p

Page 13: FP-growth - ULisboa · PDF file1 FP-growth Challenges of Frequent Pattern Mining Improving Apriori Fp-growth Fp-tree Mining frequent patterns with FP-tree Visualization of Association

13

Benefits of the FP-tree Structure Completeness

Preserve complete information for frequent patternmining

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) There exists examples of databases, where

compression ratio could be over 100

The size of the FP-trees bounded by theoverall occurrences of the frequent itemsin the database

The height of the tree is bound by themaximal number of frequent items in atransaction

Page 14: FP-growth - ULisboa · PDF file1 FP-growth Challenges of Frequent Pattern Mining Improving Apriori Fp-growth Fp-tree Mining frequent patterns with FP-tree Visualization of Association

14

Partition Patterns andDatabases Frequent patterns can be partitioned into

subsets according to f-listf-list=f-c-a-b-m-pPatterns containing pPatterns having m but no p…Patterns having c but no a nor b, m, pPattern f

Completeness and non-redundency

Find Patterns Havingp 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 basesitem cond. pattern basec f:3a fc:3b fca:1, f:1, c:1m fca:2, fcab:1p fcam:2, cb:1

{}

f:4 c:1

b:1

p:1

b:1c:3

a:3

b:1m:2

p:2 m:1

Header Table

Item frequency head f 4c 4a 3b 3m 3p 3

Page 15: FP-growth - ULisboa · PDF file1 FP-growth Challenges of Frequent Pattern Mining Improving Apriori Fp-growth Fp-tree Mining frequent patterns with FP-tree Visualization of Association

15

From Conditional Pattern-bases toConditional 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

basem-conditional pattern base:

fca:2, fcab:1

{}

f:3

c:3

a:3m-conditional FP-tree

All frequentpatterns relate to mm,fm, cm, am,fcm, fam, cam,fcam-> associations

{}

f:4 c:1

b:1

p:1

b:1c:3

a:3

b:1m:2

p:2 m:1

Header TableItem frequency head f 4c 4a 3b 3m 3p 3

Recursion: Mining Each ConditionalFP-tree

{}

f:3

c:3

a:3m-conditional FP-tree

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

{}

f:3

c:3am-conditional FP-tree

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

f:3cm-conditional FP-tree

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

{}

f:3cam-conditional FP-tree

Page 16: FP-growth - ULisboa · PDF file1 FP-growth Challenges of Frequent Pattern Mining Improving Apriori Fp-growth Fp-tree Mining frequent patterns with FP-tree Visualization of Association

16

conditional FP-treeconditional pattern baseitem

Mining Frequent Patterns WithFP-trees

Idea: Frequent pattern growth Recursively grow frequent patterns by pattern and

database partition Method

For each frequent item, construct its conditionalpattern-base, and then its conditional FP-tree

Repeat the process on each newly created conditionalFP-tree

Until the resulting FP-tree is empty, or it contains onlyone path—single path will generate all thecombinations of its sub-paths, each of which is afrequent pattern

Page 17: FP-growth - ULisboa · PDF file1 FP-growth Challenges of Frequent Pattern Mining Improving Apriori Fp-growth Fp-tree Mining frequent patterns with FP-tree Visualization of Association

17

Experiments: FP-Growth vs. Apriori

0

10

20

30

40

50

60

70

80

90

100

0 0.5 1 1.5 2 2.5 3

Support threshold(%)

Ru

n t

ime(

sec.

)

D1 FP-grow th runtime

D1 Apriori runtime

Data set T25I20D10K

Page 18: FP-growth - ULisboa · PDF file1 FP-growth Challenges of Frequent Pattern Mining Improving Apriori Fp-growth Fp-tree Mining frequent patterns with FP-tree Visualization of Association

18

Advantage when support decrease

No prove advantage is shown by experiments with

artificial data

Advantages of FP-Growth

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

Page 19: FP-growth - ULisboa · PDF file1 FP-growth Challenges of Frequent Pattern Mining Improving Apriori Fp-growth Fp-tree Mining frequent patterns with FP-tree Visualization of Association

19

Visualization of Association Rules: Plane Graph

Visualization of Association Rules: Rule Graph

Page 20: FP-growth - ULisboa · PDF file1 FP-growth Challenges of Frequent Pattern Mining Improving Apriori Fp-growth Fp-tree Mining frequent patterns with FP-tree Visualization of Association

20

Challenges of Frequent Pattern Mining Improving Apriori Fp-growth

Fp-tree Mining frequent patterns with FP-tree

Visualization of Association Rules

Page 21: FP-growth - ULisboa · PDF file1 FP-growth Challenges of Frequent Pattern Mining Improving Apriori Fp-growth Fp-tree Mining frequent patterns with FP-tree Visualization of Association

21

Clustering k-means, EM