CluStream เป็นอัลกอริธึมสำหรับการจัดกลุ่มของสตรีมข้อมูลที่พัฒนาขึ้นโดยอิงจากการค้นหาคลัสเตอร์ออนไลน์ที่ผู้ใช้ระบุ มันแบ่งกระบวนการจัดกลุ่มออกเป็นส่วนประกอบออนไลน์และออฟไลน์
ส่วนประกอบออนไลน์คำนวณและจัดเก็บสถิติสรุปเกี่ยวกับสตรีมข้อมูลโดยใช้ไมโครคลัสเตอร์ และทำการคำนวณออนไลน์ส่วนเพิ่มและบำรุงรักษาไมโครคลัสเตอร์ คอมโพเนนต์ออฟไลน์ทำคลัสเตอร์มาโครและตอบคำถามผู้ใช้ต่างๆ โดยใช้สถิติสรุปที่จัดเก็บไว้ ซึ่งอิงตามโมเดลกรอบเวลาที่เอียง
คลัสเตอร์ที่พัฒนาสตรีมข้อมูลตามข้อมูลสตรีมในอดีตและปัจจุบัน นำโมเดลกรอบเวลาที่เอียง (เช่น โมเดลลอการิทึมแบบโปรเกรสซีฟ) ซึ่งเก็บสแน็ปช็อตของชุดไมโครคลัสเตอร์ที่ระดับความละเอียดต่างกัน เมื่อเร็วๆ นี้
สัญชาตญาณในที่นี้คือต้องการข้อมูลเพิ่มเติมสำหรับกิจกรรมล่าสุด แทนที่จะเป็นเหตุการณ์ที่เก่ากว่า ข้อมูลที่เก็บไว้สามารถใช้สำหรับการประมวลผลแบบสอบถามการทำคลัสเตอร์เฉพาะผู้ใช้ที่เกี่ยวข้องกับประวัติ ไมโครคลัสเตอร์ใน CluStream ถูกกำหนดให้เป็นคุณลักษณะการทำคลัสเตอร์
CluStream ขยายแนวคิดของคุณลักษณะการทำคลัสเตอร์ที่พัฒนาขึ้นใน BIRCH เพื่อรวมโดเมนชั่วคราว ในฐานะส่วนขยายชั่วคราวของคุณลักษณะการทำคลัสเตอร์ อะมิโครคลัสเตอร์สำหรับชุดของจุดมิติ d,X1 , . . . , Xn พร้อมประทับเวลา T1 ,...,Tn ,ถูกกำหนดให้เป็นทูเพิล (2d +3) (CF2 x ,CF1 x ,CF2 t , CF1 t , n) ที่ซึ่ง CF2 x และ CF1 x เป็นเวกเตอร์มิติ d ขณะที่ CF2 t , CF1 t และ n เป็นสเกลาร์ CF2 x รักษาผลรวมของกำลังสองของค่าข้อมูลต่อมิติ นั่นคือ$\sum_{i=1}^{n}{X_{i}}^{2}$
ในทำนองเดียวกัน สำหรับแต่ละมิติ ผลรวมของค่าข้อมูลจะคงอยู่ใน CF1 x . จากมุมมองทางสถิติ CF2 x และ CF1 x แสดงถึงช่วงเวลาลำดับที่สองและลำดับแรกของข้อมูลตามลำดับ ผลรวมของช่องสี่เหลี่ยมของการประทับเวลาจะคงอยู่ใน CF2 t . ผลรวมของการประทับเวลาจะคงอยู่ใน CF1 t . สุดท้าย จำนวนจุดข้อมูลในไมโครคลัสเตอร์จะคงอยู่ใน n
ฟีเจอร์การทำคลัสเตอร์มีคุณสมบัติการบวกและการลบที่ทำให้มีประโยชน์มากสำหรับการวิเคราะห์คลัสเตอร์สตรีมข้อมูล ตัวอย่างเช่น สองไมโครคลัสเตอร์สามารถรวมกันได้โดยการเพิ่มคุณลักษณะการทำคลัสเตอร์ตามลำดับ นอกจากนี้ยังสามารถรักษาไมโครคลัสเตอร์จำนวนมากได้โดยไม่ต้องใช้หน่วยความจำมากนัก สแนปชอตของไมโครคลัสเตอร์เหล่านี้จะถูกเก็บไว้ที่จุดสำคัญในเวลาตามกรอบเวลาที่เอียง
การประมวลผลไมโครคลัสเตอร์ออนไลน์แบ่งออกเป็นสองขั้นตอน เช่น การรวบรวมข้อมูลทางสถิติและการอัพเดตไมโครคลัสเตอร์ ในระยะแรก รวม q microclusters,M1 ,..., Mq ถูกคงไว้ โดยที่ q มักจะมากกว่าจำนวนคลัสเตอร์ธรรมชาติอย่างมีนัยสำคัญ และถูกกำหนดโดยจำนวนหน่วยความจำที่มีอยู่
ในระยะที่สอง ไมโครคลัสเตอร์จะได้รับการอัปเดต แต่ละจุดข้อมูลใหม่จะถูกเพิ่มเข้าไปในคลัสเตอร์ที่มีอยู่หรือคลัสเตอร์ใหม่ สามารถเลือกได้ว่าต้องการคลัสเตอร์ใหม่หรือไม่ โดยกำหนดขอบเขตสูงสุดสำหรับแต่ละคลัสเตอร์