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

เราจะปรับปรุงประสิทธิภาพของการขุดโดยใช้ Apriori ได้อย่างไร?


มีรูปแบบต่าง ๆ ของอัลกอริทึม Apriori ที่คาดการณ์ไว้โดยมีเป้าหมายเพื่อพัฒนาประสิทธิภาพของอัลกอริธึมดั้งเดิมซึ่งมีดังต่อไปนี้ -

เทคนิคที่ใช้แฮช (แฮชชุดไอเท็มลงในบัคเก็ตที่เกี่ยวข้อง) − เทคนิคที่ใช้แฮชสามารถใช้เพื่อลดขนาดของชุดรายการ k ของตัวเลือก Ck สำหรับ k> 1 ตัวอย่างเช่น เมื่อสแกนแต่ละธุรกรรมในฐานข้อมูลเพื่อสร้างชุด 1 รายการที่ใช้บ่อย,L1 จากผู้สมัคร 1-itemsets ใน C1 มันสามารถสร้างชุด 2 รายการสำหรับแต่ละธุรกรรม แฮช (เช่น แมป) ลงในที่เก็บข้อมูลหลายชุดของโครงสร้างตารางแฮช และเพิ่มจำนวนถังที่เทียบเท่ากัน

การลดการทำธุรกรรม − ธุรกรรมที่ไม่รวม k-itemsets บางรายการ ไม่สามารถรวมรายการ frequent (k + 1) ได้ ดังนั้น ธุรกรรมดังกล่าวสามารถทำเครื่องหมายหรือลบออกจากการพิจารณาต่อไปได้ เนื่องจากการสแกนฐานข้อมูลสำหรับ j-itemsets ในภายหลัง โดยที่ j> k จะไม่ต้องการมัน

การแบ่งพาร์ติชัน − สามารถใช้เทคนิคการแบ่งพาร์ติชั่นที่ต้องการการสแกนฐานข้อมูลสองครั้งเพื่อขุดชุดไอเท็มที่ใช้บ่อย ประกอบด้วยสองขั้นตอนที่เกี่ยวข้องกับ ในเฟสที่ 1 อัลกอริธึมแบ่งย่อยธุรกรรมของ D ออกเป็น n พาร์ติชันที่ไม่ทับซ้อนกัน หากเกณฑ์การสนับสนุนขั้นต่ำสำหรับธุรกรรมใน D คือ min_sup ดังนั้นจำนวนการสนับสนุนขั้นต่ำสำหรับพาร์ติชันคือ min_sup × จำนวนธุรกรรมในพาร์ติชันนั้น

สำหรับแต่ละพาร์ติชั่น ไอเท็มเซ็ตที่ใช้บ่อยทั้งหมดภายในพาร์ติชั่นจะถูกค้นพบ สิ่งเหล่านี้ถูกกำหนดให้เป็นชุดรายการประจำท้องถิ่น กระบวนการนี้ใช้โครงสร้างข้อมูลเฉพาะซึ่งสำหรับแต่ละรายการชุดจะบันทึก TID ของธุรกรรมรวมถึงรายการในชุดรายการ ซึ่งช่วยให้ค้นหาชุดรายการ k ที่ใช้บ่อยในเครื่องได้ทั้งหมด สำหรับ k =1, 2... ในการสแกนฐานข้อมูลเพียงครั้งเดียว

ชุดรายการที่ใช้บ่อยในเครื่องสามารถหรือไม่สามารถเกี่ยวข้องกับฐานข้อมูลทั้งหมดได้บ่อยครั้ง D ชุดรายการใด ๆ ที่อาจเกี่ยวข้องบ่อย D ต้องปรากฏเป็นชุดรายการที่ใช้บ่อยเป็นส่วนหนึ่งของพาร์ติชั่นหนึ่งพาร์ติชั่น ดังนั้น ชุดรายการที่ใช้บ่อยในพื้นที่ทั้งหมดจึงเป็นชุดรายการที่คัดเลือกเล็กน้อย D ชุดของชุดรายการที่ใช้บ่อยจากพาร์ติชั่นทั้งหมดจะสร้างชุดรายการตัวเลือกระดับโลกสำหรับ D ในระยะที่ 2 การสแกนครั้งที่สองของ D จะถูกจัดระเบียบโดยจะมีการประเมินการสนับสนุนที่แท้จริงของผู้สมัครแต่ละคน ตัดสินใจเลือกชุดรายการที่ใช้บ่อยทั่วโลก

สุ่มตัวอย่าง แนวความคิดพื้นฐานของวิธีการสุ่มตัวอย่างคือการเลือกสุ่มตัวอย่าง S ของข้อมูล D ที่กำหนด จากนั้นจึงค้นหาชุดรายการที่ใช้บ่อยใน S แทนที่จะเป็น D ในวิธีนี้ จะสามารถแลกเปลี่ยนระดับความแม่นยำกับประสิทธิภาพได้ ขนาดตัวอย่างของ S เป็นขนาดที่การค้นหาชุดรายการที่ใช้บ่อยใน S สามารถทำได้ในหน่วยความจำหลัก ดังนั้นจึงจำเป็นต้องมีการสแกนธุรกรรมใน S เพียงครั้งเดียวเท่านั้น