PCA values

1 visualización (últimos 30 días)
Raviteja
Raviteja el 17 de Sept. de 2011
Editada: Mouse el 8 de Nov. de 2021
I have written following code to learn about PCA.
clear all
clc
load hald
hald=ingredients;
[m n]=size(hald);
mu=mean(hald);
mumat=repmat(mu,[m 1]);
hald_new=hald-mumat;
cov_mat=cov(hald_new);
[EVec EVal]=eig(cov_mat);
[sq iq]=sort(diag(EVal)','descend');
for i=1:length(iq)
EVec_sort(:,i)=EVec(:,iq(i));
end
EVal_sort=sq;
pca_data=EVec_sort'*hald_new';
And also I compared my results with matlab princomp() function. Results are like this..
My result
>> pca_data'
ans =
36.8218 6.8709 -4.5909 0.3967
29.6073 -4.6109 -2.2476 -0.3958
-12.9818 4.2049 0.9022 -1.1261
23.7147 6.6341 1.8547 -0.3786
-0.5532 4.4617 -6.0874 0.1424
-10.8125 3.6466 0.9130 -0.1350
-32.5882 -8.9798 -1.6063 0.0818
22.6064 -10.7259 3.2365 0.3243
-9.2626 -8.9854 -0.0169 -0.5437
-3.2840 14.1573 7.0465 0.3405
9.2200 -12.3861 3.4283 0.4352
-25.5849 2.7817 -0.3867 0.4468
-26.9032 2.9310 -2.4455 0.4116
Matlab result:
>> [pc,score,latent,tsquare] = princomp(ingredients);
>> score
score =
36.8218 -6.8709 -4.5909 0.3967
29.6073 4.6109 -2.2476 -0.3958
-12.9818 -4.2049 0.9022 -1.1261
23.7147 -6.6341 1.8547 -0.3786
-0.5532 -4.4617 -6.0874 0.1424
-10.8125 -3.6466 0.9130 -0.1350
-32.5882 8.9798 -1.6063 0.0818
22.6064 10.7259 3.2365 0.3243
-9.2626 8.9854 -0.0169 -0.5437
-3.2840 -14.1573 7.0465 0.3405
9.2200 12.3861 3.4283 0.4352
-25.5849 -2.7817 -0.3867 0.4468
-26.9032 -2.9310 -2.4455 0.4116
Why the second column giving wrong result (in signs)?
  1 comentario
Debarshi Chakraborty
Debarshi Chakraborty el 21 de En. de 2020
how to plot this data?

Iniciar sesión para comentar.

Respuesta aceptada

Andrew Newell
Andrew Newell el 17 de Sept. de 2011
Eigenvectors are a little arbitrary. If A is a matrix and b is one of its eigenvectors, then so is b multiplied by any scalar. In particular, if
A*b = e*b
for some eigenvalue e, then
A*(-b) = e*(-b).
  3 comentarios
Andrew Newell
Andrew Newell el 17 de Sept. de 2011
Yes.
Mouse
Mouse el 8 de Nov. de 2021
Editada: Mouse el 8 de Nov. de 2021
Is "princomp" removed in Version R2021a?
I would say yes, it is removed and replaced by "pca"

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Dimensionality Reduction and Feature Extraction en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by