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

📄 stumps.m

📁 最新的模式识别分类工具箱,希望对朋友们有用!
💻 M
字号:
function [D, w] = Stumps(train_features, train_targets, params, region)% Classify using the least-squares algorithm% Inputs:% 	features- Train features%	targets	- Train targets%	weights	- Unused (Except by AdaBoost)%	region	- Decision region vector: [-x x -y y number_of_points]%% Outputs%	D			- Decision sufrace%	w			- Decision surface parameterstrain_one  = find(train_targets == 1);train_zero = find(train_targets == 0);if (length(params)-1 == length(train_targets)),     p = params(1:end-1);else    p = ones(size(train_targets));   enddim        = size(train_features,1);w          = zeros(1,dim);err        = zeros(1,dim);direction  = zeros(1,dim);for i = 1:dim,    %For each dimension, find the point where a stump gives the minimal error        %First, sort the working dimension     [data(i,:), indices] = sort(train_features(i,:));    temp_targets    = train_targets(indices);    temp_p		 	  = p(indices);        decision        = cumsum(temp_p .* temp_targets)/length(train_one) - cumsum(temp_p .* (~temp_targets))/length(train_zero);    [err(i),W]      = max(abs(decision));    w(i)            = data(i,W);    direction(i)    = sign(decision(W));end[m, min_dim] = max(err);indices      = find(~ismember(1:dim,min_dim));w(indices)   = 0;%Find decision region (For 2-D data)N		= region(5);x		= linspace (region(1),region(2),N);y		= linspace (region(3),region(4),N);D     = zeros(N);if (w(1)~=0),    ix = find(ismember(data(1,:),w(1)));    if ix == length(data(1,:)),        xt = region(2);    else        xt = (data(1,ix+1) + data(1,ix)) / 2;     end    [m, indice] = min(abs(x - xt));    if (direction(1) < 0),        D(:,indice+1:N) = 1;    else        D(:,1:indice) = 1;    endelse    iy = find(ismember(data(2,:),w(2)));    if iy == length(data(2,:)),        yt = region(4);    else        yt = (data(2,iy+1) + data(2,iy)) / 2;     end    [m, indice] = min(abs(y - yt));    if (direction(2) < 0),        D(indice+1:N,:) = 1;    else        D(1:indice,:) = 1;    endend        

⌨️ 快捷键说明

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