को देखते हुए वर्गों betweenss
की राशि और प्रत्येक क्लस्टर withinss
के लिए वर्गों का योग के भीतर के वेक्टर के बीच सूत्रों ये हैं:
totss = tot.withinss + betweenss
tot.withinss = sum(withinss)
उदाहरण के लिए, अगर वहाँ केवल एक क्लस्टर थे तो betweenss
0
होगा, withinss
और totss = tot.withinss = withinss
में केवल एक घटक होगा।
आगे स्पष्टीकरण के लिए, हम क्लस्टर असाइनमेंट को देखते हुए इन विभिन्न मात्राओं की गणना कर सकते हैं और इससे उनके अर्थों को स्पष्ट करने में मदद मिल सकती है। और क्लस्टर असाइनमेंट cl$cluster
पर help(kmeans)
में उदाहरण से डेटा पर विचार करें। वर्गों समारोह की राशि को परिभाषित करें इस प्रकार है - यह है कि स्तंभ से एक्स के प्रत्येक स्तंभ के मतलब को घटा और फिर शेष मैट्रिक्स के प्रत्येक तत्व के वर्गों का योग:
# or ss <- function(x) sum(apply(x, 2, function(x) x - mean(x))^2)
ss <- function(x) sum(scale(x, scale = FALSE)^2)
फिर हम निम्नलिखित है। ध्यान दें कि cl$centers[cl$cluster, ]
फिट मान हैं, यानी यह एक पंक्ति प्रति बिंदु के साथ एक मैट्रिक्स है जैसे कि ith पंक्ति क्लस्टर का केंद्र है जो ith बिंदु से संबंधित है।
example(kmeans) # create x and cl
betweenss <- ss(cl$centers[cl$cluster,]) # or ss(fitted(cl))
withinss <- sapply(split(as.data.frame(x), cl$cluster), ss)
tot.withinss <- sum(withinss) # or resid <- x - fitted(cl); ss(resid)
totss <- ss(x) # or tot.withinss + betweenss
cat("totss:", totss, "tot.withinss:", tot.withinss,
"betweenss:", betweenss, "\n")
# compare above to:
str(cl)
संपादित करें:
के बाद से इस सवाल का जवाब था, आर जोड़ा गया है अतिरिक्त समान kmeans
उदाहरण (example(kmeans)
) और एक नया fitted.kmeans
विधि और अब हम कैसे फिट विधि अनुगामी टिप्पणी में ऊपर में फिट बैठता है दिखाने कोड लाइनें
स्रोत
2011-12-26 17:31:15
अहम। तो * tot.withinss * क्लस्टर विविधता के भीतर कुल होना चाहिए और * टट्टू * समग्र डेटा भिन्नता होना चाहिए। क्लस्टर भिन्नता के भीतर कुल + क्लस्टर केंद्रों के एसएस। सही? – Marius
मैंने कुछ और स्पष्टीकरण जोड़ा है। –
तो, यदि कोई क्लस्टर विविधता के भीतर कुल पता लगाना चाहता है, तो * tot.whitinss * एक है। धन्यवाद। – Marius