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

📄 cartfunctions.m

📁 模式识别matlab工具箱,包括SVM,ICA,PCA,NN等等模式识别算法,很有参考价值
💻 M
字号:
function delta = CARTfunctions(split_point, features, targets, dim, split_type)

%Calculate the difference in impurity for the CART algorithm
Uc	= unique(targets);
for i = 1:length(Uc),
   in		= find(targets == Uc(i));
   Pr(i)	= length(find(features(dim, in) >   split_point))/length(in);
   Pl(i)	= length(find(features(dim, in) <=  split_point))/length(in);
end

switch split_type,
case 'Entropy'
	Er		= sum(-Pr.*log(Pr+eps)/log(2));
   El		= sum(-Pl.*log(Pl+eps)/log(2));
case {'Variance', 'Gini'}
	Er		= 1 - sum(Pr.^2);
   El		= 1 - sum(Pl.^2);
case 'Missclassification'
   Er		= 1 - max(Pr);
   El		= 1 - max(Pl);
otherwise
   error('Possible splitting rules are: Entropy, Variance, Gini, or Missclassification')
end

P		= length(find(features(dim, :) <= split_point)) / length(targets);
delta = -P*El - (1-P)*Er;

⌨️ 快捷键说明

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