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

การจัดกลุ่มตามตาราง STING คืออะไร


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

การจัดกลุ่มตามตารางใช้โครงสร้างข้อมูลกริดที่มีความละเอียดหลายระดับ และใช้เซลล์กริดที่หนาแน่นเพื่อสร้างคลัสเตอร์ มีวิธีการที่น่าสนใจหลายวิธี เช่น STING, wave cluster และ CLIQUE

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

  • นับ หมายถึง s ต่ำสุด สูงสุด
  • ประเภทของการกระจาย-ปกติ ชุด ฯลฯ

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

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

อัลกอริทึม

ป้อนข้อมูล

D // Data to be placed in the hierarchical structure
k // Number of desired cells at the lowest level

ผลผลิต

T // Tree
STING BUILD algorithm
// Create an empty tree from top-down
   T = root node with data values initialized; // Initially only root node
   i = 1;
   repeat
      for each node in level i do
      create 4 children nodes with initial values;
   i = i +1;
   until 4i = k;
   // Populate tree from bottom-up for each item in D do
   determine leaf node j related to the position of D;
   update values of j based on attribute values in item;
   i := log4(k);
   repeat
   i: = i - 1;
   for each node j in level i do
update values of j based on attribute values in its 4 children;
until i = 1;