PCA in Matlab reduce dimensionality

100 views (last 30 days)
I just want to have a simple PCA to reduce my dimensionality of let say 400 * 5000 to 400 * 4
meaning reduce from 5000 to 4.
I am not sure where can i set the value of reduction.
coeff = pca(X)
I am trying to follow:
load hald
Then:
The dataset of ingredient is 13 * 4
Capture.PNG
coeff = pca(ingredients)
Output:
coeff = 4×4
-0.0678 -0.6460 0.5673 0.5062
-0.6785 -0.0200 -0.5440 0.4933
0.0290 0.7553 0.4036 0.5156
0.7309 -0.1085 -0.4684 0.4844
I am wondering can i change it to output of 13 *2
  6 Comments
Matlaber
Matlaber on 21 Feb 2019
Thanks for your reply.
Yes, I checked the file of the PCA output, you are correct, usually large number for the first row and progressively smaller number.
Thanks once again.
Do you have any idea how can we use Linear Discriminant Analysis (LDA) aka. Fisher Discriminant Analysis (FDA) in matlab? It seemed do not have this function.

Sign in to comment.

Accepted Answer

Elysi Cochin
Elysi Cochin on 20 Feb 2019
[coeff, score] = pca(ingr);
requiredResult = score(:,1:2);
or if you want to change coeff to 13 x 2 matrix, you'll have to use reshape function, but to use reshape your variable coeff must have atleast 13 x 2 elements
or you can use repmat, it will repeat copies of the array coeff
  2 Comments
Matlaber
Matlaber on 20 Feb 2019
The original dataset which is 'ingredient' is 13 * 4 matrix.
>> ingredients
ingredients =
7 26 6 60
1 29 15 52
11 56 8 20
11 31 8 47
7 52 6 33
11 55 9 22
3 71 17 6
1 31 22 44
2 54 18 22
21 47 4 26
1 40 23 34
11 66 9 12
10 68 8 12
After PCA:
load hald
coeff = pca(ingredients)
The output is of coeff is 4 * 4 matrix.
>> coeff
coeff =
-0.0678 -0.6460 0.5673 0.5062
-0.6785 -0.0200 -0.5440 0.4933
0.0290 0.7553 0.4036 0.5156
0.7309 -0.1085 -0.4684 0.4844
I am wondering how can I get a 13 * 2 matrix as output.
In your question "to use reshape your variable coeff must have atleast 13 x 2 elements". How can I get at least 13 * 2 elements.
Thanks

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!