You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
|
|
|
function [U, S] = pca(X)
|
|
|
|
%PCA Run principal component analysis on the dataset X
|
|
|
|
% [U, S, X] = pca(X) computes eigenvectors of the covariance matrix of X
|
|
|
|
% Returns the eigenvectors U, the eigenvalues (on diagonal) in S
|
|
|
|
%
|
|
|
|
|
|
|
|
% Useful values
|
|
|
|
[m, n] = size(X);
|
|
|
|
|
|
|
|
% You need to return the following variables correctly.
|
|
|
|
U = zeros(n);
|
|
|
|
S = zeros(n);
|
|
|
|
|
|
|
|
% ====================== YOUR CODE HERE ======================
|
|
|
|
% Instructions: You should first compute the covariance matrix. Then, you
|
|
|
|
% should use the "svd" function to compute the eigenvectors
|
|
|
|
% and eigenvalues of the covariance matrix.
|
|
|
|
%
|
|
|
|
% Note: When computing the covariance matrix, remember to divide by m (the
|
|
|
|
% number of examples).
|
|
|
|
%
|
|
|
|
|
|
|
|
Sigma = 1/m * X'*X; % covariance matrix
|
|
|
|
|
|
|
|
[U, S, V] = svd(Sigma);
|
|
|
|
|
|
|
|
% =========================================================================
|
|
|
|
|
|
|
|
end
|