fisherslineardiscriminant.m

来自「模式识别matlab工具箱,包括SVM,ICA,PCA,NN等等模式识别算法,很」· M 代码 · 共 26 行

M
26
字号
function [features, train_targets, w] = FishersLinearDiscriminant(train_features, train_targets, param, region)

%Reshape the data points using the Fisher's linear discriminant
%Inputs:
%	train_features	- Input features
%	train_targets	- Input targets
%	param			- Unused
%	region			- Unused
%
%Outputs
%	features			- New features
%	targets			- New targets
%  w					- Weights vector

train_one  = find(train_targets == 1);
train_zero = find(train_targets == 0);

s0			  = cov(train_features(:,train_zero)',1);
m0			  = mean(train_features(:,train_zero)');
s1			  = cov(train_features(:,train_one)',1);
m1			  = mean(train_features(:,train_one)');

sw			  = s0 + s1;
w			  = inv(sw)*(m0-m1)';
features   = [w'*train_features; zeros(1,length(train_targets))]; %We add a dimension because the toolbox needs 2D data

⌨️ 快捷键说明

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