Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Practical Data Mining: FP-Growth

3.621 visualizaciones

Publicado el

This slide presents FP-Growth technique.

Publicado en: Datos y análisis

Practical Data Mining: FP-Growth

  1. 1. Practical Data Mining: FP-Growth (data)3
 base|warehouse|mining http://www.dataminingtrend.com
 http://facebook.com/datacube.th ! Eakasit Pacharawongsakda, Ph.D. Data Cube: http://facebook.com/datacube.th
  2. 2. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th Market Basket Analysis • เทคนิคการหากฏความสัมพันธ์ (Association Rules) • Apriori (Agrawal and Srikant, 1994) • สร้างรูปแบบของสินค้า (itemset) ที่มีจำนวนเพิ่มขึ้นทีละ 1 • คำนวณค่า support จากในฐานข้อมูล • ข้อเสียคือต้องดึงข้อมูลจากฐานข้อมูลหลายรอบทำให้ทำงานช้า • FP-Growth (Han, Pei and Yin, 2000) • อ่านข้อมูลในฐานข้อมูลและสร้าง FP-tree • คำนวณค่า support จาก FP-tree • ทำงานได้เร็วกว่าวิธี Apriori 2 • J. Han, H. Pei, and Y. Yin. Mining Frequent Patterns without Candidate Generation. In: Proc. Conf. on the Management of Data (SIGMOD’00, Dallas, TX). ACM Press, New York, NY, USA 2000 • R. Agrawal and R. Srikant, Fast algorithms for mining association rules in large databases, Proceedings of the 20th International Conference on Very Large Data Bases, VLDB, pages 487-499, Santiago, Chile, September 1994
  3. 3. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th FP-Growth • หลักการของเทคนิค FP-Growth • ขั้นตอนที่ 1 สร้าง compact data structure ที่เรียกว่า FP-tree • การสร้าง FP-Tree อ่านข้อมูลจากฐานข้อมูลเพียงแค่ 2 ครั้งเท่านั้น • หาค่า support ของรูปแบบการซื้อสินค้า (item) ที่มีความยาว 1 • ในแต่ละ transaction เรียงลำดับ (sort) ตามค่า support • สร้าง FP-Tree จากการอ่านข้อมูลในฐานข้อมูลเพียงหนึ่งรอบ • ขั้นตอนที่ 2 สร้างรูปแบบของสินค้าที่ซื้อบ่อยๆ (frequent itemset) จาก FP-tree 3
  4. 4. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th FP-Growth • ขั้นตอนที่ 1 สร้าง compact data structure ที่เรียกว่า FP-tree • การสร้าง FP-Tree อ่านข้อมูลจากฐานข้อมูลเพียงแค่ 2 ครั้งเท่านั้น • หาค่า support ของรูปแบบการซื้อสินค้า (item) ที่มีความยาว 1 4 Items Transaction ID Support 1 2 3 4 Apple 1 0 1 0 2/4 = 50% Beer 0 1 1 1 3/4 = 75% Cereal 1 1 1 0 3/4 = 75% Diapers 1 0 0 0 1/4 = 25% Eggs 0 1 1 1 3/4 = 75% Items Transaction ID Support 1 2 3 4 Apple 1 0 1 0 2/4 = 50% Beer 0 1 1 1 3/4 = 75% Cereal 1 1 1 0 3/4 = 75% Diapers 1 0 0 0 1/4 = 25% Eggs 0 1 1 1 3/4 = 75%
  5. 5. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th FP-Growth • ขั้นตอนที่ 1 สร้าง compact data structure ที่เรียกว่า FP-tree • การสร้าง FP-Tree อ่านข้อมูลจากฐานข้อมูลเพียงแค่ 2 ครั้งเท่านั้น • หาค่า support ของรูปแบบการซื้อสินค้า (item) ที่มีความยาว 1 • เรียงลำดับตามค่า support ที่คำนวณได้ 5 Items Transaction ID Support 1 2 3 4 Beer 0 1 1 1 3/4 = 75% Cereal 1 1 1 0 3/4 = 75% Eggs 0 1 1 1 3/4 = 75% Apple 1 0 1 0 2/4 = 50% Diapers 1 0 0 0 1/4 = 25% Transaction ID Items 1 Cereal, Apple, Diapers 2 Beer, Cereal, Eggs 3 Beer, Cereal, Eggs, Apple 4 Beer, Eggs เรียงลำดับตามค่า support จากมากไปน้อย
  6. 6. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th FP-Growth • ขั้นตอนที่ 1 สร้าง compact data structure ที่เรียกว่า FP-tree • การสร้าง FP-Tree อ่านข้อมูลจากฐานข้อมูลเพียงแค่ 2 ครั้งเท่านั้น • หาค่า support ของรูปแบบการซื้อสินค้า (item) ที่มีความยาว 1 • เรียงลำดับตามค่า support ที่คำนวณได้ • สร้าง FP-Tree จากการอ่านข้อมูลในฐานข้อมูลเพียงหนึ่งรอบ 6 Transaction ID Items 1 Cereal, Apple, Diapers 2 Beer, Cereal, Eggs 3 Beer, Cereal, Eggs, Apple 4 Beer, Eggs Cereal:1 NULL Item support 
 count
  7. 7. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th FP-Growth • ขั้นตอนที่ 1 สร้าง compact data structure ที่เรียกว่า FP-tree • การสร้าง FP-Tree อ่านข้อมูลจากฐานข้อมูลเพียงแค่ 2 ครั้งเท่านั้น • หาค่า support ของรูปแบบการซื้อสินค้า (item) ที่มีความยาว 1 • เรียงลำดับตามค่า support ที่คำนวณได้ • สร้าง FP-Tree จากการอ่านข้อมูลในฐานข้อมูลเพียงหนึ่งรอบ 7 Transaction ID Items 1 Cereal, Apple, Diapers 2 Beer, Cereal, Eggs 3 Beer, Cereal, Eggs, Apple 4 Beer, Eggs Cereal:1 NULL Apple:1
  8. 8. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th FP-Growth • ขั้นตอนที่ 1 สร้าง compact data structure ที่เรียกว่า FP-tree • การสร้าง FP-Tree อ่านข้อมูลจากฐานข้อมูลเพียงแค่ 2 ครั้งเท่านั้น • หาค่า support ของรูปแบบการซื้อสินค้า (item) ที่มีความยาว 1 • เรียงลำดับตามค่า support ที่คำนวณได้ • สร้าง FP-Tree จากการอ่านข้อมูลในฐานข้อมูลเพียงหนึ่งรอบ 8 Transaction ID Items 1 Cereal, Apple, Diapers 2 Beer, Cereal, Eggs 3 Beer, Cereal, Eggs, Apple 4 Beer, Eggs Diapers:1 Cereal:1 NULL Apple:1
  9. 9. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th FP-Growth • ขั้นตอนที่ 1 สร้าง compact data structure ที่เรียกว่า FP-tree 9 TID Items 1 Cereal, Apple, Diapers 2 Beer, Cereal, Eggs 3 Beer, Cereal, Eggs, Apple 4 Beer, Eggs Diapers:1 Cereal:1 Apple:1 NULL Beer:1
  10. 10. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th FP-Growth • ขั้นตอนที่ 1 สร้าง compact data structure ที่เรียกว่า FP-tree 10 TID Items 1 Cereal, Apple, Diapers 2 Beer, Cereal, Eggs 3 Beer, Cereal, Eggs, Apple 4 Beer, Eggs Diapers:1 Cereal:1 Apple:1 NULL Cereal:1 Beer:1
  11. 11. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th FP-Growth • ขั้นตอนที่ 1 สร้าง compact data structure ที่เรียกว่า FP-tree 11 TID Items 1 Cereal, Apple, Diapers 2 Beer, Cereal, Eggs 3 Beer, Cereal, Eggs, Apple 4 Beer, Eggs Diapers:1 Cereal:1 Apple:1 NULL Cereal:1 Beer:1 สร้าง link กลับมา
  12. 12. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th FP-Growth • ขั้นตอนที่ 1 สร้าง compact data structure ที่เรียกว่า FP-tree 12 TID Items 1 Cereal, Apple, Diapers 2 Beer, Cereal, Eggs 3 Beer, Cereal, Eggs, Apple 4 Beer, Eggs Diapers:1 Cereal:1 Apple:1 NULL Eggs:1 Cereal:1 Beer:1
  13. 13. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th FP-Growth • ขั้นตอนที่ 1 สร้าง compact data structure ที่เรียกว่า FP-tree 13 TID Items 1 Cereal, Apple, Diapers 2 Beer, Cereal, Eggs 3 Beer, Cereal, Eggs, Apple 4 Beer, Eggs Diapers:1 Cereal:1 Apple:1 NULL Eggs:1 Cereal:1 Beer:2
  14. 14. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th FP-Growth • ขั้นตอนที่ 1 สร้าง compact data structure ที่เรียกว่า FP-tree 14 TID Items 1 Cereal, Apple, Diapers 2 Beer, Cereal, Eggs 3 Beer, Cereal, Eggs, Apple 4 Beer, Eggs Diapers:1 Cereal:1 Apple:1 NULL Eggs:1 Cereal:2 Beer:2
  15. 15. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th FP-Growth • ขั้นตอนที่ 1 สร้าง compact data structure ที่เรียกว่า FP-tree 15 TID Items 1 Cereal, Apple, Diapers 2 Beer, Cereal, Eggs 3 Beer, Cereal, Eggs, Apple 4 Beer, Eggs Diapers:1 Cereal:1 Apple:1 NULL Eggs:2 Cereal:2 Beer:2
  16. 16. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th FP-Growth • ขั้นตอนที่ 1 สร้าง compact data structure ที่เรียกว่า FP-tree 16 TID Items 1 Cereal, Apple, Diapers 2 Beer, Cereal, Eggs 3 Beer, Cereal, Eggs, Apple 4 Beer, Eggs Diapers:1 Cereal:1 Apple:1 NULL Apple:1 Eggs:2 Cereal:2 Beer:2
  17. 17. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th FP-Growth • ขั้นตอนที่ 1 สร้าง compact data structure ที่เรียกว่า FP-tree 17 TID Items 1 Cereal, Apple, Diapers 2 Beer, Cereal, Eggs 3 Beer, Cereal, Eggs, Apple 4 Beer, Eggs Diapers:1 Cereal:1 Apple:1 NULL Apple:1 Eggs:2 Cereal:2 Beer:2 สร้าง link กลับมา
  18. 18. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th FP-Growth • ขั้นตอนที่ 1 สร้าง compact data structure ที่เรียกว่า FP-tree 18 TID Items 1 Cereal, Apple, Diapers 2 Beer, Cereal, Eggs 3 Beer, Cereal, Eggs, Apple 4 Beer, Eggs Diapers:1 Cereal:1 Apple:1 NULL Apple:1 Eggs:2 Cereal:2 Beer:3
  19. 19. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th FP-Growth • ขั้นตอนที่ 1 สร้าง compact data structure ที่เรียกว่า FP-tree 19 TID Items 1 Cereal, Apple, Diapers 2 Beer, Cereal, Eggs 3 Beer, Cereal, Eggs, Apple 4 Beer, Eggs Diapers:1 Cereal:1 Apple:1 NULL Apple:1 Eggs:2 Cereal:2 Eggs:1Beer:3
  20. 20. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th FP-Growth • ขั้นตอนที่ 1 สร้าง compact data structure ที่เรียกว่า FP-tree 20 TID Items 1 Cereal, Apple, Diapers 2 Beer, Cereal, Eggs 3 Beer, Cereal, Eggs, Apple 4 Beer, Eggs Diapers:1 Cereal:1 Apple:1 NULL Apple:1 Eggs:2 Cereal:2 Eggs:1Beer:3 สร้าง link กลับมา
  21. 21. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th FP-Growth • ขั้นตอนที่ 2 สร้างรูปแบบของสินค้าที่ซื้อบ่อยๆ (frequent itemset) จาก FP-tree • กำหนด min_support = 50% 21 Diapers:1 Cereal:1 Apple:1 NULL Eggs:2 Cereal:2 Eggs:1Beer:3 ถูกตัดทิ้งเนื่องจาก support < min_sup Apple:1
  22. 22. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th FP-Growth • ขั้นตอนที่ 2 สร้างรูปแบบของสินค้าที่ซื้อบ่อยๆ (frequent itemset) จาก FP-tree • กำหนด min_support = 50% 22 Cereal:1 Apple:1 NULL Apple:1 Eggs:2 Cereal:2 Beer:3 Frequent itemset Support {Apple} 2/4 = 50%
  23. 23. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th FP-Growth • ขั้นตอนที่ 2 สร้างรูปแบบของสินค้าที่ซื้อบ่อยๆ (frequent itemset) จาก FP-tree • กำหนด min_support = 50% 23 Cereal:1 Apple:1 NULL Apple:1 Eggs:2 Cereal:2 Beer:3 Frequent itemset Support {Apple} 2/4 = 50% {Apple, Cereal} 2/4 = 50%
  24. 24. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th FP-Growth • ขั้นตอนที่ 2 สร้างรูปแบบของสินค้าที่ซื้อบ่อยๆ (frequent itemset) จาก FP-tree • กำหนด min_support = 50% 24 Cereal:1 NULL Eggs:2 Cereal:2 Eggs:1Beer:3 Frequent itemset Support {Apple} 2/4 = 50% {Apple, Cereal} 2/4 = 50% {Eggs} 3/4 = 75%
  25. 25. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th FP-Growth • ขั้นตอนที่ 2 สร้างรูปแบบของสินค้าที่ซื้อบ่อยๆ (frequent itemset) จาก FP-tree • กำหนด min_support = 50% 25 Cereal:1 NULL Eggs:2 Cereal:2 Eggs:1Beer:3 Frequent itemset Support {Apple} 2/4 = 50% {Apple, Cereal} 2/4 = 50% {Eggs} 3/4 = 75% {Cereal, Eggs} 2/4 = 50%
  26. 26. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th FP-Growth • ขั้นตอนที่ 2 สร้างรูปแบบของสินค้าที่ซื้อบ่อยๆ (frequent itemset) จาก FP-tree • กำหนด min_support = 50% 26 Cereal:1 NULL Eggs:2 Cereal:2 Eggs:1Beer:3 Frequent itemset Support {Apple} 2/4 = 50% {Apple, Cereal} 2/4 = 50% {Eggs} 3/4 = 75% {Cereal, Eggs} 2/4 = 50% {Beer, Eggs} 3/4 = 75%
  27. 27. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th FP-Growth • ขั้นตอนที่ 2 สร้างรูปแบบของสินค้าที่ซื้อบ่อยๆ (frequent itemset) จาก FP-tree • กำหนด min_support = 50% 27 Cereal:1 NULL Eggs:2 Cereal:2 Eggs:1Beer:3 Frequent itemset Support {Apple} 2/4 = 50% {Apple, Cereal} 2/4 = 50% {Eggs} 3/4 = 75% {Cereal, Eggs} 2/4 = 50% {Beer, Eggs} 3/4 = 75% {Beer, Cereal, Eggs} 2/4 = 50%
  28. 28. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th FP-Growth • ขั้นตอนที่ 2 สร้างรูปแบบของสินค้าที่ซื้อบ่อยๆ (frequent itemset) จาก FP-tree • กำหนด min_support = 50% 28 Cereal:1 NULL Cereal:2 Beer:3 Frequent itemset Support {Apple} 2/4 = 50% {Apple, Cereal} 2/4 = 50% {Eggs} 3/4 = 75% {Cereal, Eggs} 2/4 = 50% {Beer, Eggs} 3/4 = 75% {Beer, Cereal, Eggs} 2/4 = 50% {Cereal} 3/4 = 75%
  29. 29. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th FP-Growth • ขั้นตอนที่ 2 สร้างรูปแบบของสินค้าที่ซื้อบ่อยๆ (frequent itemset) จาก FP-tree • กำหนด min_support = 50% 29 Cereal:1 NULL Cereal:2 Beer:3 Frequent itemset Support {Apple} 2/4 = 50% {Apple, Cereal} 2/4 = 50% {Eggs} 3/4 = 75% {Cereal, Eggs} 2/4 = 50% {Beer, Eggs} 3/4 = 75% {Beer, Cereal, Eggs} 2/4 = 50% {Cereal} 3/4 = 75% {Beer, Cereal} 2/4 = 50%
  30. 30. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th FP-Growth • ขั้นตอนที่ 2 สร้างรูปแบบของสินค้าที่ซื้อบ่อยๆ (frequent itemset) จาก FP-tree • กำหนด min_support = 50% 30 NULL Beer:3 Frequent itemset Support {Apple} 2/4 = 50% {Apple, Cereal} 2/4 = 50% {Eggs} 3/4 = 75% {Cereal, Eggs} 2/4 = 50% {Beer, Eggs} 3/4 = 75% {Beer, Cereal, Eggs} 2/4 = 50% {Cereal} 3/4 = 75% {Beer, Cereal} 2/4 = 50% {Beer} 3/4 = 75%
  31. 31. (data)3
 base|warehouse|mining http://dataminingtrend.com http://facebook.com/datacube.th Apriori & FP-Growth 31 Frequent itemset Support {Apple} 2/4 = 50% {Apple, Cereal} 2/4 = 50% {Eggs} 3/4 = 75% {Cereal, Eggs} 2/4 = 50% {Beer, Eggs} 3/4 = 75% {Beer, Cereal, Eggs} 2/4 = 50% {Cereal} 3/4 = 75% {Beer, Cereal} 2/4 = 50% {Beer} 3/4 = 75% Frequent itemset Support {Apple} 2/4 = 50% {Beer} 3/4 = 75% {Cereal} 3/4 = 75% {Eggs} 3/4 = 75% {Apple, Cereal} 2/4 = 50% {Beer, Cereal} 2/4 = 50% {Beer, Eggs} 3/4 = 75% {Cereal, Eggs} 2/4 = 50% {Beer, Cereal, Eggs} 2/4 = 50% ผลลัพธ์จาก Apriori ผลลัพธ์จาก FP-Growth

×