pca.m

来自「matlab分类工具箱源码」· M 代码 · 共 33 行

M
33
字号
function [features, targets, UW, m] = PCA(features, targets, dimension, region)

%Reshape the data points using the principal component analysis
%Inputs:
%	train_features	- Input features
%	train_targets	- Input targets
%	dimension		- Number of dimensions for the output data points
%	region			- Decision region vector: [-x x -y y number_of_points]
%
%Outputs
%	features		- New features
%	targets			- New targets
%	UW				- Reshape martix
%   m               - Original feature averages

[r,c] = size(features);

if (r < dimension),
   disp('Required dimension is larger than the data dimension.')
   disp(['Will use dimension ' num2str(r)])
   dimension = r;
end

%Calculate cov matrix and the PCA matrixes
m           = mean(features')';
S			= ((features - m*ones(1,c)) * (features - m*ones(1,c))');
[V, D]	    = eig(S);
W			= V(:,r-dimension+1:r)';
U			= S*W'*inv(W*S*W');

%Calculate new features
UW			= U*W;
features    = W*features;

⌨️ 快捷键说明

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