ACCTG 6910 Building Enterprise & Business Intelligence Systems (E.bis)
ACCTG 6910 Building Enterprise & Business Intelligence Systems (E.bis)
ACCTG 6910 Building Enterprise & Business Intelligence Systems (E.bis)
Main Expectations
Association
Under a given condition,
a set of objects (implies) another set of objects
Examples
Retail items purchased together
Services subscribed by the same customer
Web pages a user access in a session
Courses taken by the same student
Medications prescribed by a doctor for a patient visit
Genes that are expressed at the same level
3
Decision Support
Applications
Preliminary
Set Theory
A set is a collection of objects.
E.g., set A = {3,5} and set B= {1,3,5}
Elements of a set are the objects belong to it.
E.g., 3 {3,5}, 3{1,3,5}, 3A and 3 B
Set X is a subset of set Y if any element in X belongs
Preliminary
Two properties of set
An element in a set is counted only once
E.g., {1,3,5} = {1,3,3,5}
There is no order of elements in a set
E.g., {3,1,5} = {1,3,5}
Association Rules
Given: A database of transactions
Example of transactions:
a customers visit to a grocery store
an online purchase at a virtual store such as Amazon.com
Format of transactions:
date transaction IDcustomer ID Item
1/1/99 001
001
egg
1/1/99 001
001
milk
7
Association Rules
Find: patterns in the form of association rules
Association rules : correlate the presence of one set of items (X)
with the presence of another set of items (Y), denoted as X Y
Example : {purchase egg,milk} {bread}
How to measure correlations in association rules?
8
Association Rules
Itemset: a set of items, ex. {egg, milk}
Size of Itemset: number of items in that itemset.
The ratio of the number of transactions that purchases all items
in an itemset to the total number of transactions is called the
support of the itemset.
Association Rules
Example:
TID
CID
Item
Price Date
101
101
101
102
102
103
103
103
201
201
201
201
201
202
202
202
Computer
MS Office
MCSE Book
Hard disk
MCSE Book
Computer
Hard disk
MCSE Book
1500
300
100
500
100
1500
500
100
1/4/99
1/4/99
1/4/99
1/8/99
1/8/99
1/21/99
1/2199
1/2199
10
Association Rules
In this example:
The support of the 2-itemset {Computer,Hard disk}
is 1/3=33.3%.
What is the support of 1-itemset {Computer}?
11
Association Rules
Two important metrics for association rules:
If two itemsets X and Y co-exist in a transaction database,
the association rule XY holds with
supports s which is the ratio of
the # of transactions purchasing both X and Y
to () the total # of transactions
confidence c which is the ratio of
the # of transactions purchasing both X and Y
to () the # of transactions purchasing X only.12
Association Rules
Association rule: {Computer} {Hard disk}
Support: 1/3=33.3%
Confidence: 1/2=50%
How about {Computer} {MCSE book}
{Computer, MCSE book} {Hard disk}???
13
14
Association Rules
Two Steps in Association rule mining:
1. Find all large or frequent itemsets that have support above
user-specified minimum support.
2. For each large itemset L, find all association rules in the
form of a(L-a) where a and (L-a) are non-empty subsets
of L.
Example: find all association rules in the example with minimum
support 60% and minimum confidence 80%.
15
16
Apriori Algorithm
Apriori is an efficient algorithm to
discover all large itemsets from a huge
database with large number of items.
Apriori is developed by two researchers
from IBM Almaden Research Lab.
17
Apriori Algorithm
Apriori algorithm is based on Apriori
property.
18
Apriori Algorithm
Step 1: Scan DB one time to find all large
1-itemsets.
Step 2: Generate candidate K-itemsets
from large (k-1)-itemsets.
Step 3: Find all large k-itemsets from
candidate k-itemsets by scanning DB
once
Go back to step 2 and stop until no
cadidate itemsets can be generated.
19
Apriori Algorithm
Step 2
Candidate k-itemsets are k-itemsets that could
be large.
Why generate candidate k-itemsets only from
large (k-1) itemsets?
How to generate?
Step 2-1: Join: Two large (k-1)-itemsets, L1 amd L2,
that are joinable must satisfy the following conditions:
L1(1)=L2(1) and L1(2)=L2(2) and . L1(K-2)=L2(K-2)
L1(K-1)<L2(K-1)
Apriori Algorithm
Transaction ID
Items
100
1,3,4,6
200
2,3,5,7
300
1,2,3,5,8
400
2,5,9,10
500
1,4
21
items
100
1, 3, 4, 6
200
2, 3, 5, 7
300
1, 2, 3, 5, 8
400
2, 5, 9, 10
500
1, 4
Large 1-itemset:
{1}
support=3/5=60%
{2}
support=3/5=60%
{3}
support=3/5=60%
{4}
support=2/5=40%
{5}
support=3/5=60%
22
support=3/5=60%
{2}
support=3/5=60%
{3}
support=3/5=60%
{4}
support=2/5=40%
{5}
support=3/5=60%
Candidate 2-itemset:
{1, 2}
{1, 3}
{1, 4}
{2, 3}
{2, 4}
{2, 5}
{3, 4}
{3, 5}
{4, 5}
{1, 5}
23
{1, 3}
{1, 4}
{2, 3}
{2, 4}
{2, 5}
{3, 4}
{3, 5}
{1, 5}
{4, 5}
Large 2-itemset:
{1, 3}
support=2/5=40%
{1, 4}
support=2/5=40%
{2, 3}
support=2/5=40%
{2, 5}
support=3/5=60%
{3, 5}
support=2/5=40%
24
support=2/5=40%
{1, 4}
support=2/5=40%
{2, 3}
support=2/5=40%
{2, 5}
support=3/5=60%
{3, 5}
support=2/5=40%
Candidate 3-itemset:
{1, 3, 4}
{2, 3, 5}
25
Candidate 4-itemset:
No candidate 4-itemset. Stop.
26