【发布时间】:2020-01-14 15:06:19
【问题描述】:
scaler = MinMaxScaler(feature_range = (0, 1))
X_train[:, :, 0] = scaler.fit_transform(X_train[:, :, 0])
X_test[:, :, 0] = scaler.transform(X_test[:, :, 0])
X_train[:, :, 1] = scaler.fit_transform(X_train[:, :, 1])
X_test[:, :, 1] = scaler.transform(X_test[:, :, 1])
X_train[:, :, 2] = scaler.fit_transform(X_train[:, :, 2])
X_test[:, :, 2] = scaler.transform(X_test[:, :, 2])
X_train[:, :, 3] = scaler.fit_transform(X_train[:, :, 3])
X_test[:, :, 3] = scaler.transform(X_test[:, :, 3])
X_train[:, :, 4] = scaler.fit_transform(X_train[:, :, 4])
X_test[:, :, 4] = scaler.transform(X_test[:, :, 4])
scaler_filename = 'scaler.save'
joblib.dump(scaler, scaler_filename)
如您所见,我使用 MinMaxScaler 对训练/测试数据的每一列进行标准化。之后,我保存了缩放器对象以供后用。当我保存缩放器时,我可以只对新数据调用'transform'方法还是必须调用'fit'方法?
【问题讨论】:
-
你应该使用管道。此外,Scalers 单独缩放列。当您一次又一次地重新调整相同的对象引用时,您只会保留最后一个缩放器。我建议只看docs
标签: python scikit-learn normalization