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

📄 get_class_errors_step.m

📁 一个关于adaboost算法的matlab程序
💻 M
字号:
function [cles, cles_nets]=get_class_errors_step(bb, dataset)% [cles, cles_nets]=adabooster.get_class_errors_step(rn, dataset)% % parameter            class% bb                   rbf_net_ls        % dataset              data%%   G. Raetsch 10.12.99%   Copyright (c) 1998,1999  GMD Berlin - All rights reserved%   THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE of GMD FIRST Berlin%   The copyright notice above does not evidence any%   actual or intended publication of this work.%   Please see COPYRIGHT.txt for details.sum_weights=0 ;steps=min([get_boost_steps(bb), ...             length(get_boosted_learner(bb)), ...             length(get_vote_weights(bb))]) ;cles=zeros(3, steps) ;cles_nets=cles ;y_tr=0 ;y_test=0 ;y_val=0 ;for i=1:steps  net=get_boosted_learner(bb, i) ;  if ~isa(net, 'learner'),    break ;  end ;  switch bb.use_sign_output,    case 2,          y_net_tr=sigmoid(calc_output(net, get_train(dataset,1))) ;      if get_test_size(dataset)~=0,	y_net_test=sigmoid(calc_output(net, get_test(dataset,1))) ;      else	y_net_test=0 ;      end ;      if get_val_size(dataset)~=0,	y_net_val=sigmoid(calc_output(net, get_val(dataset,1))) ;      else	y_net_val=0 ;      end ;    case 1,        y_net_tr=sign(calc_output(net, get_train(dataset,1))) ;      if get_test_size(dataset)~=0,	y_net_test=sign(calc_output(net, get_test(dataset,1))) ;      else	y_net_test=0 ;      end ;      if get_val_size(dataset)~=0,	y_net_val=sign(calc_output(net, get_val(dataset,1))) ;      else	y_net_val=0 ;      end ;    case 0,      y_net_tr=calc_output(net, get_train(dataset,1)) ;      if get_test_size(dataset)~=0,	y_net_test=calc_output(net, get_test(dataset,1)) ;      else	y_net_test=0 ;      end ;      if get_val_size(dataset)~=0,	y_net_val=calc_output(net, get_val(dataset,1)) ;      else	y_net_val=0 ;      end ;    otherwise,      error('???') ;  end ;  sum_weights=sum_weights+get_vote_weight(bb,i) ;    y_tr=y_tr+y_net_tr*get_vote_weight(bb,i) ;  y_test=y_test+y_net_test*get_vote_weight(bb,i) ;  y_val=y_val+y_net_val*get_vote_weight(bb,i) ;    cles(1,i)=sum(get_train(dataset,2)~=sign(y_tr)) ;  cles_nets(1,i)=sum(get_train(dataset,2)~=sign(y_net_tr)) ;  if get_test_size(dataset)>0,    cles(2,i)=sum(get_test(dataset,2)~=sign(y_test)) ;    cles_nets(2,i)=sum(get_test(dataset,2)~=sign(y_net_test)) ;  else      cles(2,i)=-1 ;    cles_nets(2,i)=-1 ;  end ;    if get_val_size(dataset)>0,    cles(3,i)=sum(get_val(dataset,2)~=sign(y_val)) ;    cles_nets(3,i)=sum(get_val(dataset,2)~=sign(y_net_val)) ;  else    cles(3,i)=-1 ;    cles_nets(3,i)=-1 ;  end ;end ;if ~isa(net, 'learner')  cles=cles(:, 1:i-1) ;  cles_nets=cles(:, 1:i-1) ;end ;cles(1,:)=cles(1,:)/get_train_size(dataset) ;if get_test_size(dataset)>0,  cles(2,:)=cles(2,:)/get_test_size(dataset) ;end ;if get_val_size(dataset)>0,  cles(3,:)=cles(3,:)/get_val_size(dataset) ;end ;cles_nets(1,:)=cles_nets(1,:)/get_train_size(dataset) ;if get_test_size(dataset)>0,  cles_nets(2,:)=cles_nets(2,:)/get_test_size(dataset) ;end ;if get_val_size(dataset)>0,  cles_nets(3,:)=cles_nets(3,:)/get_val_size(dataset) ;end ;

⌨️ 快捷键说明

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