我建立了回归数据模型来根据几个独立变量来预测房价。我得到了带有系数的回归方程。在拆分数据集之前,我使用StandardScaler()缩放了变量。现在,我想使用回归模型为自变量赋予新值来预测房价,我可以直接使用自变量值并计算价格吗?或在包含自变量的值之前,我应该通过StandardScaler()方法传递值吗?
要回答您的问题,是的,您也必须处理测试输入,但请考虑以下说明。
[StandardScaler()通过去除均值并将其缩放为单位方差来标准化特征
如果将缩放器适合整个数据集然后拆分,则缩放器在计算均值和方差时会考虑所有值。
理想情况下,不应使用训练数据对测试集进行预处理。这将确保没有“偷看”。训练数据应该分别进行预处理,一旦创建了模型,我们就可以将用于训练集的相同预处理参数应用于测试集,就像之前没有测试集一样。
是,您需要预处理新值。如果已缩放训练数据并将模型拟合到该缩放数据,则输入模型的任何新数据也应进行等效的预处理。这是标准做法,因为它确保始终为模型提供一致形式的数据集作为输入。请注意,您应该使用transform
而不是fit_transform
。
该过程可能如下所示:
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
new_data = scaler.transform(new_data)
您可能会感兴趣的关于another thread的主题,有详尽的文章。