Overview Definition of Apriori Algorithm

22
1 Overview Definition of Apriori Algorithm Steps to perform Apriori Algorithm Apriori Algorithm Examples Pseudo Code for Apriori Algorithm Apriori Advantages/Disadvantages References

description

Definition of Apriori Algorithm In computer science and data mining, Apriori is a classic algorithm for learning association rules. Apriori is designed to operate on databases containing transactions (for example, collections of items bought by customers, or details of a website frequentation). The algorithm attempts to find subsets which are common to at least a minimum number C (the cutoff, or confidence threshold) of the itemsets.

Transcript of Overview Definition of Apriori Algorithm

Page 1: Overview Definition of Apriori Algorithm

1

Overview Definition of Apriori Algorithm Steps to perform Apriori Algorithm Apriori Algorithm Examples Pseudo Code for Apriori Algorithm Apriori Advantages/Disadvantages References

Page 2: Overview Definition of Apriori Algorithm

2

Definition of Apriori Algorithm In computer science and data mining,

Apriori is a classic algorithm for learning association rules.

Apriori is designed to operate on databases containing transactions (for example, collections of items bought by customers, or details of a website frequentation).

The algorithm attempts to find subsets which are common to at least a minimum number C (the cutoff, or confidence threshold) of the itemsets.

Page 3: Overview Definition of Apriori Algorithm

3

Definition (contd.) Apriori uses a "bottom up" approach,

where frequent subsets are extended one item at a time (a step known as candidate generation, and groups of candidates are tested against the data.

The algorithm terminates when no further successful extensions are found.

Apriori uses breadth-first search and a hash tree structure to count candidate item sets efficiently.

Page 4: Overview Definition of Apriori Algorithm

4

Apriori Algorithm Examples Problem Decomposition

Transaction ID Items Bought1 Shoes, Shirt, Jacket2 Shoes,Jacket3 Shoes, Jeans4 Shirt, Sweatshirt

If the minimum support is 50%, then {Shoes, Jacket} is the only 2- itemset that satisfies the minimum support.

Frequent Itemset Support{Shoes} 75%{Shirt} 50%{Jacket} 50%{Shoes, Jacket} 50%

If the minimum confidence is 50%, then the only two rules generated from this 2-itemset, that have confidence greater than 50%, are:

Shoes Jacket Support=50%, Confidence=66%Jacket Shoes Support=50%, Confidence=100%

Page 5: Overview Definition of Apriori Algorithm

5

The Apriori Algorithm — Example

Scan D

itemset sup.{1} 2{2} 3{3} 3{4} 1{5} 3

C1

itemset sup.{1} 2{2} 3{3} 3{5} 3

L1

itemset sup{1 3} 2{2 3} 2{2 5} 3{3 5} 2

L2

itemset sup{1 2} 1{1 3} 2{1 5} 1{2 3} 2{2 5} 3{3 5} 2

C2 itemset{1 2}{1 3}{1 5}{2 3}{2 5}{3 5}

C2

Scan D

C3 itemset{2 3 5}

Scan D L3 itemset sup{2 3 5} 2

TID Items100 1 3 4200 2 3 5300 1 2 3 5400 2 5

Database DMin support =50%

Page 6: Overview Definition of Apriori Algorithm

6

Apriori Advantages/Disadvantages Advantages

Uses large itemset property Easily parallelized Easy to implement

Disadvantages Assumes transaction database is

memory resident. Requires many database scans.

Page 7: Overview Definition of Apriori Algorithm

Market Basket Analysis Categorize customer purchase

behavior identify actionable information

purchase profiles profitability of each purchase profile use for marketing

layout or catalogs select products for promotion space allocation, product placement

Page 8: Overview Definition of Apriori Algorithm

Market Basket Analysis Steve Schmidt - president of ACNielsen-

US Market Basket Benefits

selection of promotions, merchandising strategy

sensitive to price: Italian entrees, pizza, pies, Oriental entrees, orange juice

uncover consumer spending patterns correlations: orange juice & waffles

joint promotional opportunities

Page 9: Overview Definition of Apriori Algorithm

Market Basket Analysis Retail outlets Telecommunications Banks Insurance

link analysis for fraud Medical

symptom analysis

Page 10: Overview Definition of Apriori Algorithm

Market Basket Analysis Chain Store Age Executive (1995)

1) Associate products by category2) what % of each category was in each market basket

