1
如何使用cv.glmnet(R中的LASSO回归)进行交叉验证?
我想知道如何使用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模型。 内容: 我正在尝试根据树木直径(“ D”),D ^ 2和种类(“ factor(SPEC)”)来预测树木年龄(“年龄”)。[结果方程式:Age ~ D + factor(SPEC) + D^2]。我有约5万行数据,但数据是纵向的(通过时间跟踪个体),由约65种组成。