Data Warehousing
Data Cube Computation and Data Generation
1001DW06 MI4 Tue. 6,7 (13:10-15:00) B427
Min-Yuh Day Assistant Professor Dept. of Information Management, Tamkang University
http://mail.tku.edu.tw/myday/
2011-11-08
Syllabus
Subject/Topics 1 100/09/06 Introduction to Data Warehousing 2 100/09/13 Data Warehousing, Data Mining, and Business Intelligence 3 100/09/20 Data Preprocessing: Integration and the ETL process 4 100/09/27 Data Warehouse and OLAP Technology 5 100/10/04 Data Warehouse and OLAP Technology 6 100/10/11 Data Cube Computation and Data Generation 7 100/10/18 Data Cube Computation and Data Generation 8 100/10/25 Project Proposal 9 100/11/01
2
Syllabus
10 100/11/08 11 100/11/15 12 100/11/22 13 100/11/29 14 100/12/06 15 100/12/13 16 100/12/20 17 100/12/27 18 101/01/03 Subject/Topics Association Analysis Classification and Prediction Cluster Analysis Sequence Data Mining Social Network Analysis Link Mining Text Mining and Web Mining Project Presentation
Association Analysis: Mining Frequent Patterns, Association and Correlations
Association Analysis Mining Frequent Patterns Association and Correlations Apriori Algorithm Mining Multilevel Association Rules
Source: Han & Kamber (2006)
Market Basket Analysis
Source: Han & Kamber (2006)
Association Rule Mining
Apriori Algorithm
Raw Transaction Data Transaction No 1 1 1 1 1 1 SKUs (Item No) 1, 2, 3, 4 2, 3, 4 2, 3 1, 2, 4 1, 2, 3, 4 2, 4 One-item Itemsets Itemset (SKUs) 1 2 3 4 Support 3 6 4 5 Two-item Itemsets Itemset (SKUs) 1, 2 1, 3 1, 4 2, 3 2, 4 3, 4 Support 3 2 3 4 5 3 Three-item Itemsets Itemset (SKUs) 1, 2, 4 2, 3, 4 Support 3 3
Source: Turban et al. (2011), Decision Support and Business Intelligence Systems
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.
Source: Han & Kamber (2006)
What Is Frequent Pattern Analysis?
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
Source: Han & Kamber (2006) 8
Basic Concepts: Frequent Patterns and Association Rules
Transaction-id 10 20 30 40 50 Customer buys both Items bought A, B, D A, C, D A, D, E B, E, F B, C, D, E, F Customer buys diaper
Itemset X = {x1, , xk} 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 supmin = 50%, confmin = 50% Freq. Pat.: {A:3, B:3, D:4, E:3, AD:3} Association rules: A D (60%, 100%) D A (60%, 75%)
A D (support = 3/5 = 60%, confidence = 3/3 =100%) D A (support = 3/5 = 60%, confidence = 3/4 = 75%)
Customer buys beer
Source: Han & Kamber (2006)
Market basket analysis
Example
Which groups or sets of items are customers likely to purchase on a given trip to the store?
Association Rule
Computer antivirus_software [support = 2%; confidence = 60%]
A support of 2% means that 2% of all the transactions under analysis show that computer and antivirus software are purchased together. A confidence of 60% means that 60% of the customers who purchased a computer also bought the software.
Source: Han & Kamber (2006)
10
Association rules
Association rules are considered interesting if they satisfy both
a minimum support threshold and a minimum confidence threshold.
Source: Han & Kamber (2006)
11
Frequent Itemsets, Closed Itemsets, and Association Rules
Support (A B) = P(A B) Confidence (A B) = P(B|A)
Source: Han & Kamber (2006) 12
Support (A B) = P(A B) Confidence (A B) = P(B|A)
The notation P(A B) indicates the probability that a transaction contains the union of set A and set B
(i.e., it contains every item in A and in B).
This should not be confused with P(A or B), which indicates the probability that a transaction contains either A or B.
Source: Han & Kamber (2006) 13
Rules that satisfy both a minimum support threshold (min_sup) and a minimum confidence threshold (min_conf) are called strong. By convention, we write support and confidence values so as to occur between 0% and 100%, rather than 0 to 1.0.
Source: Han & Kamber (2006)
14
itemset
A set of items is referred to as an itemset.
K-itemset
An itemset that contains k items is a k-itemset.
Example:
The set {computer, antivirus software} is a 2-itemset.
Source: Han & Kamber (2006)
15
Absolute Support and Relative Support
Absolute Support
The occurrence frequency of an itemset is the number of transactions that contain the itemset
frequency, support count, or count of the itemset
Ex: 3
Relative support
Ex: 60%
Source: Han & Kamber (2006)
16
If the relative support of an itemset I satisfies a prespecified minimum support threshold, then I is a frequent itemset.
i.e., the absolute support of I satisfies the corresponding minimum support count threshold
The set of frequent k-itemsets is commonly denoted by LK
Source: Han & Kamber (2006)
17
the confidence of rule A B can be easily derived from the support counts of A and A B. once the support counts of A, B, and A B are found, it is straightforward to derive the corresponding association rules AB and BA and check whether they are strong. Thus the problem of mining association rules can be reduced to that of mining frequent itemsets.
Source: Han & Kamber (2006) 18
Association rule mining: Two-step process
1. Find all frequent itemsets
By definition, each of these itemsets will occur at least as frequently as a predetermined minimum support count, min_sup.
2. Generate strong association rules from the frequent itemsets
By definition, these rules must satisfy minimum support and minimum confidence.
Source: Han & Kamber (2006)
19
Closed frequent itemsets and maximal frequent itemsets
Suppose that a transaction database has only two transactions: {(a1, a2, , a100); (a1, a2, , a50)} Let the minimum support count threshold be min_sup=1. We find two closed frequent itemsets and their support counts, that is, C = {{a1, a2, , a100}:1; {a1, a2, , a50}: 2} There is one maximal frequent itemset: M = {{a1, a2, , a100}:1} (We cannot include {a1, a2, , a50} as a maximal frequent itemset because it has a frequent super-set, {a1, a2, , a100})
Source: Han & Kamber (2006) 20
Frequent Pattern Mining
Based on the completeness of patterns to be mined Based on the levels of abstraction involved in the rule set Based on the number of data dimensions involved in the rule Based on the types of values handled in the rule Based on the kinds of rules to be mined Based on the kinds of patterns to be mined
Source: Han & Kamber (2006) 21
Based on the levels of abstraction involved in the rule set
buys(X, computer)) buys(X, HP printer) buys(X, laptop computer)) buys(X, HP printer)
Source: Han & Kamber (2006)
22
Based on the number of data dimensions involved in the rule
Single-dimensional association rule
buys(X, computer)) buys(X, antivirus software)
Multidimensional association rule
age(X, 30,,39) ^ income (X, 42K,,48K)) buys (X, high resolution TV)
Source: Han & Kamber (2006)
23
Efficient and Scalable Frequent Itemset Mining Methods
The Apriori Algorithm
Finding Frequent Itemsets Using Candidate Generation
Source: Han & Kamber (2006)
24
Apriori Algorithm
Apriori is a seminal algorithm proposed by R. Agrawal and R. Srikant in 1994 for mining frequent itemsets for Boolean association rules. The name of the algorithm is based on the fact that the algorithm uses prior knowledge of frequent itemset properties, as we shall see following.
25
Source: Han & Kamber (2006)
Apriori Algorithm
Apriori employs an iterative approach known as a level-wise search, where k-itemsets are used to explore (k+1)-itemsets. First, the set of frequent 1-itemsets is found by scanning the database to accumulate the count for each item, and collecting those items that satisfy minimum support. The resulting set is denoted L1. Next, L1 is used to find L2, the set of frequent 2-itemsets, which is used to find L3, and so on, until no more frequent kitemsets can be found. The finding of each Lk requires one full scan of the database.
Source: Han & Kamber (2006)
26
Apriori Algorithm
To improve the efficiency of the level-wise generation of frequent itemsets, an important property called the Apriori property. Apriori property
All nonempty subsets of a frequent itemset must also be frequent.
Source: Han & Kamber (2006)
27
How is the Apriori property used in the algorithm?
How Lk-1 is used to find Lk for k >= 2. A two-step process is followed, consisting of join and prune actions.
Source: Han & Kamber (2006)
28
Apriori property used in algorithm 1. The join step
Source: Han & Kamber (2006)
29
Apriori property used in algorithm 2. The prune step
Source: Han & Kamber (2006)
30
Transactional data for an AllElectronics branch
Source: Han & Kamber (2006)
31
Example: Apriori
Lets look at a concrete example, based on the AllElectronics transaction database, D. There are nine transactions in this database, that is, |D| = 9. Apriori algorithm for finding frequent itemsets in D
Source: Han & Kamber (2006)
32
Example: Apriori Algorithm
Generation of candidate itemsets and frequent itemsets, where the minimum support count is 2.
Source: Han & Kamber (2006)
33
Example: Apriori Algorithm C1 L1
Source: Han & Kamber (2006)
34
Example: Apriori Algorithm C2 L2
Source: Han & Kamber (2006)
35
Example: Apriori Algorithm C3 L3
Source: Han & Kamber (2006)
36
The Apriori algorithm for discovering frequent itemsets for mining Boolean association rules.
Source: Han & Kamber (2006)
37
The Apriori AlgorithmAn Example
Supmin = 2 Database TDB
Tid Items Itemset {A} {B} {C} {D} {E} sup 2 3 3 1 3 Itemset sup 2
C1 1st scan
L1
{A}
10
20 30 40
A, C, D
B, C, E A, B, C, E B, E
{B}
{C} {E}
3
3 3
C2 L2
Itemset {A, C} {B, C} {B, E} {C, E} sup 2 2 3 2
Itemset {A, B} {A, C} {A, E} {B, C} {B, E} {C, E}
sup 1 2 1 2 3 2
C2
2nd scan
Itemset {A, B} {A, C}
{A, E}
{B, C} {B, E} {C, E} sup 2
38
C3
Itemset {B, C, E}
3rd scan
L3
Itemset {B, C, E}
Source: Han & Kamber (2006)
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;
Source: Han & Kamber (2006) 39
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}
Source: Han & Kamber (2006) 40
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
Source: Han & Kamber (2006) 41
Generating Association Rules from Frequent Itemsets
Source: Han & Kamber (2006)
42
Example: Generating association rules
frequent itemset l = {I1, I2, I5}
If the minimum confidence threshold is, say, 70%, then only the second, third, and last rules above are output, because these are the only ones generated that are strong.
Source: Han & Kamber (2006) 43
Improving the Efficiency of Apriori
Hash-based technique Hashing itemsets into corresponding buckets Transaction reduction reducing the number of transactions scanned in future iterations Partitioning partitioning the data to find candidate itemsets Sampling mining on a subset of the given data Dynamic itemset counting adding candidate itemsets at different points during a scan
Source: Han & Kamber (2006) 44
Mining by partitioning the data
Source: Han & Kamber (2006)
45
Mining Various Kinds of Association Rules
Mining Multilevel Association Rules
Source: Han & Kamber (2006)
46
Task-relevant data, D
Source: Han & Kamber (2006)
47
A concept hierarchy for AllElectronics computer items
Source: Han & Kamber (2006)
48
Multilevel mining with uniform support
Source: Han & Kamber (2006)
49
Multilevel mining with reduced support
Source: Han & Kamber (2006)
50
Source: Han & Kamber (2006)
51
Mining Multidimensional Association Rules from Relational Databases and DataWarehouses
Sigle-dimensional association rules
Multidimensional association rules
Hybrid-dimensional association rules
Source: Han & Kamber (2006)
52
Summary
Association Analysis Mining Frequent Patterns Association and Correlations Apriori Algorithm Mining Multilevel Association Rules
Source: Han & Kamber (2006)
53
References
Jiawei Han and Micheline Kamber, Data Mining: Concepts and Techniques, Second Edition, 2006, Elsevier Efraim Turban, Ramesh Sharda, Dursun Delen, Decision Support and Business Intelligence Systems, Ninth Edition, 2011, Pearson.
54