因此,在使用 glmnet 时,我对报告 RMSE(均方根误差)作为模型准确性的指标感到困惑。
具体来说,我是报告模型本身的 RMSE(即,它如何使用用于创建它的训练数据执行)还是报告模型性能的 RMSE 与新数据(又名测试数据)?...或两者?
我想我也很困惑该cv.glmnet
函数执行的交叉验证(见下文)是否是预测模型准确性所需的全部,以及是否需要对单独的测试数据集上的数据进行额外测试?...
语境:
当我运行Rcv.glmnet
中函数的交叉验证版本时glmnet
,它会生成一个图表,显示给定不同的 lambda 值(“正则化参数”)模型的各种迭代的 MSE(均方误差)。
MSE 值存储在$cvm
.
现在,我可以取任何 CV 迭代模型的 MSE 的平方根来计算 RMSE。
- 就我而言,我选择使用一个标准错误规则并选择“lambda.1se”(与上面的虚线相关联),生成
sqrt(mod$cvm[mod$lambda == mod$lambda.1se])
.
然而...
我对这个 RMSE 值是否感兴趣?
我假设在用于预测我的测试数据的新值时,我应该报告模型的 RMSE。
这是真的?
如果是这样,最好的方法是简单地
predict
使用以下公式计算新值,然后将它们与测试数据中的实际值进行比较?
我是否正确地考虑了这一切?
作为后续:
如果我缺少测试数据集而必须使用可用数据的交叉验证,我该如何计算和报告 RMSE?
- 该交叉验证过程是否与函数中执行的交叉验证过程分开
cv.glmnet
?