Improvements to A-Priori

Slides:



Advertisements
Similar presentations
Hash-Based Improvements to A-Priori
Advertisements

1 CPS : Information Management and Mining Association Rules and Frequent Itemsets.
Huffman Codes and Asssociation Rules (II) Prof. Sin-Min Lee Department of Computer Science.
Association Analysis (2). Example TIDList of item ID’s T1I1, I2, I5 T2I2, I4 T3I2, I3 T4I1, I2, I4 T5I1, I3 T6I2, I3 T7I1, I3 T8I1, I2, I3, I5 T9I1, I2,
Frequent Itemset Mining Methods. The Apriori algorithm Finding frequent itemsets using candidate generation Seminal algorithm proposed by R. Agrawal and.
1 Frequent Itemset Mining: Computation Model uTypically, data is kept in a flat file rather than a database system. wStored on disk. wStored basket-by-basket.
DATA MINING Association Rule Discovery. AR Definition aka Affinity Grouping Common example: Discovery of which items are frequently sold together at a.
Data Mining of Very Large Data
1 CPS : Information Management and Mining Association Rules and Frequent Itemsets.
IDS561 Big Data Analytics Week 6.
 Back to finding frequent itemsets  Typically, data is kept in flat files rather than in a database system:  Stored on disk  Stored basket-by-basket.
1 Mining Associations Apriori Algorithm. 2 Computation Model uTypically, data is kept in a flat file rather than a database system. wStored on disk. wStored.
Association rules The goal of mining association rules is to generate all possible rules that exceed some minimum user-specified support and confidence.
Sampling Large Databases for Association Rules ( Toivenon’s Approach, 1996) Farzaneh Mirzazadeh Fall 2007.
1 Association Rules Market Baskets Frequent Itemsets A-Priori Algorithm.
Mining of Massive Datasets Jure Leskovec, Anand Rajaraman, Jeff Ullman Stanford University Note to other teachers and users of these.
Data Mining Techniques So Far: Cluster analysis K-means Classification Decision Trees J48 (C4.5) Rule-based classification JRIP (RIPPER) Logistic Regression.
Data Mining Association Analysis: Basic Concepts and Algorithms Lecture Notes for Chapter 6 Introduction to Data Mining by Tan, Steinbach, Kumar © Tan,Steinbach,
Data Mining Association Analysis: Basic Concepts and Algorithms Lecture Notes for Chapter 6 Introduction to Data Mining by Tan, Steinbach, Kumar © Tan,Steinbach,
Frequent Itemsets, Association Rules Evaluation Alternative Algorithms
Mining Association Rules. Association rules Association rules… –… can predict any attribute and combinations of attributes … are not intended to be used.
1 Association Rules Apriori Algorithm. 2 Computation Model uTypically, data is kept in a flat file rather than a database system. wStored on disk. wStored.
Association Analysis (2). Example TIDList of item ID’s T1I1, I2, I5 T2I2, I4 T3I2, I3 T4I1, I2, I4 T5I1, I3 T6I2, I3 T7I1, I3 T8I1, I2, I3, I5 T9I1, I2,
1 Improvements to A-Priori Park-Chen-Yu Algorithm Multistage Algorithm Approximate Algorithms Compacting Results.
Disk Access Model. Using Secondary Storage Effectively In most studies of algorithms, one assumes the “RAM model”: –Data is in main memory, –Access to.
Tirgul 10 Rehearsal about Universal Hashing Solving two problems from theoretical exercises: –T2 q. 1 –T3 q. 2.
Data Mining: Associations
1 Association Rules Market Baskets Frequent Itemsets A-priori Algorithm.
Normal Forms for CFG’s Eliminating Useless Variables Removing Epsilon
Improvements to A-Priori
1 Query Processing Two-Pass Algorithms Source: our textbook.
Asssociation Rules Prof. Sin-Min Lee Department of Computer Science.
This material in not in your text (except as exercises) Sequence Comparisons –Problems in molecular biology involve finding the minimum number of edit.
1 Improvements to A-Priori Bloom Filters Park-Chen-Yu Algorithm Multistage Algorithm Approximate Algorithms Compacting Results.
The Byzantine Generals Strike Again Danny Dolev. Introduction We’ll build on the LSP presentation. Prove a necessary and sufficient condition on the network.
Hashing General idea: Get a large array
1 Improvements to A-Priori Park-Chen-Yu Algorithm Multistage Algorithm Approximate Algorithms Compacting Results.
1 Generalizing Map-Reduce The Computational Model Map-Reduce-Like Algorithms Computing Joins.
Performance and Scalability: Apriori Implementation.
1 “Association Rules” Market Baskets Frequent Itemsets A-priori Algorithm.
Data Mining Association Analysis: Basic Concepts and Algorithms Lecture Notes for Chapter 6 Introduction to Data Mining By Tan, Steinbach, Kumar Lecture.
Modul 7: Association Analysis. 2 Association Rule Mining  Given a set of transactions, find rules that will predict the occurrence of an item based on.
Data Mining Association Analysis: Basic Concepts and Algorithms Lecture Notes for Chapter 6 Introduction to Data Mining by Tan, Steinbach, Kumar © Tan,Steinbach,
Frequent Itemsets and Association Rules 1 Wu-Jun Li Department of Computer Science and Engineering Shanghai Jiao Tong University Lecture 3: Frequent Itemsets.
1 CSE 326: Data Structures: Hash Tables Lecture 12: Monday, Feb 3, 2003.
Note to other teachers and users of these slides: We would be delighted if you found this our material useful in giving your own lectures. Feel free to.
CS 8751 ML & KDDSupport Vector Machines1 Mining Association Rules KDD from a DBMS point of view –The importance of efficiency Market basket analysis Association.
Sampling Large Databases for Association Rules Jingting Zeng CIS 664 Presentation March 13, 2007.
1 Improvements to A-Priori Bloom Filters Park-Chen-Yu Algorithm Multistage Algorithm Approximate Algorithms Compacting Results.
© Tan,Steinbach, Kumar Introduction to Data Mining 4/18/ Data Mining: Association Analysis This lecture node is modified based on Lecture Notes for.
CS 345: Topics in Data Warehousing Thursday, November 18, 2004.
Jeffrey D. Ullman Stanford University.  2% of your grade will be for answering other students’ questions on Piazza.  18% for Gradiance.  Piazza code.
Data Mining Association Analysis: Basic Concepts and Algorithms Lecture Notes for Chapter 6 Introduction to Data Mining by Tan, Steinbach, Kumar © Tan,Steinbach,
Frequent Itemsets and Association Rules
1 Data Mining Lecture 6: Association Analysis. 2 Association Rule Mining l Given a set of transactions, find rules that will predict the occurrence of.
Analysis of Massive Data Sets Prof. dr. sc. Siniša Srbljić Doc. dr. sc. Dejan Škvorc Doc. dr. sc. Ante Đerek Faculty of Electrical Engineering and Computing.
Frequent Pattern Mining
15.5 Two-Pass Algorithms Based on Hashing
Market Basket Many-to-many relationship between different objects
Dynamic Itemset Counting
Data Mining Association Analysis: Basic Concepts and Algorithms
Market Baskets Frequent Itemsets A-Priori Algorithm
Hash-Based Improvements to A-Priori
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Frequent Itemsets The Market-Basket Model Association Rules A-Priori Algorithm Other Algorithms Jeffrey D. Ullman Stanford University.
2 Announcements We will be releasing HW1 today
Frequent Itemset Mining & Association Rules
Frequent Itemset Mining & Association Rules
Farzaneh Mirzazadeh Fall 2007
Mining Association Rules in Large Databases
Presentation transcript:

