Ch5 Mining Frequent Patterns, Associations, and Correlations Dr. Bernard Chen Ph.D. University of Central Arkansas Outline Association Rules Association Rules with FP tree Misleading Rules Multi-level Association Rules 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 What Is Frequent Pattern Analysis? Motivation: Finding inherent regularities in data What products were often purchased together? bread and milk? 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. Association Rules Association Rules support, s, probability that a transaction contains X Y confidence, c, conditional probability that a transaction having X also contains Y Association Rules Let’s have an example T100 T200 T300 T400 T500 T600 T700 T800 T900 1,2,5 2,4 2,3 1,2,4 1,3 2,3 1,3 1,2,3,5 1,2,3 Association Rules with Apriori Minimum support=2/9 Minimum confidence=60% 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 Lk+1 increment the count of all candidates in Ck+1 that are contained in t = candidates in Ck+1 with min_support end return k Lk; Strong Association Rule Strong association rules means the frequent rules that also pass the minimum confidence. For example frequent rules: {I1, I2} Confidence(I1->I2)= 4/6 (strong association rule!) Confidence(I2->I1)= 4/7 Exercise A dataset has five transactions, let min-support=60% and min_support=80% Find all frequent itemsets using Apriori and all strong association rules TID Items_bought T1 T2 T3 T4 T5 M, O, N, K, E, Y D, O, N, K , E, Y M, A, K, E M, U, C, K ,Y C, O, O, K, I ,E Association Rules with Apriori K:5 E:4 M:3 O:3 Y:3 => KE:4 KM:3 KO:3 KY:3 => EM:2 EO:3 EY:2 MO:1 MY:2 OY:2 KE KM KO KY EO => KEO Outline Association Rules Association Rules with FP tree Misleading Rules Multi-level Association Rules Mining Frequent Itemsets without Candidate Generation In many cases, the Apriori candidate generate-and-test method significantly reduces the size of candidate sets, leading to good performance gain. However, it suffer from two nontrivial costs: It may generate a huge number of candidates (for example, if we have 10^4 1-itemset, it may generate more than 10^7 candidata 2-itemset) It may need to scan database many times Association Rules with Apriori Minimum support=2/9 Minimum confidence=70% 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) = 21001 = 1.27*1030 ! Bottleneck: candidate-generation-and-test Can we avoid candidate generation? 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 Process of FP growth Scan DB once, find frequent 1-itemset (single item pattern) Sort frequent items in frequency descending order Scan DB again, construct FP-tree Association Rules Let’s have an example T100 T200 T300 T400 T500 T600 T700 T800 T900 1,2,5 2,4 2,3 1,2,4 1,3 2,3 1,3 1,2,3,5 1,2,3 FP Tree Mining the FP tree 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 Exercise A dataset has five transactions, let minsupport=60% and min_confidence=80% Find all frequent itemsets using FP Tree TID Items_bought T1 T2 T3 T4 T5 M, O, N, K, E, Y D, O, N, K , E, Y M, A, K, E M, U, C, K ,Y C, O, O, K, I ,E Association Rules with FP Tree K:5 E:4 M:3 O:3 Y:3 Association Rules with FP Tree Y: KEMO:1 KEO:1 KY:1 K:3 KY O: KEM:1 KE:2 KE:3 KO EO KEO M: KE:2 K:1 K:3 KM E: K:4 KE FP-Growth vs. Apriori: Scalability With the Support Threshold Data set T25I20D10K 100 D1 FP-grow th runtime 90 D1 Apriori runtime 80 Run time(sec.) 70 60 50 40 30 20 10 0 0 0.5 1 1.5 2 Support threshold(%) 2.5 3 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 Outline Association Rules Association Rules with FP tree Misleading Rules Multi-level Association Rules Example 5.8 Misleading “Strong” Association Rule Of the 10,000 transactions analyzed, the data show that 6,000 of the customer included computer games, while 7,500 include videos, And 4,000 included both computer games and videos Misleading “Strong” Association Rule For this example: Support (Game & Video) = 4,000 / 10,000 =40% Confidence (Game => Video) = 4,000 / 6,000 = 66% Suppose it pass our minimum support and confidence (30% , 60%, respectively) Misleading “Strong” Association Rule However, the truth is : “computer games and videos are negatively associated” Which means the purchase of one of these items actually decreases the likelihood of purchasing the other. (How to get this conclusion??) Misleading “Strong” Association Rule Under the normal situation, 60% of customers buy the game 75% of customers buy the video Therefore, it should have 60% * 75% = 45% of people buy both That equals to 4,500 which is more than 4,000 (the actual value) From Association Analysis to Correlation Analysis Lift is a simple correlation measure that is given as follows The occurrence of itemset A is independent of the occurrence of itemset B if P(AUB) = P(A)P(B) Otherwise, itemset A and B are dependent and correlated as events Lift(A,B) = P(AUB) / P(A)P(B) If the value is less than 1, the occurrence of A is negatively correlated with the occurrence of B If the value is greater than 1, then A and B are positively correlated Outline Association Rules Association Rules with FP tree Misleading Rules Multi-level Association Rules Mining Multiple-Level Association Rules Items often form hierarchies Mining Multiple-Level Association Rules Items often form hierarchies Mining Multiple-Level Association Rules Flexible support settings Items at the lower level are expected to have lower support uniform support Level 1 min_sup = 5% Level 2 min_sup = 5% reduced support Milk [support = 10%] 2% Milk [support = 6%] Skim Milk [support = 4%] Level 1 min_sup = 5% Level 2 min_sup = 3% Multi-level Association: Redundancy Filtering Some rules may be redundant due to “ancestor” relationships between items. Example milk wheat bread 2% milk wheat bread [support = 2%, confidence = 72%] [support = 8%, confidence = 70%] We say the first rule is an ancestor of the second rule.
© Copyright 2024