kmeans.m
来自「matlab 模式识别工具包 希望能对你们有用」· 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 + -
显示快捷键?