นี่เป็นบทสรุปของอัลกอริทึมการจัดกลุ่มหลายอย่างที่สามารถช่วยตอบคำถามได้
"ฉันควรใช้เทคนิคการจัดกลุ่มแบบใด"
ไม่มีอัลกอริทึมการจัดกลุ่มแบบ "ถูกต้อง" อย่างไม่มีอคติอ้างอิง
อัลกอริธึมการทำคลัสเตอร์สามารถแบ่งได้ตาม "คลัสเตอร์โมเดล" อัลกอริทึมที่ออกแบบมาสำหรับรุ่นเฉพาะประเภทใดโดยทั่วไปจะล้มเหลวในรูปแบบที่แตกต่างกัน ยกตัวอย่างเช่น k- หมายถึงไม่สามารถหากลุ่มที่ไม่ใช่นูนมันสามารถหากลุ่มรูปวงกลมเท่านั้น
ดังนั้นการทำความเข้าใจ "โมเดลคลัสเตอร์" เหล่านี้จึงเป็นกุญแจสำคัญในการทำความเข้าใจวิธีเลือกระหว่างอัลกอริทึมการจัดกลุ่ม / วิธีการต่างๆ โมเดลคลัสเตอร์ทั่วไปประกอบด้วย:
[1] โมเดลการเชื่อมต่อ: สร้างโมเดลตามการเชื่อมต่อระยะทาง เช่นการจัดกลุ่มแบบลำดับชั้น ใช้เมื่อเราต้องการการแบ่งพาร์ติชันที่แตกต่างกันตามความสูงของการตัดต้นไม้ ฟังก์ชั่น R: hclust ในแพคเกจสถิติ
[2] Centroid models: สร้างแบบจำลองโดยการแทนแต่ละคลัสเตอร์ด้วยเวกเตอร์ค่าเฉลี่ยเดี่ยว ใช้เมื่อเราต้องการการแบ่งพาร์ติชันที่คมชัด (ตรงข้ามกับการทำคลัสเตอร์ฟัซซี่ที่อธิบายไว้ในภายหลัง) ฟังก์ชั่น R: kmeans ในแพคเกจสถิติ
[3] รูปแบบการกระจาย: สร้างแบบจำลองโดยยึดตามการแจกแจงเชิงสถิติเช่นการแจกแจงปกติหลายตัวแปรที่ใช้โดยอัลกอริทึมการคาดหวังสูงสุด ใช้เมื่อรูปร่างของคลัสเตอร์สามารถกำหนดเองได้โดยไม่เหมือนกับ k-mean ซึ่งถือว่าเป็นคลัสเตอร์แบบวงกลม ฟังก์ชัน R: emcluster ในแพ็คเกจ emcluster
[4] แบบจำลองความหนาแน่น: สร้างแบบจำลองโดยยึดตามกลุ่มที่เป็นพื้นที่หนาแน่นที่เชื่อมต่อในพื้นที่ข้อมูล เช่น DBSCAN และเลนส์ ใช้เมื่อรูปร่างคลัสเตอร์สามารถกำหนดเองได้ซึ่งแตกต่างจาก k-mean ซึ่งถือว่าเป็นคลัสเตอร์แบบวงกลม .. ฟังก์ชัน R dbscan ในแพ็คเกจ dbscan
[5] โมเดลย่อย: สร้างแบบจำลองโดยยึดตามทั้งสมาชิกคลัสเตอร์และคุณลักษณะที่เกี่ยวข้อง เช่นการรวมกลุ่ม (เรียกอีกอย่างว่าการทำคลัสเตอร์ร่วมกันหรือการทำคลัสเตอร์สองโหมด) ใช้เมื่อต้องการแถวและคอลัมน์กลุ่มพร้อมกัน R ฟังก์ชั่น biclust ในแพคเกจ biclust
[6] โมเดลกลุ่ม: สร้างโมเดลตามข้อมูลการจัดกลุ่ม เช่นการกรองร่วมกัน (อัลกอริทึมผู้แนะนำ) ฟังก์ชั่น R ผู้แนะนำในแพคเกจ recommenderlab
[7] โมเดลที่ใช้กราฟ: สร้างโมเดลตามกลุ่ม อัลกอริธึมตรวจหาโครงสร้างชุมชนพยายามค้นหากราฟย่อยหนาแน่นในกราฟที่กำกับหรือไม่ระบุทิศทาง เช่นฟังก์ชัน R cluster_walktrap ในแพ็คเกจ igraph
[8] แผนที่คุณลักษณะการจัดระเบียบตนเองของ Kohonen: สร้างแบบจำลองโดยยึดตามโครงข่ายประสาทเทียม ฟังก์ชั่น R บางอย่างในแพ็คเกจ kohonen
[9] การจัดกลุ่มเชิงสเปกตรัม: สร้างแบบจำลองโดยยึดตามโครงสร้างคลัสเตอร์แบบไม่นูนหรือเมื่อการวัดของศูนย์กลางไม่ใช่คำอธิบายที่เหมาะสมของคลัสเตอร์แบบสมบูรณ์ ฟังก์ชั่น R specc ในแพคเกจ kernlab
[10] การจัดกลุ่มย่อยของสเปซ: สำหรับข้อมูลมิติสูงฟังก์ชั่นระยะทางอาจเป็นปัญหาได้ โมเดลคลัสเตอร์รวมถึงแอ็ตทริบิวต์ที่เกี่ยวข้องสำหรับคลัสเตอร์ เช่นฟังก์ชั่น hddc ในแพ็คเกจ R HDclassif
[11] การจัดกลุ่มลำดับ: ลำดับกลุ่มที่เกี่ยวข้อง แพ็คเกจ rBlast
[12] การเผยแพร่ความสัมพันธ์: สร้างแบบจำลองโดยยึดตามข้อความที่ส่งผ่านระหว่างจุดข้อมูล ไม่จำเป็นต้องกำหนดจำนวนของคลัสเตอร์เพื่อพิจารณาก่อนรันอัลกอริทึม มันจะดีกว่าสำหรับการมองเห็นคอมพิวเตอร์และงานด้านชีววิทยาเชิงคำนวณเช่นการจัดกลุ่มรูปภาพใบหน้ามนุษย์และการระบุการถอดเสียงที่มีการควบคุมมากกว่า k- mean , Ref Rpackage APCluster
[13] การจัดกลุ่มสตรีม: สร้างแบบจำลองโดยอ้างอิงจากข้อมูลที่มาถึงอย่างต่อเนื่องเช่นบันทึกทางโทรศัพท์ธุรกรรมทางการเงินเป็นต้นเช่นแพ็คเกจ R BIRCH [ https://cran.r-project.org/src/contrib/Archive/birch/]
[14] การจัดกลุ่มเอกสาร (หรือการจัดกลุ่มข้อความ): สร้างแบบจำลองตาม SVD มันได้ใช้ในการแยกหัวข้อ เช่น Carrot [ http://search.carrot2.org]เป็นเอ็นจิ้นการค้นหาแบบโอเพ่นซอร์สซึ่งจะทำการจัดกลุ่มเอกสารตามหมวดหมู่เฉพาะเรื่อง
[15] โมเดลคลาสแฝง: มันเกี่ยวข้องกับชุดตัวแปรหลายตัวแปรที่สังเกตได้กับชุดของตัวแปรแฝง อาจใช้ LCA ในการกรองร่วมกัน ฟังก์ชัน R ผู้แนะนำในแพ็คเกจ recommenderlab มีฟังก์ชันการกรองร่วมกัน
[16] Biclustering: ใช้เพื่อจัดกลุ่มแถวและคอลัมน์ของข้อมูลสองโหมดพร้อมกัน เช่นฟังก์ชัน R ปั่นป่วนในแพคเกจ biclust
[17] การจัดกลุ่มแบบนุ่มนวล (การจัดกลุ่มแบบคลุมเครือ): แต่ละวัตถุเป็นของแต่ละกลุ่มในระดับหนึ่ง เช่นฟังก์ชัน R Fclust ในแพ็คเกจ fclust