Improvements to A-Priori Park-Chen-Yu Algorithm Multistage Algorithm Approximate Algorithms

PCY Algorithm During Pass 1 of A-priori, most memory is idle. Use that memory to keep counts of buckets into which the pairs of items are hashed. Just the count, not the pairs themselves. Gives extra condition that candidate pairs must satisfy on Pass 2.

PCY – Pass 1 Item counts Hash table Pass 1 FOR (each basket) { FOR (each item) add 1 to item’s count; FOR (each pair of items) { hash the pair to a bucket; add 1 to the count for that bucket } Hash table Item counts Pass 1 Space to count each item. One (typically) 4-byte integer per item. Use the rest of the space for as many integers, representing buckets, as we can.

Observations About Buckets If a bucket contains a frequent pair, then the bucket is surely frequent. We cannot use the hash table to eliminate any member of this bucket. Even without any frequent pair, a bucket can be frequent. Again, nothing in the bucket can be eliminated. But in the best case, the count for a bucket is less than the support s. Now, all pairs that hash to this bucket can be eliminated as candidates, even if the pair consists of two frequent items.

PCY Algorithm – Between Passes Replace the buckets by a bit-vector: 1 means the bucket count exceeds the support s (a frequent bucket ); 0 means it did not. 4-byte integers are replaced by bits, so the bit-vector requires 1/32 of memory. Hash table Item counts Bitmap Pass 1 Pass 2 Frequent items Counts of candidate pairs

PCY Algorithm – Pass 2 Count all pairs {i, j } that meet the conditions: Both i and j are frequent items. The pair {i, j }, hashes to a bucket number whose bit in the bit vector is 1. Notice both these conditions are necessary for the pair to have a chance of being frequent.

Memory Details Hash table requires buckets of 2-4 bytes. Number of buckets thus almost 1/4-1/2 of the number of bytes of main memory. On second pass, a table of (item, item, count) triples is essential. Thus, hash table must eliminate 2/3 of the candidate pairs to beat a-priori with triangular matrix for counts.

Multistage Algorithm It might happen that even after hashing there are still too many surviving pairs and the main memory isn't sufficient to hold their counts. Key idea: After Pass 1 of PCY, rehash only those pairs that qualify for Pass 2 of PCY. Using a different hash function! On middle pass, fewer pairs contribute to buckets, so fewer false positives –frequent buckets with no frequent pair.

Multistage Picture First hash table Second hash table Bitmap 1 Item counts Freq. items Freq. items Bitmap 1 Bitmap 1 Bitmap 2 Counts of candidate pairs Pass 1 Pass 2 Pass 3

Multistage – Pass 3 Count only those pairs {i, j } that satisfy: Both i and j are frequent items. Using the first hash function, the pair hashes to a bucket whose bit in the first bit-vector is 1. Using the second hash function, the pair hashes to a bucket whose bit in the second bit-vector is 1.

Multihash Key idea: use several independent hash tables on the first pass. Risk: halving the number of buckets doubles the average count. We have to be sure most buckets will still not reach count s. If so, we can get a benefit like multistage, but in only 2 passes.

Multihash Picture First hash table Bitmap 1 Second hash table Bitmap 2 Item counts Bitmap 1 Bitmap 2 Freq. items Counts of candidate pairs Pass 1 Pass 2

Extensions Either multistage or multihash can use more than two hash functions. In multistage, there is a point of diminishing returns, since the bit-vectors eventually consume all of main memory. For multihash, too many hash functions makes all counts > s.

All (Or Most) Frequent Itemsets In < 2 Passes Simple algorithm. SON (Savasere, Omiecinski, and Navathe). Toivonen.

Simple Algorithm Take a random sample of the market baskets. Run a-priori (for sets of all sizes, not just pairs) in main memory, so you don’t pay for disk I/O each time you increase the size of itemsets. Be sure you leave enough space for counts. Use as support threshold a suitable, scaled-back number. E.g., if your sample is 1/100 of the baskets, use s /100 as your support threshold instead of s . Copy of sample baskets Space for counts

Simple Algorithm – Option Optionally, verify that your guesses are truly frequent in the entire data set by a second pass. But you don’t catch sets frequent in the whole but not in the sample.

SON Algorithm – (1) Repeatedly read small subsets of the baskets into main memory and perform the first pass of the simple algorithm on each subset. An itemset becomes a candidate if it is found to be frequent in any one or more subsets of the baskets. On a second pass, count all the candidate itemsets and determine which are frequent in the entire set. Key “monotonicity” idea: an itemset cannot be frequent in the entire set of baskets unless it is frequent in at least one subset.

SON Algorithm – Distributed Version This idea lends itself to distributed data mining. If baskets are distributed among many nodes, compute frequent itemsets at each node, then distribute the candidates from each node. Finally, accumulate the counts of all candidates.

Toivonen’s Algorithm – (1) Start as in the simple algorithm, but lower the threshold slightly for the sample. Example: if the sample is 1% of the baskets, use s /125 as the support threshold rather than s /100. Goal is to avoid missing any itemset that is frequent in the full set of baskets.

Toivonen’s Algorithm – (2) Add to the itemsets that are frequent in the sample the negative border of these itemsets. An itemset is in the negative border if it is not deemed frequent in the sample, but all its immediate subsets are. Example. ABCD is in the negative border if and only if it is not frequent, but all of ABC, BCD, ACD, and ABD are. Also, a singleton which is not frequent in the sample is in the negative border.

Toivonen’s Algorithm – (3) In a second pass, count all candidate frequent itemsets from the first pass, and also count their negative border. If no itemset from the negative border turns out to be frequent, then the candidates found to be frequent in the whole data are exactly the frequent itemsets.

Toivonen’s Algorithm – (4) What if we find that something in the negative border is actually frequent? We must start over again! Try to choose the support threshold so the probability of failure is low, while the number of itemsets checked on the second pass fits in main-memory.

Theorem: If there is an itemset that is frequent in the whole, but not frequent in the sample, then there is a member of the negative border for the sample that is frequent in the whole.

Proof: Suppose not; i.e., there is an itemset S frequent in the whole but Not frequent in the sample, and Not present in the sample’s negative border. Let T be a smallest subset of S that is not frequent in the sample. T is frequent in the whole (S is frequent, monotonicity). T is in the negative border (else not “smallest”). Remark. In order for the above proof to work, we will require that frequent singletons are first added to any sample.