我是否通过标准化数据搞砸了整个数据科学家庭作业?

问题描述 投票:-1回答:1

教授希望我们对数据集进行10倍交叉验证,以获得最低的RMSE,并使用其系数来制作一个参数和预测函数,并返回“健身因子”得分,范围在25-75之间。

他鼓励我们尝试转换数据,所以我做到了。我在整个数据集上使用scale()来标准化它,然后运行我的回归和10倍交叉验证。然后我找到了我想要的模型并将系数复制过来。问题是当我将非标准化参数放入其中以预测y时,我的函数预测是关闭的。

我是通过将数据标准化为0和sd为1来完全搞砸了吗?无论如何,如果我搞砸了,我可以撤消这个烂摊子吗?

我的系数是非常小的数字,我觉得我在这里做错了。

r machine-learning regression supervised-learning
1个回答
1
投票

构建一个合适的管道,而不仅仅是一些具有一些R功能的hack。

问题是您将缩放视为加载数据的一部分,而不是作为预测过程的一部分。

正确的协议如下:

  1. “学习”转换参数
  2. 转换训练数据
  3. 训练模型
  4. 转换新数据
  5. 预测价值
  6. 反变换预测值

在交叉验证期间,这些需要为每个折叠单独运行,或者您可能高估(过度拟合)您的质量。

标准化是一种线性变换,因此反向是微不足道的。

© www.soinside.com 2019 - 2024. All rights reserved.