Feature vector dimension reduction (PCA)

7 vues (au cours des 30 derniers jours)
Andrea Daou
Andrea Daou le 9 Juin 2021
Commenté : Andrea Daou le 11 Juin 2021
Hello,
How can reduce a feature vector of dimension K*N to a feature vectore of dimension K*M with M<N (image classification task)?
I read about PCA but I am not understanding how can I use it to get the K*M vector.
Appreciate your help!
  4 commentaires
Andrea Daou
Andrea Daou le 9 Juin 2021
Modifié(e) : Andrea Daou le 9 Juin 2021
I read about [coeff, score] = pca(features) but for example if I have a dimesion equal to 1340*5435 and I want to pass to 1340*M, is new_features = score(:,1:M) a good solution ?
This solution has a limitation: M cannot take a value > 1340
Thank you in advance,
J. Alex Lee
J. Alex Lee le 9 Juin 2021
I'm not sure what is returned by pca(), but presumably coeff is KxN (the rotated coefficents)? Then is your question how to decide M? Is score a vector 1xN?

Connectez-vous pour commenter.

Réponse acceptée

the cyclist
the cyclist le 9 Juin 2021
I have written an answer to this question that explains in detail how to use MATLAB's pca function, including how to do dimensional reduction. I suggest that you read that question, answer, comments from other users, and my responses. I expect this will answer your question.
  4 commentaires
the cyclist
the cyclist le 11 Juin 2021
Use the coeff matrix from the PCA you did previously, to transform the 1xN vector in the original space into a 1xN vector in the PC space, then use the first M columns. That 1xM vector is the feature-reduced vector in the new space.
Andrea Daou
Andrea Daou le 11 Juin 2021
Okay, Thank you!

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by