在R中为Caret生成调优参数

我一直在尝试使用caret包对模型进行k折验证。我已经成功运行了lm()函数,但在尝试使用caret时却失败了。步骤如下:

 train_control <- trainControl(method="cv", number=10) grid <- expand.grid(.fL=c(0), .usekernel=c(FALSE)) model <- train(FantasyPTS ~ Shoots + Height + Weight + Birthyear +               age + Draft_Year + Overall_Draft_Num + Draft_Team + Draft_Age +              GAA + SVPCT + GSAA + QS + QS. + RBS + GPS, data=nhlgoalies, trControl=train_control, method="lm", tuneGrid=grid)

结果是

Error in train.default(x, y, weights = w, ...) :   The tuning parameter grid should have columns intercept

我一直认为模型本身应该生成截距。我从文档中了解到它需要截距参数,但我不知道如何在模型创建之前生成它?


回答:

你没有提供数据集的链接,所以我为示例生成了一个数据集。

    ## Make datancol <- 3Xs       <- matrix(rnorm(300*ncol), nrow = 300, ncol = ncol) %>% as.tibble()Yvec     <- rnorm(300)train_control <- trainControl(method="cv", number=10)    ## Fit lm model using trainfit  <- train(x= Xs, y = Yvec, method = "lm",trControl = train_control)

所以你只需不指定tuneGrid参数就可以了。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注