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

การทำคลัสเตอร์แบบหลายความสัมพันธ์คืออะไร?


การทำคลัสเตอร์แบบหลายความสัมพันธ์เป็นกระบวนการของการแบ่งพาร์ติชันออบเจ็กต์ข้อมูลออกเป็นชุดของคลัสเตอร์ตามความคล้ายคลึงกัน โดยใช้ข้อมูลในหลายความสัมพันธ์ ในส่วนนี้ จะแนะนำ CrossClus (Cross-relational Clustering พร้อมคำแนะนำผู้ใช้) ซึ่งเป็นอัลกอริทึมสำหรับการทำคลัสเตอร์แบบหลายเชิงสัมพันธ์ที่สำรวจวิธีใช้คำแนะนำผู้ใช้ในการทำคลัสเตอร์และการเผยแพร่ tuple ID เพื่อหลีกเลี่ยงการรวมทางกายภาพ

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

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

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

CrossClus ยอมรับการสืบค้นของผู้ใช้ที่มีความสัมพันธ์แบบเป้าหมายและแอตทริบิวต์ที่เกี่ยวข้องตั้งแต่หนึ่งรายการขึ้นไป ซึ่งระบุเป้าหมายการจัดกลุ่มของผู้ใช้ร่วมกัน CrossClus กำหนดแอตทริบิวต์หลายเชิงสัมพันธ์ แอตทริบิวต์หลายเชิงสัมพันธ์ A 'ถูกกำหนดโดยเส้นทางเข้าร่วม Rt ⋈ R1 …. . ⋈ Rk แอตทริบิวต์ Rk . A ของ Rk และอาจเป็นตัวดำเนินการการรวม (เช่น ค่าเฉลี่ย นับ สูงสุด)

A' แสดงอย่างเป็นทางการโดย [A' เข้าร่วมเส้นทาง A’ .attr, A’ .aggr] ซึ่ง A’ aggr เป็นทางเลือก แอตทริบิวต์หลายเชิงสัมพันธ์ A 'เป็นทั้งคุณสมบัติหมวดหมู่หรือตัวเลข ขึ้นอยู่กับว่า Rk . A เป็นหมวดหมู่หรือเป็นตัวเลข ถ้า A' เป็นคุณลักษณะการจัดหมวดหมู่ ดังนั้นสำหรับ tuple เป้าหมาย t, t A' หมายถึงการกระจายของค่าระหว่างทูเพิลใน Rk ที่เชื่อมกับ t.

ในกระบวนการคลัสเตอร์แบบหลายความสัมพันธ์ CrossClus จำเป็นต้องค้นหาแอตทริบิวต์ที่เกี่ยวข้องจากหลายความสัมพันธ์ CrossClus ต้องจัดการกับความท้าทายที่สำคัญสองประการในกระบวนการค้นหา ขั้นแรก ความสัมพันธ์ของเป้าหมาย Rt , มักจะสามารถเข้าร่วมกับแต่ละความสัมพันธ์ที่ไม่ใช่เป้าหมาย, R ผ่านเส้นทางการเข้าร่วมที่แตกต่างกันมากมาย และแต่ละแอตทริบิวต์ใน R สามารถใช้เป็นแอตทริบิวต์แบบหลายเชิงสัมพันธ์ได้

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