خوشه‌بندی دیتاست گل زنبق با الگوریتم خوشه بندی کا-مینز در متلب

خوشه‌بندی داده با استفاده از الگوریتم خوشه‌بندی کا-مینز، و سپس کشیدن مناطق خوشه بندی

دریافت مجموعه داده فیشر ایریس. با استفاده از طول و عرض گلبرگ‌ها به عنوان پیش‌بینی کننده‌ها

load fisheriris 
X = meas(:,3:4); figure; plot(X(:,1),X(:,2),'k*','MarkerSize',5); 
title 'Fisher''s Iris Data';
 xlabel 'Petal Lengths (cm)'; 
ylabel 'Petal Widths (cm)';

خوشه بزرگتر به نظر میٰ‌رسد به یک منطقه با واریانس کمتر و منطقه با واریانس بالاتر تقسیم می‌شود. این ممکن است نشان دهد که خوشه بزرگتر دو خوشه همپوشان است.

خوشه‌بندی داده به سه قسمت

rng(1); % For reproducibility 
[idx,C] = kmeans(X,3);

کا-مینز از الگوریتم کا-مینز پلاس پلاس برای مقداردهی مراکز و فاصله اقلیدسی به طور پیشفرض استفاده می‌کند. این یک تمرین خوب برای جستجو بهینه محلی با تنظیم reproducibility  برای جفت مقدار نام آرگومنتت انجام می‌شود.

idx برداری است که شاخص‌های خوشه هماهنگ با مشاهدات در ایکس را پیش‌بینی می‌کند. سی یک ماتریس سه سطری دو ستونه حاوی محل‌های مراکز پایانی است.

x1 = min(X(:,1)):0.01:max(X(:,1));
x2 = min(X(:,2)):0.01:max(X(:,2));
[x1G,x2G] = meshgrid(x1,x2);
XGrid = [x1G(:),x2G(:)]; % Defines a fine grid on the plot

idx2Region = kmeans(XGrid,3,'MaxIter',1,'Start',C);
    % Assigns each node in the grid to the closest centroid

هشدار: شکست همگرایی در تکرار اول

کا-مینز یک اظهار هشدار نشان می‌دهد که این الگوریتم کاملا پوششی نیست، یعنی نباید انتظار داشته باشید که با تکرار اول به نتیجه دلخواهتان برسید..

کشیدن مناطق خوشه

figure;
gscatter(XGrid(:,1),XGrid(:,2),idx2Region,...
    [۰,۰.۷۵,۰.۷۵;۰.۷۵,۰,۰.۷۵;۰.۷۵,۰.۷۵,۰],'..');
hold on;
plot(X(:,1),X(:,2),'k*','MarkerSize',5);
title 'Fisher''s Iris Data';
xlabel 'Petal Lengths (cm)';
ylabel 'Petal Widths (cm)';
legend('Region 1','Region 2','Region 3','Data','Location','SouthEast');
hold off;

 

دیدگاه‌تان را بنویسید: