วิธีการสร้างพล็อตสวยของผลลัพธ์ของการวิเคราะห์กลุ่ม k-mean?


77

ฉันใช้ R เพื่อทำคลัสเตอร์ K-mean ฉันใช้ตัวแปร 14 ตัวในการรันค่า K

  • เป็นวิธีที่ดีในการพล็อตผลลัพธ์ของ K-mean คืออะไร?
  • มีการใช้งานที่มีอยู่หรือไม่
  • การมี 14 ตัวแปรทำให้การวางแผนผลลัพธ์ซับซ้อนหรือไม่?

ฉันพบสิ่งที่เรียกว่า GGcluster ซึ่งดูดี แต่ก็ยังอยู่ในระหว่างการพัฒนา ฉันยังอ่านอะไรบางอย่างเกี่ยวกับการทำแผนที่แบบแซมมอน แต่ไม่เข้าใจดีนัก นี่จะเป็นตัวเลือกที่ดีหรือไม่?


1
หากด้วยเหตุผลบางอย่างที่คุณกังวลเกี่ยวกับวิธีแก้ปัญหาในปัจจุบันสำหรับปัญหาเชิงปฏิบัตินี้โปรดพิจารณาเพิ่มความคิดเห็นในคำตอบที่มีอยู่หรืออัปเดตโพสต์ของคุณด้วยบริบทเพิ่มเติม การทำงานกับ 40,000 รายเป็นข้อมูลสำคัญที่นี่
chl

เช่นกับชั้นเรียน 11 และ 10 ตัวแปรก็คือในหน้า 118 ขององค์ประกอบของการเรียนรู้ทางสถิติ ; ไม่ให้ข้อมูลมากนัก
เดนิส

ไลบรารี่ (ภาพเคลื่อนไหว) kmeans.ani (yourData, Centres = 2)
Kartheek Palepu

คำตอบ:


27

ฉันดันพล็อตภาพเงาสำหรับเรื่องนี้เพราะมันไม่น่าเป็นไปได้ที่คุณจะได้รับข้อมูลที่สามารถดำเนินการได้มากจากการจับคู่เมื่อจำนวนมิติคือ 14

library(cluster)
library(HSAUR)
data(pottery)
km    <- kmeans(pottery,3)
dissE <- daisy(pottery) 
dE2   <- dissE^2
sk2   <- silhouette(km$cl, dE2)
plot(sk2)

วิธีการนี้ได้รับการอ้างถึงอย่างสูงและเป็นที่รู้จักกันดี (ดูคำอธิบายที่นี่ )

Rousseeuw, PJ (1987) เงา: การช่วยเหลือกราฟิกเพื่อการตีความและการตรวจสอบของการวิเคราะห์กลุ่ม เจคอมพิวเตอร์ Appl คณิตศาสตร์. , 20 , 53-65


ฉันชอบสิ่งนี้. ฉันจะดูต่อไป ขอขอบคุณ.
JEquihua

@ user603: คุณสนใจที่จะให้ส่วนสำคัญของคำอธิบายในคำตอบของคุณ? ลิงค์ที่คุณให้เมื่อ 2.5 ปีก่อนตายไปแล้ว บทความยังอยู่ที่นั่น แต่บทนำสั้น ๆ เกี่ยวกับเทคนิคนี้น่าจะดี
Steen

ลิงค์นี้ชี้ไปที่กระดาษ (เป็นจุดเชื่อมต่อที่ไม่มีรั้วรอบขอบชิดซึ่งมืดไปจริง ๆ )
user603

ฉันได้พล็อตแปลก ๆ ด้วย silhoette นี้ (ทางซ้ายคือ clusplot และทางขวาคือ silhoette plot นี่เป็นที่คาดหวังหรือไม่?) - i.imgur.com/ZIpPlhT.png
vipin8169

56

นี่คือตัวอย่างที่สามารถช่วยคุณได้:

library(cluster)
library(fpc)

data(iris)
dat <- iris[, -5] # without known classification 
# Kmeans clustre analysis
clus <- kmeans(dat, centers=3)
# Fig 01
plotcluster(dat, clus$cluster)

# More complex
clusplot(dat, clus$cluster, color=TRUE, shade=TRUE, 
         labels=2, lines=0)

# Fig 03
with(iris, pairs(dat, col=c(1:3)[clus$cluster])) 

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


1
ฉันไม่สามารถหาวิธี intepret dc1 และ dc2 ได้? คุณช่วยชี้ทางให้ฉันไปในทิศทางที่ถูกต้องได้ไหม?
UD1989

1
@Upasana Datta: ทั้งสององค์ประกอบเป็นผลมาจากการประยุกต์ใช้การวิเคราะห์องค์ประกอบหลัก (PCA, function princomp) กับข้อมูล พวกเขาคือการรวมกันเชิงเส้นของตัวแปรอินพุตซึ่งบัญชีสำหรับส่วนใหญ่ของความแปรปรวนของการสังเกต
rakensi

สวัสดีฉันสับสนเกี่ยวกับการคำนวณวงรีในพล็อตที่ 2 อย่างไร มันระบุได้อย่างไรว่า "องค์ประกอบทั้งสองนี้อธิบายความแปรปรวนของจุดได้ร้อยละ 95.81"
mynameisJEFF

@mynameisJEFF ฉันจะสมมติว่ามันใช้ตัวแปรแฝง / canonical, eignvalues ​​ฯลฯ คุณสามารถตรวจสอบเอกสารได้ แต่โดยทั่วไปแล้วจะมีความหมายอย่างไรเมื่อคุณเห็น biplot ที่มีป้ายกำกับเช่นนั้น มันบอกว่า 95.81% ของการเปลี่ยนแปลงในข้อมูลนั้นถูกอธิบายโดยตัวแปรแฝง 2 ตัวที่ข้อมูลถูกพล็อต อัปเดต - ฉันเพิ่ง Googled มันและแน่นอนมันใช้องค์ประกอบหลัก
Hack-R

ทำไมคุณถึงต้องการ "กับ" ที่นี่? มันจะผอมลงเพียงแค่ออกจากpairsฟังก์ชั่น
Anatolii Stepaniuk

4

วิธีที่ง่ายที่สุดที่ฉันรู้ที่จะทำคือ:

X <- data.frame(c1=c(0,1,2,4,5,4,6,7),c2=c(0,1,2,3,3,4,5,5))
km <- kmeans(X, center=2)
plot(X,col=km$cluster)
points(km$center,col=1:2,pch=8,cex=1)

ด้วยวิธีนี้คุณสามารถวาดจุดของแต่ละคลัสเตอร์โดยใช้สีและเซนทรอยด์ที่แตกต่างกัน

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