В настоящее время я использую SVM и масштабирую свои тренировочные возможности до диапазона [0,1]. Сначала я подгоняю / преобразовываю свой тренировочный набор, а затем применяю то же преобразование к своему испытательному набору. Например:
### Configure transformation and apply to training set
min_max_scaler = MinMaxScaler(feature_range=(0, 1))
X_train = min_max_scaler.fit_transform(X_train)
### Perform transformation on testing set
X_test = min_max_scaler.transform(X_test)
Предположим, что данный признак в обучающем наборе имеет диапазон [0,100], а тот же признак в наборе испытаний имеет диапазон [-10,120]. В обучающем наборе этот признак будет масштабирован соответствующим образом до [0,1], тогда как в тестовом наборе этот признак будет масштабирован до диапазона, выходящего за пределы указанного первого, что-то вроде [-0,1,1.2].
Мне было интересно, каковы последствия того, что возможности тестового набора вышли за пределы возможностей тех, которые используются для обучения модели? Это проблема?
источник
MinMaxScaler
.