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 + -
显示快捷键?