【问题标题】:k-means clustering code in MATLAB [duplicate]MATLAB中的k-means聚类代码[重复]
【发布时间】:2016-02-17 09:25:17
【问题描述】:

我们如何在 MATLAB 中的 k-means 聚类中找出每个聚类的质心。数据本质上是非常异构的。所以,我想编写一些 MATLAB 代码来绘制每个集群的质心并给出每个质心的坐标。 我使用以下代码进行聚类-

figure
plot(X(:,1),X(:,2),'.')
opts=statset('Display','final')
[idx,c]=kmeans(x,4,'Distance','cityblock,...
        'Replicates',5,'Options',opts)
figure
plot(X(idx==1,1),X(idx==1,2),'r.','MarkerSize',12)
hold on
plot(X(idx==2,1),X(idx==2,2),'b.','MarkerSize',12)
hold on
plot(X(idx==3,1),X(idx==3,2),'g.','MarkerSize',12)
hold on
plot(X(idx==4,1),X(idx==4,2),'y.','MarkerSize',12)
hold on
plot(C(:,1),C(:,2),'Kx',...
     'MarkerSize',15,'LineWidth',3)
legend('Cluster 1','Cluster 2','Cluster 3','Cluster 4','Centroids',...
   'Location','NW')
title 'Cluster Assignments and centroids '
hold off

【问题讨论】:

  • 你的代码有什么问题?您需要什么样的帮助?
  • 请不要一次又一次地问同样的问题!
  • 请更新您的原始问题,而不是创建新问题。改进它,您可能会收到答案。 How to Ask

标签: matlab cluster-analysis


【解决方案1】:

我稍微修改了你的代码:

rng default; % For reproducibility
X = [randn(100,2)*0.75+ones(100,2);
    randn(100,2)*0.5-ones(100,2)];

opts=statset('Display','final');
[idx,C]=kmeans(X,4,'Distance','cityblock','Replicates',5,'Options',opts);

plot(X(idx==1,1),X(idx==1,2),'r.','MarkerSize',12);
hold on;
plot(X(idx==2,1),X(idx==2,2),'b.','MarkerSize',12);
plot(X(idx==3,1),X(idx==3,2),'g.','MarkerSize',12);
plot(X(idx==4,1),X(idx==4,2),'y.','MarkerSize',12);

plot(C(:,1),C(:,2),'Kx','MarkerSize',15,'LineWidth',3);
legend('Cluster 1','Cluster 2','Cluster 3','Cluster 4','Centroids', 'Location','NW');
title('Cluster Assignments and centroids');
hold off;

for i=1:size(C, 1)
    display(['Centroid ', num2str(i), ': X1 = ', num2str(C(i, 1)), '; X2 = ', num2str(C(i, 2))]);
end

剧情如下:

这是质心:

Centroid 1: X1 = 1.3661; X2 = 1.7232
Centroid 2: X1 = -1.015; X2 = -1.053
Centroid 3: X1 = 1.6565; X2 = 0.36376
Centroid 4: X1 = 0.35134; X2 = 0.85358

【讨论】:

    猜你喜欢
    • 2013-02-14
    • 2015-03-06
    • 2015-03-07
    • 2016-05-23
    • 2015-04-11
    • 2011-08-13
    • 2013-08-08
    • 2018-01-14
    • 2013-01-11
    相关资源
    最近更新 更多