我一直在研究机器学习模型,目前正在使用带有GridSearchCV的管道。我的数据使用MinMaxScaler缩放,并且我正在使用带有RBR内核的SVR。现在的问题是,我的模型是完整的,拟合的并且具有不错的评估评分,我是否还需要使用MinMaxScaler缩放新数据以进行预测,还是可以按原样使用数据进行预测?我已经阅读了三本关于scikit学习的书,但它们都专注于功能工程和装配。除了使用预测方法外,它们实际上并未涵盖预测步骤中的任何其他步骤。
这是代码:
pipe = Pipeline([('scaler', MinMaxScaler()), ('clf', SVR())])
time_split = TimeSeriesSplit(n_splits=5)
param_grid = {'clf__kernel': ['rbf'],
'clf__C':[0.0001, 0.001],
'clf__gamma': [0.0001, 0.001]}
grid = GridSearchCV(pipe, param_grid, cv= time_split,
scoring='neg_mean_squared_error', n_jobs = -1)
grid.fit(X_train, y_train)
最佳答案
当然,如果您获得了新的(未处理的)数据,则需要执行与训练模型时相同的准备步骤。例如,如果将MinMaxScaler与默认比例一起使用,则该模型用于在每个特征中均具有零均值和标准方差的数据,如果不对数据进行预处理,则该模型将无法产生准确的结果。
请记住,要使用与训练数据完全相同的MinMaxScaler对象。因此,如果您将模型保存到文件中,请同时保存预处理对象。