If you want to predict "Avg CPU Load", your y_train
should be only the "Avg CPU Load" column and your x_train
should be the rest of the columns (you might skip the time column if all timestamps are equally spaced).
The network will then learn a function mapping rest of the columns to "Avg CPU Load" and it shall be predicting the same.
Hope it helps.
edit: inIn the testing phase, also you also have to follow the same structure for x_test
(and y_test
i.e. ground truth).
edit2: In this case, for RNN, you are right by generating each training sample as all columns over 60 timestamps. You can check if the prediction is indeed what you want by plotting against the ground truth. Although, I think you should predict all the columns (new_y_train
is all columns instead of avg CPU load only) i.e. make the output dimension the same as the input dimension.
Make the network predict the whole thing and pick your column of interest for your consideration. This is probably the more natural way to do it.