Я не согласен с @Sharan_Sundar. Смысл масштабирования состоит в том, чтобы привести все ваши функции в единую шкалу, а не строго следить за тем, чтобы они лежали в интервале [0,1]. Это может быть очень важно, особенно при рассмотрении методов регуляризации, штрафовать большие коэффициенты (будь то коэффициенты линейной регрессии или веса нейронной сети). Сочетание масштабирования функций и регуляризации помогает обеспечить обобщение вашей модели для ненаблюдаемых данных.
Масштабирование на основе ваших «тестовых» данных не является хорошей идеей, поскольку на практике, как вы указали, вы можете легко наблюдать новыеточки данных, которые не находятся в пределах ваших исходных наблюдений. Ваша модель должна быть устойчивой к этому.
В общем, я бы порекомендовал рассмотреть различные процедуры масштабирования. MinMaxScaler от scikitlearn, как и StandardScaler, равен единице (вычтите среднее и разделите на стандартное отклонение). В случае, когда ваша целевая переменная, цена криптовалюты может варьироваться в пределах нескольких порядков, возможно, стоит использовать функцию логарифма для масштабирования некоторых из ваших переменных. Именно здесь наука о данных становится искусством - здесь не обязательно есть «правильный» ответ.
(РЕДАКТИРОВАТЬ) - См. Также: Применяете ли вы минимальное и максимальное масштабирование отдельно к данным тренировок и тестов?