งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

A Classical Apriori Algorithm for Mining Association Rules.

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "A Classical Apriori Algorithm for Mining Association Rules."— ใบสำเนางานนำเสนอ:

1 A Classical Apriori Algorithm for Mining Association Rules

2 What is an Association Rule? Given a set of transactions {t 1, t 2,...,t n } where a transaction t i is a set of items {X i1, …, X im } An association rule is an expression: A ==> B where A & B are sets of items, and A  B =  transactions which contain A also contain B Meaning: transactions which contain A also contain B

3 Measurement of rule strength in a relational transaction database A ==> B [support, confidence] support (AB) = confidence ( A ==> B) = Two Thresholds

4 We are interested in strong associations, i.e., support min_sup &confidence min_conf Examples: bread & butter ==> milk [support=5%, confidence=60%] beer ==> diapers [support=10%, confidence=80%] Strong Rules

5 Mining Association Rules Mining association rules from a large data set of items can improve the quality of business decisions A supermarket with a large collection of items, typical business decisions: what to put on sale how to design coupons, how to place merchandise on shelves to maximize the profit, etc.

6 There are two main steps in mining association rules 1. Find all combinations of items that have transaction support above minimum support (frequent itemsets) 2. Generate association rules from the frequent itemsets Most existing algorithms focused on the first step because it requires a great deal of computation, memory, and I/O, and has a significant impact on the overall performance Mining Association Rules (2)

7 The Classical Mining Algorithm At the first iteration, scan all the transactions and count the the number of occurrences for each items. This derives the frequent 1-itemsets, L 1 At the k-th iteration, the candidate set C k are those whose every (k-1)-item subset is in L k-1 is formed Scan the database and count the number of occurrences for each candidate k-itemset Totally, it needs x database scans for x levels Apriori ( Agrawal, et al.’94)

8 Moving 1 level at a time (Apriori) through an itemset lattice Level l Level 3 Level k Level 2 Level (k+1) … … Level x

9 The Algorithm Apriori 1. L 1 = {frequent 1-itemset} 2. For (k=2; L k-1 L 0, k++) { 3.C k = Apriori_gen(L k-1 ) ; 4. for all transactions t in D do 5. for all candidates c in D do 6. c.count++ ; 7. L k = {c in C k | c.count >= minimum support} 8. } 9. Result = U k L k

10 The Algorithm Apriori _gen Pre:all itemsets in L k-1 Post:itemsets in C k Insert into C k Select p.item 1, p.item 2, …, p.item k-1, q.item k-1 From L k-1 p, L k-1 q Where p.item 1 = q.item 1, …, p.item k-2 = q.item k-2, p.item k-1 = q.item k-1

11 The prune step Pre: itemsets in C k and L k-1 Post: itemsets in C k such that some (k-1)-subset of c which is not in L k-1 are deleted Forall itemsets c  C k do Forall (k-1)-subsets s of c do if (s  L k-1 ) then delete c from C k

12 An Example Input Dataset Tiditems 1A B C 2 B C E 3A B C E F 4A B C D 5A B C E 6A B C E F 7 B C D E F 8 A B C 9A C D E 10 B C E F minsup = 20%  L 1 = { A, B, C, D, E, F}

13 An Example (2) C 2 = {AB, AC, AD, AE, AF, BC, BD, BE, BF, CD, CE, CF, DE, DF, EF} After counting C 2 = {AB(6), AC(7), AD(2), AE(4), AF(2), BC(8), BD(2), BE(6), BF(4), CD(3), CE(6), CF(3), DE(2), DF(1), EF(4)} L 2 = {AB, AC, AD, AE, AF, BC, BD, BE, BF, CD, CE, CF, DE, EF}

14 An Example (3) C 3 = {ABC, ABD, ABE, ABF, ACD, ACE, ACF, ADE, ADF, AEF, BCD, BCE, BCF, BDE, BDF, BEF, CDE, CDF, CEF} L 3 = {ABC, ABE, ABF, ACD, ACE, ACF, AEF, BCD, BCE, BCF, BEF, CDE, CEF} After pruning C 3 = {ABC, ABD, ABE, ABF, ACD, ACE, ACF, ADE, AEF, BCD, BCE, BCF, BDE, BEF, CDE, CEF} After counting C 3 = {ABC(6), ABD(1), ABE(3), ABF(2), ACD(2), ACE(4), ACF(2), ADE(1), AEF(2), BCD(2), BCE(2), BCF(3), BDE(1), BEF(4), CDE(2), CEF(3)}

15 An Example (4) C 4 = {ABCE, ABCF, ABEF, ACDE, ACDF, BCDE, BCDF, BCEF} L 4 = {ABCE, ABCF, ABEF, ACEF, BCEF} After pruning C 4 = {ABCE, ABCF, ABEF, ACEF, BCEF} After counting C 4 = {ABCE(3), ABCF (2), ABEF (2), ACEF (2), BCEF (3),}

16 An Example (5) C 5 = {ABCEF} L 5 = {ABCEF} After counting C 5 = {ABCEF(2)}

17 Assignment 1 Work: ให้เขียนโปรแกรมที่สอดคล้องกับ An algorithm Apriori เพื่อ generate Frequent itemsets ในแต่ละ Level ของ Itemsets lattice Data sets : สามารถ download จากเครื่อง “angsila/~nuansri/310214” run ด้วยค่า minimum support ต่างๆ ดังนี้ xt10.data ==> minsup = 20%, 15%, และ 10% tr2000.data ==> minsup= 10%, 8% และ 5%

18 Assignment 1 (2) Due : วันจันทร์ ที่ 15 ก. ย สาธิตโปรแกรมและเอกสารประกอบ โปรแกรม ณ ห้อง SD417 Note: Frequent itemsets ในทุก Level ของ Itemsets lattice จะต้องเหมือนกัน ไม่ว่า run โดยคนละโปรแกรม หรือโปรแกรมใช้ โครงสร้างข้อมูลที่ต่างกัน ใน data sets ชุด เดียวกัน ดังนั้นนิสิตทุกคน สามารถตรวจความ ถูกต้องของ จำนวนและค่าของ frequent itemsets ใน data sets ชุดเดียวกัน กับ เพื่อนร่วมชั้นเรียน


ดาวน์โหลด ppt A Classical Apriori Algorithm for Mining Association Rules.

งานนำเสนอที่คล้ายกัน


Ads by Google