kmeans.m

来自「模式识别工具箱,本人毕业论文时用到的,希望对大家有用!」· M 代码 · 共 40 行

M
40
字号
%KMEANS k-means clustering% % 	[labels,A] = kmeans(A,k)% % k-means clustering of data vectors in A. labels is a vector with % cluster labels (1, .. , k) for each vector. Default: k = 2, n = 1.% % See also datasets, hclust, kcentres, modeseek% Copyright: R.P.W. Duin, duin@ph.tn.tudelft.nl% Faculty of Applied Physics, Delft University of Technology% P.O. Box 5046, 2600 GA Delft, The Netherlandsfunction [labs,a] = kmeans(a,kmax,classf)if nargin < 2, kmax = 2; endif nargin < 3, classf = nmc; endm = size(a,1);a = dataset(a,ones(m,1));if m > 100	b = +gendat(a,100); 	d = +distm(b);	labs = kcentres(d,kmax);	w = nmc(dataset(b,labs));	labs = classd(a*w);else	d = +distm(a);	labs = kcentres(d,kmax);	w = nmc(dataset(a,labs));	labs = classd(a*w);endlabt = zeros(m,1);while any(labt ~= labs)	labt = labs;	a = dataset(a,labs);	w = a * classf;	labs = a * w * classd;end

⌨️ 快捷键说明

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