【问题标题】:Predicting price using regression data model使用回归数据模型预测价格
【发布时间】:2020-06-07 18:09:47
【问题描述】:
我建立了回归数据模型来根据几个自变量预测房价。我得到了带系数的回归方程。在拆分数据集之前,我使用 StandardScaler() 来缩放我的变量。现在我想使用我的回归模型为自变量给出新值来预测房价,我可以直接使用自变量的值并计算价格吗?或者在包含自变量的值之前,我应该通过 StandardScaler() 方法传递值吗??
【问题讨论】:
标签:
python
machine-learning
regression
data-science
data-modeling
【解决方案1】:
要回答您的问题,是的,您还必须处理您的测试输入,但请考虑以下解释。
StandardScaler() 通过移除均值并缩放到单位方差来标准化特征
如果您在整个数据集上拟合缩放器然后拆分,缩放器将在计算均值和方差时考虑所有值。
理想情况下,不应使用训练数据对测试集进行预处理。这将确保没有“窥视”。训练数据应单独进行预处理,一旦创建模型,我们可以将用于训练集的相同预处理参数应用于测试集,就好像测试集以前不存在一样。
【解决方案2】:
是的,您需要对新值进行预处理。如果您已经对训练数据进行了缩放,并为该缩放数据拟合了模型,那么任何输入到模型中的新数据也应该经过等效的预处理.这是标准做法,因为它确保始终为模型提供形式一致的数据集作为输入。需要注意的是,您应该使用 transform 而不是 fit_transform。
该过程可能如下所示:
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
new_data = scaler.transform(new_data)
another thread 上有一篇关于此主题的详细文章,您可能会感兴趣。