ผู้ช่วยศาสตราจารย์จิรัฎฐา  ภูบุญอบ  ( jiratta . [email_address] . ac . th, 08-9275-9797 ) ASSOCIATION RULES 4
1. Affinity Analysis and Market Basket Analysis Customer1 Milk, eggs, sugar, bread Customer2 Milk, eggs, cereal, bread  Cu...
1. Affinity Analysis and Market Basket Analysis  ( cont’d ) <ul><li>ในธุรกิจการขายลูกค้าคือผู้ซื้อสินค้าหรือบริการจากบริษั...
1. Affinity Analysis and Market Basket Analysis  ( cont’d ) <ul><li>ผู้บริหารใช้ข้อมูลเหล่านี้เพื่อ </li></ul><ul><ul><li>...
1. Affinity Analysis and Market Basket Analysis  ( cont’d ) <ul><li>เทคนิคที่ใช้ในการวิเคราะห์ดังกล่าว คือ กฎเชื่อมโยงที่เ...
1. Affinity Analysis and Market Basket Analysis  ( cont’d ) <ul><li>ลักษณะคำถามที่สำคัญเกี่ยวกับการขาย </li></ul><ul><ul><...
1. Affinity Analysis and Market Basket Analysis  ( cont’d ) <ul><li>Market Basket data analysis, cross-marketing, catalog ...
2. Support and Confidence <ul><li>Support  ( ค่าสนับสนุน )  ของกฎ  diapers    beer  คือความน่าจะเป็นที่จะพบการซื้อที่มีทั...
2. Support and Confidence   ( cont’d ) <ul><li>The  support   for a particular association rule A    B is the proportion ...
2. Support and Confidence   ( cont’d ) <ul><li>กฎที่เป็นไปได้ของสินค้าสองชนิดคือ </li></ul><ul><li>จำนวนกฎที่เป็นไปได้ทั้ง...
<ul><li>การหา  frequent itemset  ซึ่ง  frequent itemset   คือกลุ่มของ  item  ที่มีค่าสนับสนุนมากกว่าหรือเท่ากับค่า  minimu...
2. Support and Confidence   ( cont’d ) TABLE 10.1 Transactions Made at the Roadside Vegetable Stand Transaction Items Purc...
2. Support and Confidence   ( cont’d )
3.  The Apriori Algorithm <ul><li>Pseudo-code : </li></ul><ul><ul><ul><li>C k : Candidate itemset of size k </li></ul></ul...
3.  The Apriori Algorithm   ( cont’d ) L 1 L 2 C 2 C 2 C 3 L 3 Sup min  = 2 1 st  scan C 1 2 nd  scan 3 rd  scan Tid Items...
3.  The Apriori Algorithm   ( cont’d ) <ul><li>How to generate candidates? </li></ul><ul><ul><li>Step 1: self-joining  L k...
4.  ปัญหาของขั้นตอนวิธี  Apriori <ul><li>คีย์หลักของขั้นตอนวิธี  Apriori </li></ul><ul><ul><li>ใช้  frequent (k-1) itemset...
5.  FP-Growth Algorithm <ul><li>Mining frequent patterns without candidate generation </li></ul><ul><li>3   เทคนิคหลักเพื่...
5.  FP-Growth Algorithm   ( cont’d ) <ul><li>1.  The set of frequent 1-itemsets together with support counts is found. (L ...
5.  FP-Growth Algorithm   ( cont’d ) min_support = 3 TID Items bought   (ordered) frequent items 100 { f, a, c, d, g, i, m...
6. Generating Association Rules <ul><li>IF  antecedent  THEN  consequent  (support, confidence) </li></ul><ul><li>ต้องดูว่...
6. Generating Association Rules   ( cont’d ) <ul><li>B,C    E (50%, 100%) </li></ul><ul><li>B,E    C (50%, 67%) </li></u...
Upcoming SlideShare
Loading in …5
×

File 498 Doc 18 04dm Associationrules

2,476 views

Published on

Published in: Business, Self Improvement
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,476
On SlideShare
0
From Embeds
0
Number of Embeds
21
Actions
Shares
0
Downloads
91
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

File 498 Doc 18 04dm Associationrules

  1. 1. ผู้ช่วยศาสตราจารย์จิรัฎฐา ภูบุญอบ ( jiratta . [email_address] . ac . th, 08-9275-9797 ) ASSOCIATION RULES 4
  2. 2. 1. Affinity Analysis and Market Basket Analysis Customer1 Milk, eggs, sugar, bread Customer2 Milk, eggs, cereal, bread Customer3 Eggs, sugar, bread
  3. 3. 1. Affinity Analysis and Market Basket Analysis ( cont’d ) <ul><li>ในธุรกิจการขายลูกค้าคือผู้ซื้อสินค้าหรือบริการจากบริษัท ซึ่งอาจจะมีพฤติกรรมการซื้อที่แตกต่างกันไป </li></ul><ul><li>ผู้บริหารต้องการวิเคราะห์ข้อมูลการซื้อสินค้าที่เกิดพร้อมกัน หรือไม่เกิดพร้อมกัน ต้องการทราบ </li></ul><ul><ul><li>พฤติกรรมของการซื้อขายที่ไม่เฉพาะเจาะจงลูกค้าคนหนึ่งคนใด </li></ul></ul><ul><ul><li>ลักษณะของสินค้าหรือผลิตภัณฑ์ที่ถูกซื้อคู่กัน </li></ul></ul><ul><ul><li>ลักษณะการซื้อขายที่แตกต่างกับสินค้าอื่น </li></ul></ul><ul><li>เพื่อนำมาวางแผนลักษณะการดำเนินธุรกิจจากความรู้ที่ได้ </li></ul>
  4. 4. 1. Affinity Analysis and Market Basket Analysis ( cont’d ) <ul><li>ผู้บริหารใช้ข้อมูลเหล่านี้เพื่อ </li></ul><ul><ul><li>บ่งบอกพฤติกรรมของลูกค้าทั่วไป </li></ul></ul><ul><ul><li>เข้าใจลักษณะพฤติกรรมที่นำมาใช้ประโยชน์ได้ </li></ul></ul><ul><ul><li>เข้าใจผลิตภัณฑ์ </li></ul></ul><ul><ul><ul><li>ขายเร็ว กับขายช้า </li></ul></ul></ul><ul><ul><ul><li>สินค้าที่ซื้อไปด้วยกัน </li></ul></ul></ul><ul><ul><ul><li>สินค้าที่อาจได้ประโยชน์จากการสนับสนุนการขาย </li></ul></ul></ul><ul><ul><li>ประยุกต์เพื่อเพิ่มยอดขาย </li></ul></ul><ul><ul><ul><li>การวางผังภายในร้าน </li></ul></ul></ul><ul><ul><ul><li>การนำสินค้ามาลด แลก แจก แถม </li></ul></ul></ul>
  5. 5. 1. Affinity Analysis and Market Basket Analysis ( cont’d ) <ul><li>เทคนิคที่ใช้ในการวิเคราะห์ดังกล่าว คือ กฎเชื่อมโยงที่เน้นการใช้ข้อมูลจาก point-of-sale (p-o-s) </li></ul><ul><li>ข้อมูลที่นำมาใช้วิเคราะห์อยู่ในรูปของ transaction </li></ul><ul><ul><li>รหัสการซื้อหนึ่งใบเสร็จ </li></ul></ul><ul><ul><li>ข้อมูลลักษณะลูกค้า ( ถ้ามี ) </li></ul></ul><ul><ul><li>ปริมาณสินค้าที่ซื้อ </li></ul></ul><ul><ul><li>ข้อมูลประเภทของสินค้าที่ขาย </li></ul></ul><ul><ul><li>จำนวนเงิน </li></ul></ul>
  6. 6. 1. Affinity Analysis and Market Basket Analysis ( cont’d ) <ul><li>ลักษณะคำถามที่สำคัญเกี่ยวกับการขาย </li></ul><ul><ul><li>ผู้ซื้อปฏิเสธหรือยอมรับการพยายามขายสินค้าต่างลักษณะหรือไม่ ? </li></ul></ul><ul><ul><li>สินค้าใดที่ปรากฎร่วมกันบ่อยในหนึ่งใบเสร็จ ? </li></ul></ul><ul><ul><li>อะไรคือสินค้าที่พบว่าถูกขายบ่อยให้กับลูกค้าที่มารับบริการซ้ำๆ ? </li></ul></ul><ul><ul><li>ลักษณะการขายของสินค้ามีการเปลี่ยนไปตามเวลาหรือไม่ ? </li></ul></ul><ul><ul><li>ลักษณะการขายของสินค้าเปลี่ยนไปตามที่อยู่ของลูกค้าหรือไม่ อย่างไร ? </li></ul></ul>
  7. 7. 1. Affinity Analysis and Market Basket Analysis ( cont’d ) <ul><li>Market Basket data analysis, cross-marketing, catalog design, sale campaign analysis </li></ul><ul><li>Quantify relationships in the form of Rules </li></ul><ul><li>IF antecedent THEN consequent </li></ul><ul><li>Rules measured using support and confidence </li></ul><ul><li>Discover which items in supermarket are purchased together </li></ul><ul><ul><li>Thursday night 200 of 1,000 customers bought diapers, and of those buying diapers, 50 purchased beer </li></ul></ul><ul><ul><li>Association Rule: “IF buy diapers, THEN buy beer” </li></ul></ul><ul><ul><li>Support = 50/1,000 = 5%, and confidence = 50/200 = 25% </li></ul></ul>
  8. 8. 2. Support and Confidence <ul><li>Support ( ค่าสนับสนุน ) ของกฎ diapers  beer คือความน่าจะเป็นที่จะพบการซื้อที่มีทั้ง diapers และ beer </li></ul><ul><li>Confidence ( ค่าความเชื่อมั่น ) ของกฎ diapers  beer คือความน่าจะเป็นแบบมีเงื่อนไขที่พบว่ามีการซื้อ diapers แล้วจะซื้อ beer </li></ul>Customer buys diapers Customer buys both Customer buys beer 1,000
  9. 9. 2. Support and Confidence ( cont’d ) <ul><li>The support for a particular association rule A  B is the proportion of transactions that contain both A and B. That is, </li></ul><ul><li>The confidence of the association rule A  B is </li></ul>
  10. 10. 2. Support and Confidence ( cont’d ) <ul><li>กฎที่เป็นไปได้ของสินค้าสองชนิดคือ </li></ul><ul><li>จำนวนกฎที่เป็นไปได้ทั้งหมด = (k= รายการสินค้า ) </li></ul><ul><li>กฎ P  P เป็นกฎที่ไม่น่าสนใจ เพราะเป็นกฎที่จริงเสมอสำหรับทุกค่า P </li></ul><ul><li>ใช้ค่าต่ำสุดของค่าสนับสนุนกับค่าความเชื่อมั่นกำหนดความน่าสนใจ คือกฏที่มีค่าสนับสนุน  min support และค่าความเชื่อมั่น  min confidence เป็นกฎที่น่าสนใจ และเซตของกลุ่มสินค้าที่มีค่าสนับสนุน  min support เรียกว่า frequent itemset </li></ul>A  B, B  A, C  A, D  A, E  A, F  A A  C, B  C, C  B, D  B, E  B, F  B A  D, B  D,C  D, D  C, E  C, F  C A  E, B  E, C  E, D  E, E  D, F  D A  F, B  F, C  F, D  F, E  F, F  E
  11. 11. <ul><li>การหา frequent itemset ซึ่ง frequent itemset คือกลุ่มของ item ที่มีค่าสนับสนุนมากกว่าหรือเท่ากับค่า minimum support </li></ul><ul><ul><li>สับเซตของ frequent itemset เป็น frequent itemset คือ ถ้า {A,B} เป็น frequent itemset แล้ว {A} และ {B} ต้องเป็น frequent itemset </li></ul></ul><ul><ul><li>ฉะนั้นการหา frequent itemset ที่มี k ตัว ทำได้จากการพิจารณา k-1 ตัว กล่าวคือเราหา frequent itemset จาก 1 ไปถึง k </li></ul></ul><ul><li>หลังจากที่พิจารณาทุก frequent itemset ที่มีจำนวนมากที่สุดแล้ว เราสร้างกฎเชื่อมโยงจาก frequent itemset ทั้งหมดที่ได้ </li></ul><ul><li>กฏที่ได้จะมี consequent เพียง 1 data field เท่านั้น นั่นคือ </li></ul><ul><li>IF _____, ______, _____ THEN ______ </li></ul>3. The Apriori Algorithm ( cont’d )
  12. 12. 2. Support and Confidence ( cont’d ) TABLE 10.1 Transactions Made at the Roadside Vegetable Stand Transaction Items Purchased 1 Broccoli, green peppers, corn 2 Asparagus, squash, corn 3 Corn, tomatoes, beans, squash 4 Green peppers, corn, tomatoes, beans 5 Beans, asparagus, broccoli 6 Squash, asparagus, beans, tomatoes 7 Tomatoes, corn 8 Broccoli, tomatoes, green peppers 9 Squash, asparagus, beans 10 Beans, corn 11 Green peppers, broccoli, beans, squash 12 Asparagus, beans, squash 13 Squash, corn, asparagus, beans 14 Corn, green peppers, tomatoes, beans, broccoli
  13. 13. 2. Support and Confidence ( cont’d )
  14. 14. 3. The Apriori Algorithm <ul><li>Pseudo-code : </li></ul><ul><ul><ul><li>C k : Candidate itemset of size k </li></ul></ul></ul><ul><ul><ul><li>L k : frequent itemset of size k </li></ul></ul></ul><ul><li>L 1 = {frequent items}; </li></ul><ul><ul><ul><li>for ( k = 1; L k  ; k ++) do begin </li></ul></ul></ul><ul><ul><ul><li>C k+1 = candidates generated from L k ; </li></ul></ul></ul><ul><ul><ul><li>for each transaction t in database do </li></ul></ul></ul><ul><ul><ul><ul><li>increment the count of all candidates in C k+1 that are contained in t </li></ul></ul></ul></ul><ul><ul><ul><li>L k+1 = candidates in C k+1 with min_support </li></ul></ul></ul><ul><ul><ul><li>end </li></ul></ul></ul><ul><ul><ul><li>return  k L k ; </li></ul></ul></ul>
  15. 15. 3. The Apriori Algorithm ( cont’d ) L 1 L 2 C 2 C 2 C 3 L 3 Sup min = 2 1 st scan C 1 2 nd scan 3 rd scan Tid Items 10 A, C, D 20 B, C, E 30 A, B, C, E 40 B, E Itemset sup {A} 2 {B} 3 {C} 3 {D} 1 {E} 3 Itemset sup {A} 2 {B} 3 {C} 3 {E} 3 Itemset {A, B} {A, C} {A, E} {B, C} {B, E} {C, E} Itemset sup {A, B} 1 {A, C} 2 {A, E} 1 {B, C} 2 {B, E} 3 {C, E} 2 Itemset sup {A, C} 2 {B, C} 2 {B, E} 3 {C, E} 2 Itemset {B, C, E} Itemset sup {B, C, E} 2
  16. 16. 3. The Apriori Algorithm ( cont’d ) <ul><li>How to generate candidates? </li></ul><ul><ul><li>Step 1: self-joining L k </li></ul></ul><ul><ul><li>Step 2: pruning </li></ul></ul><ul><li>How to count supports of candidates? </li></ul><ul><li>Example of Candidate-generation </li></ul><ul><ul><li>L 3 = { abc, abd, acd, ace, bcd } </li></ul></ul><ul><ul><li>Self-joining: L 3 *L 3 </li></ul></ul><ul><ul><ul><li>abcd from abc and abd </li></ul></ul></ul><ul><ul><ul><li>acde from acd and ace </li></ul></ul></ul><ul><ul><li>Pruning: </li></ul></ul><ul><ul><ul><li>acde is removed because ade is not in L 3 </li></ul></ul></ul><ul><ul><ul><li>C 4 ={ abcd } </li></ul></ul></ul>
  17. 17. 4. ปัญหาของขั้นตอนวิธี Apriori <ul><li>คีย์หลักของขั้นตอนวิธี Apriori </li></ul><ul><ul><li>ใช้ frequent (k-1) itemsets สร้าง candidate frequent k- itemsets </li></ul></ul><ul><ul><li>อ่าน database และทดสอบรูปแบบเพื่อนับและลด candidate itemset </li></ul></ul><ul><li>ปัญหาคอขวดของขั้นตอนวิธี Apriori: การสร้าง candidate </li></ul><ul><ul><li>ปริมาณ candidate ที่มากเกินไป </li></ul></ul><ul><ul><ul><li>10 4 frequent 1-itemset สร้างได้ 10 7 candidate 2-itemsets </li></ul></ul></ul><ul><ul><ul><li>การค้น frequent pattern ขนาดใหญ่ เช่น {a 1 , a 2 , …,a 100 } เราต้องสร้าง 2 100  10 30 candidates </li></ul></ul></ul><ul><ul><li>มีการอ่าน database หลายรอบ </li></ul></ul><ul><ul><ul><li>ต้องการ (n+1) scans เมื่อ n คือความยาวของ pattern </li></ul></ul></ul>
  18. 18. 5. FP-Growth Algorithm <ul><li>Mining frequent patterns without candidate generation </li></ul><ul><li>3 เทคนิคหลักเพื่อเพิ่มประสิทธิภาพให้กับการหา Frequent itemsets คือ </li></ul><ul><ul><li>1 . บีบอัดข้อมูลจากฐานข้อมูลสู่หน่วยความจำในรูปแบบ FP - tree ( Frequent Pattern tree ) เพื่อหลีกเลี่ยงการอ่านฐานข้อมูลซ้ำหลายรอบ </li></ul></ul><ul><ul><li>2 . ด้วยโครงสร้าง FP - tree ทำให้ไม่ต้องสร้าง candidate sets ขนาดใหญ่ </li></ul></ul><ul><ul><li>3 . ใช้ลักษณะการทำงานแบบแบ่งส่วน แบ่งงานให้เล็กลงเพื่อการเปรียบเทียบที่น้อยลง และช่วยลดเวลาในการค้นหาเพราะทำในพื้นที่ที่เล็กลง </li></ul></ul>
  19. 19. 5. FP-Growth Algorithm ( cont’d ) <ul><li>1. The set of frequent 1-itemsets together with support counts is found. (L 1 ) </li></ul><ul><li>2. Sort the elements in the set of frequent items in the order of descending support count (f-list) </li></ul><ul><li>3. Construct FP-Tree </li></ul><ul><ul><li>Create the root of the tree, labeled with { } </li></ul></ul><ul><ul><li>Scan DB D. The items in each T are processed in L order </li></ul></ul><ul><li>4. Mine the FP-tree </li></ul><ul><ul><li>Mining the FP-tree by creating conditional (sub) pattern bases </li></ul></ul><ul><li>5. Generate rules </li></ul>
  20. 20. 5. FP-Growth Algorithm ( cont’d ) min_support = 3 TID Items bought (ordered) frequent items 100 { f, a, c, d, g, i, m, p } { f, c, a, m, p } 200 { a, b, c, f, l, m, o } { f, c, a, b, m } 300 { b, f, h, j, o, w } { f, b } 400 { b, c, k, s, p } { c, b, p } 500 { a, f, c, e, l, p, m, n } { f, c, a, m, p } <ul><li>Scan DB once, find frequent 1-itemset (single item pattern) </li></ul><ul><li>Sort frequent items in frequency descending order, f-list </li></ul><ul><li>Scan DB again, construct FP-tree </li></ul>F-list =f-c-a-b-m-p {} f:4 c:1 b:1 p:1 b:1 c:3 a:3 b:1 m:2 p:2 m:1 Header Table Item frequency head f 4 c 4 a 3 b 3 m 3 p 3
  21. 21. 6. Generating Association Rules <ul><li>IF antecedent THEN consequent (support, confidence) </li></ul><ul><li>ต้องดูว่า antecedent จะให้มีกี่เงื่อนไข ในแง่ของ market คือจะให้มีสินค้ากี่รายการ ซึ่ง user จะต้องเป็นคนบอก จากตัวอย่าง ( Apriori) กฎที่ยาวที่สุดคือ L 3 ซึ่งมีได้ 2 antecedent เนื่องจากมีสินค้า 3 รายการจะได้กฎว่า </li></ul><ul><ul><ul><ul><li>B,C  E </li></ul></ul></ul></ul><ul><ul><ul><ul><li>B,E  C </li></ul></ul></ul></ul><ul><ul><ul><ul><li>C,E  B </li></ul></ul></ul></ul><ul><li>Support = </li></ul>
  22. 22. 6. Generating Association Rules ( cont’d ) <ul><li>B,C  E (50%, 100%) </li></ul><ul><li>B,E  C (50%, 67%) </li></ul><ul><li>C,E  B (50%, 100%) </li></ul>

×