Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

วิธีปรับปรุงประสิทธิภาพ Apriori-based Mining ให้ดียิ่งขึ้น

มี Variations ของ Apriori Algorithm ที่เสนอมา Target Improving Efficiency ของ Original Algorithm ดังนี้:

1. Hash-based Technique (Hashing Itemsets เข้า Buckets)

Hash-based Technique ใช้ลด Size ของ Candidate k-itemsets Ck สำหรับ k > 1 ตัวอย่าง: เมื่อ Scan แต่ละ Transaction ใน Database สร้าง Frequent 1-itemsets L1 จาก Candidate 1-itemsets ใน C1 สามารถสร้าง 2-itemsets สำหรับแต่ละ Transaction Hash (Map) เข้า Buckets ของ Hash Table Structure และเพิ่ม Bucket Counts ที่เกี่ยวข้อง

2. Transaction Reduction (ลดธุรกรรม)

Transaction ที่ไม่มี Frequent k-itemsets ใดๆ ไม่สามารถมี Frequent (k+1)-itemsets ได้ ดังนั้น Transaction นั้นสามารถ Mark หรือ Delete จาก Further Consideration เพราะ Subsequent Scans สำหรับ j-itemsets (j > k) จะไม่ต้องการมัน

3. Partitioning (การแบ่งพาร์ติชัน)

Partitioning Technique ใช้ที่ต้องการ 2 Database Scans เพื่อ Mine Frequent Itemsets มี 2 Phases:

Phase I: Algorithm Subdivide Transactions ของ D เป็น n Non-overlapping Partitions ถ้า Minimum Support Threshold สำหรับ Transactions ใน D คือ min_sup ดังนั้น Minimum Support Count สำหรับ Partition คือ min_sup × จำนวน Transactions ใน Partition นั้น

สำหรับแต่ละ Partition Frequent Itemsets ภายใน Partition ถูก Discovered เรียกว่า Local Frequent Itemsets ใช้ Specific Data Structure ที่สำหรับแต่ละ Itemset บันทึก TIDs ของ Transactions ที่มี Items ใน Itemset ทำให้หา Local Frequent k-itemsets ทุกค่าได้ใน 1 Scan ของ Database

Local Frequent Itemset อาจหรือไม่ Frequent ต่อ Whole Database D Itemset ที่ Possibly Frequent ต่อ D ต้อง Appear เป็น Frequent Itemsets ใน At Least One Partition ดังนั้น All Local Frequent Itemsets เป็น Candidate Itemsets สำหรับ D Set ของ Frequent Itemsets จาก All Partitions สร้าง Global Candidate Itemsets สำหรับ D

Phase II: Second Scan ของ D จัดทำ ซึ่ง Actual Support ของแต่ละ Candidate ถูก Assessed เพื่อ Decide Global Frequent Itemsets

4. Sampling (การสุ่มตัวอย่าง)

Fundamental Idea ของ Sampling Approach คือ Select Random Sample S ของ Given Data D แล้ว Search Frequent Itemsets ใน S แทน D วิธีนี้ Trade-off Accuracy Degree บางส่วนเพื่อ Efficiency Sample Size ของ S ให้ Search Frequent Itemsets ใน S Complete ใน Main Memory ได้ ดังนั้น Overall ต้องการแค่ 1 Scan ของ Transactions ใน S