ম্যাক্লাস্টার ব্যবহার করে মিশ্রণ মডেল ব্যবহারের জন্য এখানে স্ক্রিপ্ট রয়েছে।
X <- c(rnorm(200, 10, 3), rnorm(200, 25,3), rnorm(200,35,3), rnorm(200,65, 3), rnorm(200,80,5))
Y <- c(rnorm(1000, 30, 2))
plot(X,Y, ylim = c(10, 60), pch = 19, col = "gray40")
require(mclust)
xyMclust <- Mclust(data.frame (X,Y))
plot(xyMclust)
এমন পরিস্থিতিতে যেখানে 5 টিরও কম ক্লাস্টার রয়েছে:
X1 <- c(rnorm(200, 10, 3), rnorm(200, 25,3), rnorm(200,35,3), rnorm(200,80,5))
Y1 <- c(rnorm(800, 30, 2))
xyMclust <- Mclust(data.frame (X1,Y1))
plot(xyMclust)
xyMclust4 <- Mclust(data.frame (X1,Y1), G=3)
plot(xyMclust4)
এই ক্ষেত্রে আমরা 3 টি ক্লাস্টার ফিট করছি। যদি আমরা 5 টি ক্লাস্টার ফিট করি?
xyMclust4 <- Mclust(data.frame (X1,Y1), G=5)
plot(xyMclust4)
এটি 5 টি ক্লাস্টার তৈরি করতে বাধ্য করতে পারে।
এছাড়াও কিছু এলোমেলো শব্দের প্রবর্তন করা যাক:
X2 <- c(rnorm(200, 10, 3), rnorm(200, 25,3), rnorm(200,35,3), rnorm(200,80,5), runif(50,1,100 ))
Y2 <- c(rnorm(850, 30, 2))
xyMclust1 <- Mclust(data.frame (X2,Y2))
plot(xyMclust1)
mclust
শব্দের সাথে মডেল-ভিত্তিক ক্লাস্টারিংকে অনুমতি দেয় , যাহা কোনও ক্লাস্টারের অন্তর্গত নয় এমন বাহ্যিক পর্যবেক্ষণ। mclust
ডেটাতে ফিটকে নিয়মিত করতে একটি পূর্ব বিতরণ নির্দিষ্ট করার অনুমতি দেয়। priorControl
পূর্ববর্তী এবং এর পরামিতিগুলি নির্দিষ্ট করার জন্য একটি ফাংশন এমক্লাস্টে সরবরাহ করা হয়। যখন এটির ডিফল্ট হিসাবে ডাকা হয়, তখন এটি অন্য একটি ফাংশন ডেকে আনে defaultPrior
যা বিকল্প প্রিয়ার নির্দিষ্ট করার জন্য একটি টেম্পলেট হিসাবে পরিবেশন করতে পারে। মডেলিংয়ে গোলমাল অন্তর্ভুক্ত করার জন্য, গোলমাল পর্যবেক্ষণগুলির প্রাথমিক অনুমানের মধ্যে Mclust
বা আন্ডারলাইজেশন আর্গুমেন্টের শব্দদণ্ডের মাধ্যমে সরবরাহ করা আবশ্যক mclustBIC
।
অন্য বিকল্প হ'ল mixtools
প্যাকেজ ব্যবহার করা যা আপনাকে প্রতিটি উপাদানগুলির জন্য গড় এবং সিগমা নির্দিষ্ট করতে দেয়।
X2 <- c(rnorm(200, 10, 3), rnorm(200, 25,3), rnorm(200,35,3),
rnorm(200,80,5), rpois(50,30))
Y2 <- c(rnorm(800, 30, 2), rpois(50,30))
df <- cbind (X2, Y2)
require(mixtools)
out <- mvnormalmixEM(df, lambda = NULL, mu = NULL, sigma = NULL,
k = 5,arbmean = TRUE, arbvar = TRUE, epsilon = 1e-08, maxit = 10000, verb = FALSE)
plot(out, density = TRUE, alpha = c(0.01, 0.05, 0.10, 0.12, 0.15), marginal = TRUE)