valid_internal_deviation.m

来自「cluster validation tools matlab toolbox」· M 代码 · 共 41 行

M
41
字号
function [DB,CH,KL,Han,st] = valid_internal_deviation(data,labels,dtype)% cluster validity indices based on deviation[nrow,nc] = size(data);labels = double(labels);k=max(labels);if dtype == 1   [st,sw,sb,cintra,cinter] = valid_sumsqures(data,labels,k);else   [st,sw,sb,cintra,cinter] = valid_sumpearson(data,labels,k);endssw = trace(sw);ssb = trace(sb);if k > 1% Davies-Bouldin  R = zeros(k);  dbs=zeros(1,k);  for i = 1:k    for j = i+1:k      if cinter(i,j) == 0          R(i,j) = 0;      else         R(i,j) = (cintra(i) + cintra(j))/cinter(i,j);      end    end    dbs(i) = max(R(i,:));  end  DB = mean(dbs(1:k-1));    CH = ssb/(k-1); else  CH =ssb;   DB = NaN;  Dunn = NaN; endCH = (nrow-k)*CH/ssw;    % Calinski-HarabaszHan = ssw;                        % component of HartiganKL = (k^(2/nc))*ssw;         % component of Krzanowski-Lai

⌨️ 快捷键说明

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