*3.4. Preprocessing Dataset*

A preprocessing step is performed over the raw datasets to make them suitable for deep neural network training and inference processes. The aim is to make all input attributes fall into certain regions of the non-linear transfer functions via normalization and to be properly coded in categories via one-hot encoding. Thus, we normalize the entire raw dataset with the mean and standard deviation of the training dataset.

Let **x** (*var*) *<sup>t</sup>* ∈ **x***<sup>t</sup>* be one of the five input variables (*var*) at time *t*, its normalized expression is computed as **x** (*var*) *<sup>t</sup>* <sup>=</sup> *vart* <sup>−</sup> *mvar svar* , where *mvar* and *svar* represent the mean and standard deviation of *var* in the training dataset. We normalize the first three attributes of **x***t*, FT*t*, BPr*t* and SSp*t* while for last two attributes, the differences between the original values FT*t*+1−FT*<sup>t</sup>* and SSp*t*+1−SSp*t*, are replaced by the differences between the normalized values of FT and SSp.

The known operational relative-hardness at time *t* (**y***t*) is one-hot encoding such that soft, undefined and hard are encoded as [1, 0, 0], [0, 1, 0] and [0, 0, 1], respectively.
