เกณฑ์การหยุดสำหรับการจัดกลุ่มแบบลำดับชั้นแบบ agglomerative ในการฝึกใช้คืออะไร?


32

ฉันได้พบวรรณกรรมมากมายที่เสนอเกณฑ์ทุกประเภท (เช่นGlenn et al. 1985 (pdf) และJung et al. 2002 (pdf)) อย่างไรก็ตามสิ่งเหล่านี้ส่วนใหญ่ไม่ง่ายที่จะใช้ (อย่างน้อยจากมุมมองของฉัน) ฉันกำลังใช้scipy.cluster.hierarchyเพื่อรับลำดับชั้นของคลัสเตอร์และตอนนี้ฉันกำลังพยายามตัดสินใจว่าจะสร้างกลุ่มแบบแฟลตจากนั้น เป้าหมายของฉันคือการค้นพบรูปแบบทั่วไปในการสังเกตของฉันดังนั้นฉันจึงไม่มีการอ้างอิงเพื่อเปรียบเทียบการจัดกลุ่มที่ได้รับ ใครสามารถแนะนำวิธีแก้ปัญหาอย่างจริงจัง?


บนหน้าเว็บของฉันมีคอลเลกชันซิป "เกณฑ์การรวมกลุ่ม" พร้อมคำอธิบาย (และฟังก์ชัน SPSS) ของจำนวนเกณฑ์การจัดกลุ่มภายในยอดนิยม (กฎการหยุด) สำหรับข้อมูลของคุณ
ttnphns

คำตอบ:


18

รายการวิกิพีเดียต่อไปนี้เป็นงานที่ค่อนข้างดีในการอธิบายวิธีที่ได้รับความนิยมและค่อนข้างง่าย:

วิธีข้อศอกแก้ปัญหาที่อธิบายไว้ที่นั่นน่าจะเป็นที่นิยมมากที่สุดเนื่องจากคำอธิบายง่ายๆของมัน (จำนวนแปรปรวนอธิบายจากจำนวนกลุ่ม) ควบคู่ไปกับการตรวจสอบภาพ ข้อมูลวิธีการตามทฤษฎีไม่ยากที่จะดำเนินการอย่างใดอย่างหนึ่งและหน้ามี pseudocode บางอย่างที่คุณสามารถใช้ในการเริ่มต้น หลังมีความเป็นไปได้ที่จะถูกลงโทษตามความซับซ้อนของแบบจำลองเช่นเดียวกับในเกณฑ์ข้อมูลที่รู้จักกันดีเช่น AIC, BIC เป็นต้น


ขอบคุณ! บทความวิกิพีเดียเกี่ยวกับการจัดกลุ่มแบบลำดับชั้นไม่ได้เชื่อมโยงกับสิ่งนั้น
Björn Pollex

2
โอ้ใช่. แก้ไขตอนนี้ภายใต้ลิงก์ "see also" ขอบคุณที่ชี้ให้เห็น!
ARS

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

17

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

ตอนนี้เกี่ยวกับเกณฑ์ปกติทางสถิติที่ใช้ในการตัดสินใจเมื่อหยุดเพื่อรวมข้อมูลเป็นแฉกโดย @ars มากที่สุดคือเกณฑ์ภาพแนะนำรวมถึงการวิเคราะห์ของ dendrogram หรือการตรวจสอบของโปรไฟล์กลุ่มที่เรียกว่ายังเงาแปลง (Rousseeuw, 1987) . มีการเสนอเกณฑ์เชิงตัวเลขหลายตัวที่รู้จักกันว่าดัชนีความถูกต้องเช่นดัชนีความถูกต้องของดันน์ดัชนีความถูกต้องของเดวีส์ - โบลดินดัชนี C ดัชนีแกมม่าของฮิวเบิร์ต การจัดกลุ่มตามลำดับชั้นมักจะทำงานร่วมกันกับ k- หมายถึง (ในความเป็นจริงหลายกรณีของ k- หมายถึงเพราะมันเป็นอัลกอริทึมสุ่ม) เพื่อที่จะเพิ่มการสนับสนุนการแก้ปัญหาการจัดกลุ่ม ฉันไม่รู้ว่าสิ่งทั้งหมดนี้มีอยู่ใน Python หรือไม่ แต่มีวิธีการมากมายใน R (ดูมุมมองงานของคลัสเตอร์ที่อ้างถึงแล้วโดย @mbq สำหรับคำถามที่เกี่ยวข้องเครื่องมือใดบ้างที่สามารถใช้สำหรับการใช้อัลกอริทึมการจัดกลุ่มบน MovieLens ) วิธีอื่น ๆ รวมถึงการจัดกลุ่มแบบคลุมเครือและการจัดกลุ่มตามแบบจำลอง (หรือเรียกอีกอย่างว่าการวิเคราะห์ลักษณะแฝงในชุมชนไซโครเมท) หากคุณต้องการวิธีที่มีประสิทธิภาพมากขึ้นในการเลือกจำนวนกลุ่มในข้อมูลของคุณ

BTW ฉันเพิ่งมาข้ามนี้หน้าเว็บSciPy คลัสเตอร์ซึ่งเป็นส่วนขยายไปยัง SciPy สำหรับการสร้าง, การแสดงผลและการวิเคราะห์กลุ่มตามลำดับชั้น อาจจะรวมถึงฟังก์ชั่นอื่น ๆ ? ฉันเคยได้ยินPyChemซึ่งเสนอสิ่งที่ดีงามสำหรับการวิเคราะห์หลายตัวแปร

ข้อมูลอ้างอิงต่อไปนี้อาจเป็นประโยชน์:

Steinley, D. , & Brusco, MJ (2008) การเลือกตัวแปรในการวิเคราะห์กลุ่ม: การเปรียบเทียบเชิงประจักษ์ของแปดขั้นตอน Psychometrika , 73 , 125-144


ขอบคุณสำหรับคำตอบที่ยอดเยี่ยมนี้! อันที่จริงโมดูลการจัดกลุ่มแบบลำดับชั้นที่คุณแสดงนั้นเป็นส่วนหนึ่งของ scipy แล้ว นอกจากนี้ scipy ยังมีการนำ k-mean มาใช้ด้วยดังนั้นฉันจึงสามารถใช้มันได้อย่างง่ายดาย
Björn Pollex

ตกลงฉันไม่ได้ดูรายละเอียดในสิ่งนี้ สำหรับ k-mean คุณต้องใส่ใจกับความจริงที่ว่าเราต้องการลูปภายนอกสองวงเพื่อตรวจสอบวิธีการแก้ปัญหาของคลัสเตอร์ (อันที่คุณเปลี่ยน # ของกลุ่มและอีกอันสำหรับการเปลี่ยนเมล็ด - วัตถุประสงค์เพื่อลด RSS); จากนั้นคุณสามารถใช้สถิติ Gap เพื่อเลือก # ที่เหมาะสมที่สุดของกลุ่ม
chl

5

ฉันเพิ่งจะกลายเป็นกองทุนของวิธีการสร้างภาพคลัสเตอร์ (ใช้งานใน R)

ฉันใช้มันเป็นวิธีพิเศษในการประเมินจำนวนกลุ่ม "ดี" การขยายไปยังวิธีการจัดกลุ่มอื่น ๆ นั้นไม่ยาก (จริง ๆ แล้วฉันทำได้แค่ไม่ได้เผยแพร่โค้ด)

ข้อความแสดงแทน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.