我想知道如何使用R中的glmnet正确地训练和测试LASSO模型?
- 具体来说,我想知道如果缺少外部测试数据集该如何使用交叉验证(或其他类似方法)来测试我的LASSO模型,该怎么做。
让我分解一下情况:
我只有一个数据集来通知和训练我的glmnet模型。结果,我将不得不使用交叉验证来拆分数据,以生成一种测试模型的方法。
我已经在使用cv.glmnet,根据软件包的详细信息:
对glmnet进行k折交叉验证,生成图并返回lambda的值。
- 进行交叉验证 - cv.glmnet只是为了选择最佳的λ,还是作为更通用的交叉验证程序?- 换句话说,我还需要执行另一个交叉验证步骤来“测试”我的模型吗?
 
我正在假设“是的”。
既然如此,我该如何交叉验证我的cv.glmnet模型?
- 我是否必须手动执行此 - caret功能,或者该功能对glmnet模型有用吗?
- 我是否使用交叉验证的两个同心“循环”?...我是否使用CV的“内循环” - cv.glmnet来确定k倍交叉验证处理的“外部循环”的每k倍内的最佳lambda值?- 如果我对已经进行交叉验证的 - cv.glmnet模型进行交叉验证,那么如何- cv.glmnet在交叉验证的“外部循环”的每一折中将“最佳”模型(与“最佳” lambda值隔离)与每个模型隔离?- 注:我定义“最好”的模式,与产生最小的1 SE内的MSE拉姆达关联的模型......这是$lambda.1se在cv.glmnet模型。
 
- 注:我定义“最好”的模式,与产生最小的1 SE内的MSE拉姆达关联的模型......这是
 
内容:
我正在尝试根据树木直径(“ D”),D ^ 2和种类(“ factor(SPEC)”)来预测树木年龄(“年龄”)。[结果方程式:Age ~ D + factor(SPEC) + D^2]。我有约5万行数据,但数据是纵向的(通过时间跟踪个体),由约65种组成。