Customers shop on personal needs, not on product groupings

Page 11: Overview Definition of Apriori Algorithm

Possible Market BasketsCustomer 1: beer, pretzels, potato chips,

aspirinCustomer 2: diapers, baby lotion,

grapefruit juice, baby food, milkCustomer 3: soda, potato chips, milkCustomer 4: soup, beer, milk, ice creamCustomer 5: soda, coffee, milk, breadCustomer 6: beer, potato chips

Page 12: Overview Definition of Apriori Algorithm

Market Basket Analysis with R

Association Rules There are many ways to see the

similarities between items. These are techniques that fall under the general umbrella of association.

The outcome of this type of technique, in simple terms, is a set of rules that can be understood as “if this, then that”.

12

Page 13: Overview Definition of Apriori Algorithm

Applications

There are many applications of association:

Product recommendation – like Amazon’s “customers who bought that, also bought this”

Music recommendations – like Last FM’s artist recommendations

Medical diagnosis – like with diabetes really cool stuff

Content optimisation – like in magazine websites or blogs

13

Page 14: Overview Definition of Apriori Algorithm

Key Terms Support: The fraction of which our item set

occurs in our dataset. Confidence: probability that a rule is

correct for a new transaction with items on the left.

Lift: The ratio by which by the confidence of a rule exceeds the expected confidence. Note: if the lift is 1 it indicates that the items on the left and right are independent.

14

Page 15: Overview Definition of Apriori Algorithm

Apriori Recommendation with R loading up our libraries and data

set. # Load the libraries

library(arules) library(arulesViz) library(datasets)  

# Load the data set data(Groceries)

15

Page 16: Overview Definition of Apriori Algorithm

Explore the data before we make any rules: # Create an item frequency plot

for the top 20 items temFrequencyPlot(Groceries,topN=20

,type="absolute")

16

Page 17: Overview Definition of Apriori Algorithm

17

Page 18: Overview Definition of Apriori Algorithm

support and confidence You will always have to pass the

minimum required support and confidence. We set the minimum support to 0.001 We set the minimum confidence of

0.8 We then show the top 5 rules

18

Page 19: Overview Definition of Apriori Algorithm

Get & Inspect Rules# Get the rules

rules <- apriori(Groceries, parameter = list(supp = 0.001, conf = 0.8))  

# Show the top 5 rules, but only 2 digits options(digits=2) inspect(rules[1:5])

19

Page 20: Overview Definition of Apriori Algorithm

Result

20

This reads easily, for example: if someone buys yogurt and cereals, they are 81% likely to buy whole milk too.

Page 21: Overview Definition of Apriori Algorithm

21

Summary Association Rules form an very applied data

mining approach. Association Rules are derived from frequent

itemsets. The Apriori algorithm is an efficient algorithm

for finding all frequent itemsets. The Apriori algorithm implements level-wise

search using frequent item property. The Apriori algorithm can be additionally

optimized. There are many measures for association rules.

Page 22: Overview Definition of Apriori Algorithm

22

References References Agrawal R, Imielinski T, Swami AN. "Mining Association

Rules between Sets of Items in Large Databases." SIGMOD. June 1993, 22(2):207-16, pdf.

Agrawal R, Srikant R. "Fast Algorithms for Mining Association Rules", VLDB. Sep 12-15 1994, Chile, 487-99, pdf, ISBN 1-55860-153-8.

Mannila H, Toivonen H, Verkamo AI. "Efficient algorithms for discovering association rules." AAAI Workshop on Knowledge Discovery in Databases (SIGKDD). July 1994, Seattle, 181-92, ps.

Implementation of the algorithm in C# Retrieved from

"http://en.wikipedia.org/wiki/Apriori_algorithm"