การวัดคุณภาพแบบคลัสเตอร์


17

ฉันมีอัลกอริทึมการจัดกลุ่ม (ไม่ใช่ k-mean) พร้อมพารามิเตอร์อินพุต (จำนวนคลัสเตอร์) หลังจากดำเนินการจัดกลุ่มแล้วฉันต้องการรับการวัดเชิงคุณภาพของการจัดกลุ่มนี้ อัลกอริทึมการจัดกลุ่มมีคุณสมบัติที่สำคัญอย่างหนึ่ง สำหรับถ้าฉันป้อนจุดข้อมูลโดยไม่มีความแตกต่างอย่างมีนัยสำคัญระหว่างพวกเขาไปยังอัลกอริทึมนี้ดังนั้นฉันจะได้รับหนึ่งคลัสเตอร์ที่มีจุดข้อมูลและหนึ่งคลัสเตอร์ที่มีจุดข้อมูล เห็นได้ชัดว่านี่ไม่ใช่สิ่งที่ฉันต้องการ ดังนั้นฉันต้องการคำนวณการวัดคุณภาพนี้เพื่อประเมินความสมเหตุสมผลของการจัดกลุ่มนี้ นึกคิดฉันจะสามารถที่จะเปรียบเทียบมาตรการนี้ที่แตกต่างกันkดังนั้นฉันจะเรียกใช้การจัดกลุ่มในช่วงของkk=2NN11kkและเลือกรายการที่มีคุณภาพดีที่สุด ฉันจะคำนวณการวัดคุณภาพดังกล่าวได้อย่างไร

UPDATE:

นี่คือตัวอย่างเมื่อเป็นการจัดกลุ่มที่ไม่ดี สมมุติว่ามี 3 จุดบนระนาบที่สร้างสามเหลี่ยมด้านเท่า การแบ่งจุดเหล่านี้ออกเป็น 2 กลุ่มนั้นแย่กว่าการแบ่งออกเป็น 1 หรือ 3 กลุ่ม(N1,1)


สำหรับฉันมันไม่ชัดเจน ฉันเห็นกลุ่มที่ในความเป็นจริงมีขนาดแตกต่างกันตลอดเวลา ...
Anony-Mousse - Reinstate Monica

คำตอบ:


12

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

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


3
+1 สำหรับการเน้นความแตกต่างระหว่างการทำคลัสเตอร์แบบจำลองเทียบกับการทำคลัสเตอร์แบบไม่สำรองระยะทางแบบหมดจด
chl

1
ฉันคิดว่าวัตถุประสงค์ทั้งสองมีการใช้งานไม่ดีในการตั้งค่าที่แตกต่างกัน มีหลายบริบทที่คุณต้องทำเพื่อดูข้อมูลในมือ (เช่นคำจำกัดความที่เกินจริง) เท่านั้น นอกจากนี้ก่อนที่จะสามารถไปยังกระบวนการสร้างข้อมูลที่แตกต่างกันคุณต้องสำรวจซึ่งทำได้ดีที่สุดกับคำจำกัดความที่สองของคุณ ...
Etienne Low-Décarie

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

4

เนื่องจากการจัดกลุ่มไม่ได้รับการสำรองจึงเป็นการยากที่จะทราบว่าการจัดกลุ่มที่ดีที่สุดคืออะไร นี่คือหัวข้อการวิจัย Gary King นักวิทยาศาสตร์เชิงปริมาณที่รู้จักกันดีมีบทความเกี่ยวกับหัวข้อนี้


+! ได้; @ Max สิ่งที่คุณทำสิ่งนี้การจัดกลุ่ม "ชัดเจน" จะเป็นอย่างไร

@mbq: อันที่จริงฉันไม่รู้ว่าอะไรจะเป็นการจัดกลุ่มที่ดีสำหรับสิ่งนี้ โดย "ชัดเจน" ฉันพูดว่า (N-1, 1) ไม่ใช่การรวมกลุ่มที่ดีสำหรับเรื่องนี้ การจัดกลุ่มที่ดีกว่าจะเป็นเพียงหนึ่งคลัสเตอร์เท่านั้นดังนั้นจึงไม่มีการจัดกลุ่มเลย หรืออาจมีการรวมกลุ่มกับจำนวนกลุ่มมากกว่า 2
สูงสุด

ดูเหมือนว่าลิงก์ของคุณจะใช้งานไม่ได้
Etienne Low-Décarie

นี่คือลิงก์ที่อัปเดตไปยังบทความ: gking.harvard.edu/files/abs/discov-abs.shtml
Dolan Antenucci

4

ที่นี่คุณมีสองสามมาตรการ แต่มีอีกมากมาย:

SSE: ผลรวมของข้อผิดพลาดแบบสี่เหลี่ยมจากรายการของแต่ละคลัสเตอร์

Inter cluster distance: ผลรวมของระยะห่างระหว่างสี่เหลี่ยมแต่ละ centroid

ระยะคลัสเตอร์อินทราสำหรับแต่ละคลัสเตอร์: ผลรวมของระยะทางสแควร์จากรายการของแต่ละคลัสเตอร์ไปยังเซนทรอยด์

รัศมีสูงสุด: ระยะทางที่ใหญ่ที่สุดจากอินสแตนซ์ไปยังเซนทรอยด์ของคลัสเตอร์

รัศมีเฉลี่ย: ผลรวมของระยะทางที่ใหญ่ที่สุดจากอินสแตนซ์ไปยังกระจุกดาวของมันหารด้วยจำนวนของกลุ่ม


ฉันลองใช้อินทราในระยะห่างระหว่างคลัสเตอร์ แต่ไม่สามารถนึกถึงบางสิ่งที่มีประโยชน์สำหรับกลุ่มที่มีจุดเดียว นอกจากนี้ฉันไม่มีจุดศูนย์กลาง ฉันมีระยะห่างระหว่างจุดเท่านั้น
Max

ยิ่งระยะทางระหว่างคลัสเตอร์สูงขึ้นเท่าไหร่คุณก็สามารถวัดได้โดยการคำนวณระยะทางระหว่างจุดศูนย์กลางของกลุ่ม
มาเรียนาเริ่มนุ่มนวล

4

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

A. Banerjee และ RN Dave ตรวจสอบความถูกต้องของกลุ่มโดยใช้สถิติฮอปกินส์ การประชุมนานาชาติของ IEEE 2004 เกี่ยวกับระบบฟัซซี่ IEEE Cat No04CH37542, 1: p 149–153, 2547

มันขึ้นอยู่กับหลักการที่ว่าถ้าเป็นกลุ่มที่ถูกต้องแล้วจุดข้อมูลจะถูกกระจายอย่างสม่ำเสมอภายในคลัสเตอร์

แต่ก่อนหน้านั้นคุณควรตรวจสอบว่าข้อมูลของคุณมีแนวโน้มที่เรียกว่า Clustering หรือไม่เช่นถ้ามันคุ้มค่าในการจัดกลุ่มและจำนวนกลุ่มที่เหมาะสม:

S. Saitta, B. Raphael และ IFC Smith ดัชนีความถูกต้องที่ครอบคลุมสำหรับการทำคลัสเตอร์ Intell Data Anal., 12 (6): p. 529–548, 2008


3

ตามที่คนอื่น ๆ ชี้ให้เห็นมีหลายมาตรการในการจัดกลุ่ม "คุณภาพ"; โปรแกรมส่วนใหญ่ลด SSE ไม่มีตัวเลขใดสามารถบอกได้มากเกี่ยวกับเสียงรบกวนในข้อมูลหรือเสียงรบกวนในวิธีการหรือเสียงรบกวนต่ำที่สุด - จุดต่ำสุดใน Saskatchewan

ดังนั้นก่อนอื่นลองนึกภาพรับความรู้สึกการจัดกลุ่มที่กำหนดก่อนที่จะลดลงไปที่ "41" จากนั้นทำการวิ่ง 3 ครั้ง: คุณได้รับ SSE 41, 39, 43 หรือ 41, 28, 107 หรือไม่ ขนาดและรัศมีของคลัสเตอร์คืออะไร

(เพิ่ม :) ดูที่ภาพพล็อตเงาและคะแนนภาพเงาเช่นในหนังสือโดย Izenman, เทคนิคสถิติหลายตัวแปรสมัยใหม่ (2008, 731p, isbn 0387781889)


3

Silhouetteสามารถนำมาใช้ในการประเมินผลการจัดกลุ่ม มันทำได้โดยการเปรียบเทียบระยะทางเฉลี่ยภายในกลุ่มกับระยะทางเฉลี่ยกับจุดในกลุ่มที่ใกล้ที่สุด


2

วิธีการเช่นที่ใช้ในฟอเรสต์แบบสุ่มที่ไม่มีผู้ดูแลสามารถใช้งานได้

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

จากนั้นคุณสามารถสร้างชุดข้อมูลเทียมและแบบสุ่มใช้โมเดลการจัดกลุ่มของคุณและเปรียบเทียบตัวชี้วัดที่คุณเลือก (เช่น SSE) ในข้อมูลจริงและข้อมูลสุ่มของคุณ

การผสมในการสุ่มเปลี่ยนรูปการบีบอัดการบรรจุหีบห่อและ / หรือการทำ Jacknifing อาจทำให้คุณมีค่าการวัดคล้ายกับค่า P โดยการวัดจำนวนครั้งที่รูปแบบการจัดกลุ่มที่กำหนดให้คุณมีข้อมูลจริงน้อยกว่าข้อมูลแบบสุ่มของคุณ ตัวเลือก (เช่น SSE หรือการคาดคะเนความผิดพลาดนอกกระเป๋า)

การวัดของคุณจึงแตกต่างกัน (ความน่าจะเป็นความแตกต่างของขนาด ... ) ในการวัดใด ๆ ที่เลือกระหว่างข้อมูลจริงและสุ่ม

การทำเช่นนี้ซ้ำกับหลาย ๆ รุ่นจะทำให้คุณสามารถแยกแยะความแตกต่างระหว่างรุ่นได้

สิ่งนี้สามารถนำมาใช้ในอาร์

Randomforest มีให้ใน R


+1, ฉันชอบความคิดนี้ อย่างไรก็ตามการสุ่ม / การอนุญาตข้อมูลจะเป็นการทำลายตัวแปร b / t ความสัมพันธ์ซึ่งจะไม่ทำงานหากมีการรวมกลุ่มกับตัวแปรเดี่ยว w / ia
gung - Reinstate Monica

1

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

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