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

📄 som_gapindex.m

📁 麻省理工学院的人工智能工具箱,很珍贵,希望对大家有用!
💻 M
字号:
function [t,r,Cd,S] = som_gapindex(sM, base, between) % SOM_GAPINDEX Gap clustering evaluation index.%% [t,r] = som_gapindex(sM, base, [between])%%  Input and output arguments ([]'s are optional):  %    sM        (struct) map struct%    base      (vector) clusters indeces for each map unit, map units%                       with index<=0 or NaN are not taken into account%    [between] (vector) indices of prototypes which are "between" clusters:%                       the associated distances are doubled% %    t         (scalar) Gap index index for the clustering (=mean(r))%    r         (vector) maximum Gap index for each cluster (size max(base) x 1)    % % See also  KMEANS, KMEANS_CLUSTERS, SOM_GAPINDEX.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%if nargin<3, between = find(isnan(base)); endnc = max(base); cinds = cell(nc,1); for i=1:nc, cinds{i} = find(base==i); end % distances between neighboring prototypesNe = som_neighbors(sM,'N1'); Md = som_mdist(sM.codebook,2,[],Ne);Md(Ne==0) = NaN;Md(between,:) = Md(between,:)*2;Md(:,between) = Md(:,between)*2;Md(between,between) = Md(between,between)/2; % dispersion in each cluster S = zeros(nc,1);for i=1:nc,     inds = setdiff(cinds{i},between);        if any(inds),         indist = Md(inds,inds);         for j=1:size(indist,1), indist(j,j) = NaN; end        indist = indist(isfinite(indist(:)));         if any(indist), S(i) = mean(indist); end    endend  % distances between clustersCd = zeros(nc,nc) + NaN;for i=1:nc,    inds1 = cinds{i};     for j=1:nc,         inds2 = cinds{j}; 	od = Md(inds1,inds2); 	od = od(isfinite(od(:)));	if any(od), Cd(i,j) = mean(od(:)); end            end    end% Gap indexR = NaN * zeros(nc);for i = 1:nc  for j = i+1:nc    R(i,j) = (S(i) + S(j))/Cd(i,j);    R(j,i) = R(i,j);   endendr = max(R,[],2); t = mean(r(isfinite(r))); return; 

⌨️ 快捷键说明

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