In the Content-based recommenders practice lab, the target rating y_train is scaled using MinMaxScaler of feature range(-1, 1).

Why is it needed to perform this operation on target? I understand that we are normalizing the input feature vectors using the l2 norm and the target range is between 0 and 5. Hence scaling is needed for target values. But why it has to be between (-1, 1 ) and not (0, 1) which is the usual range of MinMaxScaler?

So, to fairly estimate the similarity of two vectors (vu, vm), we need to L2-normalize them before dotting them, but the dotted result must be between -1 and 1, so we need our target label to be in that range too, and the lab chose to make it between 0 and 1.