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?