एक शोर डेटा क्लस्टरिंग या outliers के साथ


9

मेरे पास इस तरह दो चर का शोर डेटा है।

x1 <- rep(seq(0,1, 0.1), each = 3000)
set.seed(123)
y1 <- rep (c(0.2, 0.8, 0.3, 0.9, 0.65, 0.35,0.7,0.1,0.25, 0.3, 0.95), each = 3000)
set.seed(1234)
e1 = rnorm(length(x1), 0.07,0.07)
set.seed(1223)
e2 = rnorm(length(x1), 0.07,0.07)
set.seed(1334)
yn <- rnorm(20000, 0.5,0.9)
set.seed(2344)
xn <- rnorm(20000, 0.5,0.9)
y <- c(y1 + e1,yn) 
x <- c(x1 + e2, xn) 
plot(x,y,  xlim=c(0,1.2), ylim = c(0,1.2), pch = ".", col = "gray40") 

मैं नेत्रहीन रूप से देख सकता हूं कि निकट दृष्टि में संभावित 10 क्लस्टर हैं।

यहाँ छवि विवरण दर्ज करें

हालाँकि पूरे डेटा में बहुत अधिक बिंदु हैं:

plot(x,y,   pch = ".", col = "gray40") 

यहाँ छवि विवरण दर्ज करें

मैं 10 क्लस्टर बनाना चाहूंगा। मैंने K- साधन क्लस्टर विश्लेषण की कोशिश की।

xm1 <- cbind(x,y)
cl1 <- kmeans(xm1, 10)
colrs <- c("red", "green", "blue1", "pink", "green4","tan", 
 "gray40", "yellow", "black", "purple") 
plot(xm1, col = colrs[cl1$cluster], pch = ".", xlim=c(0,1.2), ylim = c(0,1.2))

यहाँ छवि विवरण दर्ज करें

plot(xm1, col = colrs[cl1$cluster], pch = ".")

यहाँ छवि विवरण दर्ज करें

वैसे भी (कर्नेल k- साधन, निकटतम पड़ोसी हो सकते हैं) जो इस प्रकार के डेटा के लिए अधिक न्याय कर सकते हैं। यदि हां, तो मैं यह कैसे कर सकता हूं?


1
आपके पास अभी तक क्या गलत है? आपके पास ( k- साधन क्लस्टर विश्लेषण ) अस्वीकार्य क्यों है?
स्टीव एस

Dbscan या प्रकाशिकी एल्गोरिदम पर एक नजर डालें ( en.wikibooks.org/wiki/Data_Mining_Al एल्गोरिदम_ In_R/Clustering/… ) देखें
Giorgio Spedicato

जवाबों:


7

जैसा कि आपका डेटा गाऊसी मिश्रण से बना लगता है, गौसियन मिक्सचर मॉडलिंग (उर्फ: ईएम क्लस्टर) की कोशिश करें। इस प्रकार के डेटा पर k- साधनों से बेहतर परिणाम प्राप्त करना चाहिए।

यदि आपका "शोर" समान रूप से वितरित है, तो आप अपने मिश्रण मॉडल में एक समान वितरण भी जोड़ सकते हैं।

यदि आपका डेटा बहुत कम स्वच्छ है, तो DBSCAN, MeanShift, OPTICS, HDBSCAN * का उपयोग करने पर विचार करें ... - घनत्व आधारित क्लस्टर इस डेटा के लिए उपयुक्त प्रतीत होता है। DBSCAN भी शोर के लिए बहुत सहिष्णु है ("एन" शोर के लिए है)।


4

मैं आपको इस लेख को देखने की सलाह देता हूं । लेखक मजबूत विधि का प्रस्ताव करते हैं जहां आउटलेयर को हटा दिया जाता है और शेष डेटा को क्लस्टर किया जाता है। यही कारण है कि उन्होंने विधि को "ट्रिमिंग" कहा। वहाँ भी एक अनुसंधान पैकेज था tclust लेकिन के अनुसार इस , यह क्रैन से हटा दिया गया था। वैसे भी, लेख पढ़ने लायक है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.