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

การทำคลัสเตอร์สตรีมข้อมูลมีวิธีการอย่างไร


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

แอปพลิเคชั่นบางตัวต้องการการจัดกลุ่มข้อมูลดังกล่าวโดยอัตโนมัติเป็นชุดตามความคล้ายคลึงกัน ตัวอย่างประกอบด้วยแอปพลิเคชันสำหรับการตรวจจับการบุกรุกเว็บ การวิเคราะห์เว็บคลิกสตรีม และการวิเคราะห์ตลาดหุ้น

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

การจัดกลุ่มสตรีมข้อมูลมีหลายวิธีดังนี้ -

คำนวณและจัดเก็บข้อมูลสรุปของข้อมูลที่ผ่านมา − เนื่องจากพื้นที่หน่วยความจำจำกัดและความต้องการการตอบสนองที่รวดเร็ว ให้คำนวณข้อมูลสรุปของการดูข้อมูลก่อนหน้านี้ บันทึกผลลัพธ์ที่เกี่ยวข้อง และใช้ข้อมูลสรุปดังกล่าวเพื่อคำนวณสถิติที่สำคัญเมื่อจำเป็น

ใช้กลยุทธ์การแบ่งแยกและพิชิต − มันสามารถแบ่งสตรีมข้อมูลออกเป็นชิ้น ๆ ตามลําดับการมาถึง คำนวณสรุปสำหรับส่วนเหล่านี้ แล้วรวมข้อมูลสรุป ในวิธีนี้ สามารถสร้างแบบจำลองที่สูงขึ้นจากหน่วยการสร้างที่เล็กกว่าได้

การจัดกลุ่มที่เพิ่มขึ้นของสตรีมข้อมูลขาเข้า − เนื่องจากข้อมูลสตรีมแนะนำระบบอย่างต่อเนื่องและเพิ่มขึ้นเรื่อยๆ คลัสเตอร์ที่เปลี่ยนไปควรมีความซับซ้อนเพิ่มขึ้น

ดำเนินการ microclustering เช่นเดียวกับการวิเคราะห์ macroclustering − Stream clusters สามารถคำนวณได้ 2 ขั้นตอนดังนี้ −

  • สามารถคำนวณและจัดเก็บข้อมูลสรุปที่ระดับไมโครคลัสเตอร์ โดยที่ไมโครคลัสเตอร์ถูกสร้างขึ้นโดยใช้อัลกอริธึมการจัดกลุ่มจากล่างขึ้นบนตามลำดับชั้น

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

สำรวจความละเอียดหลายครั้งสำหรับการวิเคราะห์วิวัฒนาการของคลัสเตอร์ − เนื่องจากข้อมูลล่าสุดมักมีบทบาทแตกต่างจากข้อมูลระยะไกล (เช่น ที่เก่ากว่า) ในการวิเคราะห์ข้อมูลสตรีม ให้ใช้โมเดลกรอบเวลาที่เอียงเพื่อจัดเก็บสแนปชอตของข้อมูลสรุป ณ จุดต่างๆ ของเวลา

แบ่งกลุ่มสตรีมออกเป็นกระบวนการออนไลน์และออฟไลน์ − ในขณะที่ข้อมูลกำลังสตรีม ข้อมูลสรุปพื้นฐานของสแนปชอตข้อมูลควรได้รับการคำนวณ จัดเก็บ และอัปเดตทีละส่วน

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