I have data of dimensionality (25000, 100, 500) i.e. 25000 rows each consisting of a 2 dimensional 100 X 500 matrix. Currently I am only applying CNN for classification purpose. Is there any other way I can model this data? I flattened the 2d matrices into 1d arrays with shape (50000, ) and applied PCA on the (25000, 50000) dataset, I am getting around 85% explained variance for 400 components. Are PCA and LDA still good for such high dimensional datasets? (Other similar questions on stack do not address this problem)

Is there any other way I can extract 1 dimensional features so I can apply models like SVM, XGBoost? (for example: CNN to extract flattened 1-d features is one way)

  • $\begingroup$ What is in the 2 dimensional 100 X 500 matrix? A grayscale image? $\endgroup$ Mar 19, 2022 at 23:31

1 Answer 1


Applying PCA is a question of how much variance is useful enough. Does 85% variance accounted for still provide enough signal for classification?

There are many ways to create a vector (i.e., "extract 1 dimensional features ") out of the data:

  • Concatenate the 2 diminesional matrix.
  • Model with Convolutional Neural Network (CNN) and dense layer output

The specific choices will have to the actual data (e.g., images, text, or time series).


Your Answer

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

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