怎样用matlab实现多维K-means聚类算法

网友 1

最佳答案

回答者:网友
function [ labels ] = kmeans_clustering( data, k )[num,~]=size(data);ind = randperm(num);ind = ind(1:k);centers = data(ind,:);d=inf;labels = nan(num,1);while d>0 labels0 = labels; dist = pdist2(data, centers); [~,labels] = min(dist,[],2); d= sum(labels0 ~= labels); for i=1:k centers(i,:)=mean(data(labels == i,:),1); endendend

我来回答