การตีความผลลัพธ์ของ k-หมายถึงการจัดกลุ่มใน R


12

ฉันใช้kmeansคำสั่งของ R ในการดำเนินการอัลกอริธึม k-mean บนชุดข้อมูล iris ของ Anderson ฉันมีคำถามเกี่ยวกับพารามิเตอร์บางอย่างที่ฉันได้รับ ผลลัพธ์ที่ได้คือ:

Cluster means:
  Sepal.Length Sepal.Width Petal.Length Petal.Width
1     5.006000    3.428000     1.462000    0.246000

ในกรณีนี้ "คลัสเตอร์หมายถึง" หมายถึงอะไร มันหมายถึงระยะทางของวัตถุทั้งหมดในกลุ่มหรือไม่

นอกจากนี้ในส่วนสุดท้ายฉันมี:

Within cluster sum of squares by cluster:
[1] 15.15100 39.82097 23.87947
 (between_SS / total_SS =  88.4 %)

ค่านั้น 88.4% สิ่งที่สามารถตีความได้?


4
โปรดอย่าข้ามโพสต์! stackoverflow.com/q/14524818/429846
Gavin Simpson

ไม่มันเป็นเพียงค่าเฉลี่ยของวัตถุทั้งหมดที่อยู่ในกลุ่มแรก (ทั้งหมด 3 อัน) คุณจะได้รับ 88.4% โดย iris.km $ betweenss / iris.km $ totss
dfhgfh

อ่านบทความใด ๆ เกี่ยวกับ k จากนั้นก็ควรจะชัดเจนว่าหมายถึงมี clsuter ... K-หมายถึงจะไม่ได้ระยะทางตาม มันลดความแปรปรวน aka: "ผลรวมของการเบี่ยงเบนกำลังสอง"
มี QUIT - Anony-Mousse

สมมติว่าค่าเฉลี่ยของคุณคือ 0 สนใจคณิตศาสตร์ ตรวจสอบว่าข้อสันนิษฐานข้างต้นสร้างความแตกต่าง ใช้ชีวิตอย่างมีความสุขหลังจากนั้น กำไร!
mia

คำตอบ:


23

total_SSถ้าคุณคำนวณผลรวมของระยะทางกำลังสองของจุดข้อมูลแต่ละตัวอย่างเฉลี่ยของโลกที่คุณจะได้รับ ถ้าแทนการคำนวณตัวอย่างเฉลี่ยของโลก (หรือ 'เซน') คุณคำนวณหนึ่งต่อกลุ่ม (ที่นี่มีสามกลุ่ม) between_SSแล้วคำนวณผลรวมของระยะทางที่ยกกำลังสองในสามคนนี้หมายถึงค่าเฉลี่ยทั่วโลกที่คุณจะได้รับ (เมื่อคำนวณสิ่งนี้คุณจะคูณระยะห่างกำลังสองของแต่ละค่าเฉลี่ยกับค่าเฉลี่ยทั่วโลกด้วยจำนวนจุดข้อมูลที่แสดงแทน)

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


14

K-หมายคือไม่ได้เป็นขั้นตอนวิธีการจัดกลุ่มตามระยะทาง

K-หมายถึงค้นหาผลรวมขั้นต่ำของการกำหนดกำลังสองนั่นคือลดความแปรปรวนที่ไม่ปกติ (= total_SS) โดยการกำหนดจุดให้กับศูนย์คลัสเตอร์

เพื่อให้การ k- หมายถึงการลู่เข้าคุณต้องมีสองเงื่อนไข:

  • จุดที่กำหนดใหม่ช่วยลดผลรวมของกำลังสอง
  • การคำนวณค่าเฉลี่ยใหม่จะช่วยลดผลรวมของกำลังสอง

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

i(xiμji)2j. ในทางคณิตศาสตร์การกำหนดโดยผลรวมของกำลังสองน้อยที่สุดเท่ากับการกำหนดโดยการปิดระยะทางแบบยุคลิดแบบสแควร์ซึ่ง (ถ้าคุณเสียรอบการทำงานของ CPU สำหรับการคำนวณsqrt) เท่ากับการกำหนดระยะทางแบบยุคลิดน้อยที่สุด ดังนั้นสัญชาตญาณของการกำหนดแต่ละจุดให้ใกล้เคียงที่สุดนั้นถูกต้อง แต่ไม่ใช่สิ่งที่ปัญหาการทำให้เกิดประโยชน์สูงสุดนั้น

between_SS อาจเป็นผลรวมน้ำหนักของกำลังสองระหว่างสองวิธีในการวัดว่าศูนย์คลัสเตอร์แยกกันได้ดีเพียงใด (หมายเหตุ: ศูนย์คลัสเตอร์จะไม่เปรียบเทียบคลัสเตอร์จริง - ในทางเทคนิคเซลล์ Voronoi สัมผัสกับเพื่อนบ้านของเซลล์ Voronoi)

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

ถ้าคุณต้องการเปลี่ยนแปลงระยะ-based ของ K-วิธีการดูที่K-medoids การบรรจบกันที่นี่สามารถมั่นใจได้โดยการเปลี่ยนค่าเฉลี่ยด้วย medoid:

  • แต่ละวัตถุถูกกำหนดให้กับคลัสเตอร์ที่ใกล้ที่สุด (โดยการวัดระยะทางโดยพลการ)
  • ศูนย์ของคลัสเตอร์นั้นได้รับการปรับปรุงให้เป็นวัตถุกลางที่สำคัญที่สุดของกลุ่มกล่าวคือระยะทางเฉลี่ยที่น้อยที่สุดสำหรับกลุ่มอื่น ๆ

ในแต่ละขั้นตอนผลรวมของระยะทางจะลดลง มีการรวมกันจำนวน จำกัด ดังนั้นอัลกอริทึมจะต้องยุติอย่างน้อยที่สุดในระดับท้องถิ่น


จุดที่น่าสนใจ +1
Cam.Davidson.Pilon

1
ทำไมจึงไม่มีการคำนวณระยะทางที่นี่ (ใน kmeans) ในการคำนวณความแปรปรวนจำเป็นต้องคำนวณระยะทางของแต่ละองค์ประกอบให้เท่ากับค่าเฉลี่ยดังนั้นจึงมีความเกี่ยวข้องกับการคำนวณระยะทางอย่างชัดเจนใช่ไหม
Funkwecker

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