Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 我是否因为数据标准化而把我的整个数据科学作业搞砸了?_R_Machine Learning_Regression_Supervised Learning - Fatal编程技术网

R 我是否因为数据标准化而把我的整个数据科学作业搞砸了?

R 我是否因为数据标准化而把我的整个数据科学作业搞砸了?,r,machine-learning,regression,supervised-learning,R,Machine Learning,Regression,Supervised Learning,教授希望我们对一个数据集进行10倍交叉验证,以获得最低的RMSE,并使用该数据集的系数生成一个函数,该函数接受参数,预测并返回25-75之间的“适应度因子”分数 他鼓励我们尝试转换数据,我也这样做了。我对整个数据集使用scale()进行标准化,然后进行回归和10倍交叉验证。然后我找到了我想要的模型并复制了系数。问题是,当我将非标准参数放入函数中以预测y时,函数的预测就偏离了方向 我是否将数据标准化为0的平均值和1的sd,从而完全搞砸了?如果我真的把事情搞砸了,还有什么办法可以把这乱七八糟的事情处

教授希望我们对一个数据集进行10倍交叉验证,以获得最低的RMSE,并使用该数据集的系数生成一个函数,该函数接受参数,预测并返回25-75之间的“适应度因子”分数

他鼓励我们尝试转换数据,我也这样做了。我对整个数据集使用scale()进行标准化,然后进行回归和10倍交叉验证。然后我找到了我想要的模型并复制了系数。问题是,当我将非标准参数放入函数中以预测y时,函数的预测就偏离了方向

我是否将数据标准化为0的平均值和1的sd,从而完全搞砸了?如果我真的把事情搞砸了,还有什么办法可以把这乱七八糟的事情处理掉吗


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

建立一个适当的管道,而不仅仅是一些R函数

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

适当的协议如下:

  • “学习”变换参数
  • 转换训练数据
  • 训练模型
  • 转换新数据
  • 预测价值
  • 对预测值进行逆变换
  • 在交叉验证过程中,每个折叠都需要单独运行,否则您可能会高估(过度拟合)您的质量


    标准化是一种线性变换,因此求逆很容易。

    显然,在将系数应用于未转换的数据之前,您需要对系数进行逆变换(或者您需要转换数据,应用系数,然后再将其转换回来),这可能会更好您是否根据在列车集上计算的转换系数对测试集进行了转换?