Lasso/Elastic 网络中的训练和验证 R2各位,
我将 k 折交叉验证与惩罚回归模型(套索、弹性网)结合使用,并希望检查训练/验证集的(平均)R2 值以检查过度拟合和解释方差。 我已经搜索了很多选项,但我找不到。 有没有办法展示这一点? 如果可以将其显示在概览表中,那就太好了,这样我就可以用它来选择模型。
谢谢你,马库斯
苹果系统预测建模和机器学习回复:Lasso/Elastic 网络中的训练和验证 R2谢谢,但我当然知道模型筛选平台,但它运行简化模型,并且不提供完整模型的选项。 例如,我假设模型筛选中的神经模型是一个相当简单的模型,只有几个隐藏单元。
例如,当我想使用更复杂的 2 层神经模型进行嵌套交叉验证时,这不能通过模型筛选来完成,不是吗?
还有其他事情只能在内循环中完成。 例如,插补通常仅在内循环内完成,因为使用包括独立测试样本在内的整个样本进行插补是不公平的。
因此,我正在寻找一个可以完成嵌套交叉验证的脚本。 例如,我可以仅在内部循环中插入插补。
回复:Lasso/Elastic 网络中的训练和验证 R2你好@马库斯JH ,
欢迎来到社区!
要回答您的问题,一种选择是使用“分析”、“预测建模”菜单中提供的“模型筛选”平台。
进入“模型筛选”平台后,您可以取消选择“广义回归”和“其他方法”(此处在泰坦尼克号数据集上完成)以外的方法,并指定是否要在模型中包含 2 个因子交互作用或二次项。 如果您想要可重现的结果,您还可以指定交叉验证的折叠数和随机种子:

分析完成后,您可以看到验证结果作为跨折叠的摘要。 此汇总表可以帮助您选择最合适的模型(您可以选择您想要查看更多详细信息的模型(或单击“选择主导”),然后单击“运行选定的”以打开广义回归平台以获取有关所选模型的更多详细信息):

您还可以通过打开菜单“训练”和“验证”来按折叠查看各个结果(如果需要)(在“训练”中,可以在每种训练模型类型的最后一列中看到折叠标识符) :

我希望我理解你的问题并且这个答案会对你有所帮助。
如果我误解了某些内容并且这不是您所期望的,您能否提供更多详细信息,说明您当前使用哪个平台,您已经拥有哪些信息以及缺少哪些信息?
回复:Lasso/Elastic net 中的训练和验证 R2...或者另一件事,人们想要在内循环中做的是超参数选择,例如隐藏单元的数量。
当然,在内循环结束时,必须有一个标准来定义最佳模型,然后再提交给外循环交叉验证。
回复:Lasso/Elastic net 中的训练和验证 R2我向 JMP 询问了有关弹性净回归的类似问题,以及如何获得某种形式的 R 平方,答复是它不适用于 KFold 或 Leave-One-Out 验证方法,只适用于 AICc 和 BIC。所以我认为你必须自己手动计算。我认为这很烦人,因为 SAS 可以做到这一点。
回复:Lasso/Elastic net 中的训练和验证 R2@马库斯JH
您可以使用“分析”>“预测建模”菜单中的“模型比较”平台比较 k 倍的 R2 值。请遵循以下步骤:
- 使用“制作验证列”实用程序创建 K 折列并选择“制作 K 折列”(在对话框窗口的左下角)。
- 启动 Gen Reg 并将 KFold 列加载为验证角色。
- 运行回归模型(弹性网络、套索等)并确保选择验证列作为验证方法。
- 当您对模型满意时,将预测公式保存到数据表中。
- 要查看每个折叠的 R2 值,请从分析 > 预测建模菜单启动模型比较
- 将您保存的公式列加载为 Y,将 KFold 验证列加载为 Group
- 生成的报告将显示列中每个折叠的拟合度量:
