⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 kmeans.m

📁 patten regnization source从1-14章能运行
💻 M
字号:
function [x,esq,j] = kmeans(d,k,x0)
%KMEANS K-means 舅绊府硫阑 捞侩茄 氦磐 剧磊拳 [X,ESQ,J]=(D,K,X0)%涝仿 牢磊:
% D 单捞磐 氦磐(one per row)
% K 吝缴 肮荐
% X0 檬扁 吝缴蔼(可记)
%
%免仿 牢磊:
% X 免仿 凯 氦磐(K 俺狼 凯)
% ESQ 乞闭 磊铰 坷瞒(mean square error)
% J 阿 单捞磐 氦磐啊 绢蠢 吝缴俊 加窍绰啊狼 祸牢 
%
%   VOICEBOX 傍俺家胶 荐沥
%   VOICEBOX home page: http://www.ee.ic.ac.uk/hp/staff/dmb/voicebox/voicebox.html
%
[n,p] = size(d);
if nargin<3
   x = d(ceil(rand(1,k)*n),:);
else
   x=x0;
end
y = x+1;
iter = 0;
while any(x(:) ~= y(:))
   iter = iter + 1;
   z = disteusq(d,x,'x');
   [m,j] = min(z,[],2);
   y = x;
   for i=1:k
      s = j==i;
      if any(s)
         x(i,:) = mean(d(s,:),1);
      else
         q=find(m~=0);
         if isempty(q) break; end
         r=q(ceil(rand*length(q)));
         x(i,:) = d(r,:);
         m(r)=0;
         y=x+1;
      end
   end
   % 唱传 单捞磐 焊咯林扁
   color = 'rgbkcmy';

   for i = 1:k
      r = (j == i);
      z = d(r,:);
      scatter(z(:,1),z(:,2),10,color(i));
   end
   scatter(x(:,1),x(:,2),'b','filled'); % 盎脚等 努矾胶磐 吝缴
   title([' K-means : 馆汗荐:',num2str(iter)]);
   drawnow;
end
esq=mean(m,1);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -