I have a random forest model which I am using to make retail demand predictions. I am looking at trying to leverage product image data to improve the predictions and have put the images through VGG-16 and taken one of the output feature vectors from one of the final layers to get vectors of length 4096.

Due to the length of the vector I cannot add this straight into my model and need to reduce the dimensionality. I have applied PCA to the vectors to reduce them to the top 200 components which account for about 90% of the variance, and am getting a small improvement. However, I am concerned that due to the way PCA transforms the data, it does not produce a vector that retains the latent features of the image for the algorithm to find patterns in.

Questions: Is PCA an acceptable dimensionality reduction technique for reducing image vectors in this context? What is the most accurate way to reduce image vectors while retaining the information?


1 Answer 1


It depends on what you mean with "most accurate way". With PCA you are trying to find a approximation that preserves a given amount of variance, thus it is accurate in that regard. If you are ultimately interested in classification and accuracy of predicted labels is your main concern, PCA might not be the best, because it does not consider class labels. Linear Discriminant Analysis and related algorithms might be an alternative. Other than that, many algorithms from the manifold learning domain have been modified to do dimensionality reduction for classification problems, e.g. Constrastive PCA, Supervised Laplacian Eigenmaps, Supervised Locality Preserving Projection.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.