I have a dataset with N features, each one with 500 instances in time.
For example, let's say that I have the following:
Features x, y, v_x, v_y, a_x, a_y, j_x, j_y
,
A sample with 500 examples (rows in a table) for each feature,
A sample with 500 other instances, and a class.
I'd like to select a subset of the features automatically with the Random Forests algorithm. The problem is that the algorithm (I'm using ScikitLearn, RandomForestClassifier), accepts a matrix (2D array) as X input, of size [N_samples, N_features]. If I give the array as it is, that is a vector (len 500) for the feature x
, another (len 500) for the feature y
, etc., I get a N_samples x N_features x 500 array, which is incompatible with the requirements of RandomForestClassifier.
I tried to unroll the matrix in a vector, like having so 500 x N_features array, but in that way, in the reduction, it considers all the elements independent feature, and breaks my structure.
How can I select/reduce the features keeping the time instances consistent?
(I can use this algorithm, but i'm also open to other libraries and/or algorithms)
My goal is to do classification, so forecasting resources are limitedly useful to me. Also I have the requirement that each sample has those occurrences, and I don't have them as separate samples unfortunately.