[英]R caret package, how do I tune the intercept and slope in lm?
我正在嘗試使用 R caret 包對線性回歸模型執行 5 折交叉驗證。 我是機器學習的新手,但我希望每次“重復”都會有一個新的斜率和截距適合“訓練”數據集。 然而,默認情況下,所有重復的斜率和截距都保持不變,並且測試似乎只是在每次重復時輸出新的 RMSE 和 Rsquared。 有沒有辦法允許調整攔截?
這是我的代碼:
regressControl <- trainControl(method="repeatedcv",
number = 5,
repeats = 5)
regress <- train(y ~ x,
data = myData,
method = "lm",
trControl = regressControl)
regress
輸出如下所示:
Linear Regression
54 samples
1 predictor
No pre-processing
Resampling: Cross-Validated (5 fold, repeated 5 times)
Summary of sample sizes: 45, 44, 42, 42, 43, 43, ...
Resampling results:
RMSE Rsquared
0.01162334 0.9614908
Tuning parameter 'intercept' was held constant at a value of TRUE
regress$finalModel
Call:
lm(formula = .outcome ~ ., data = dat)
Coefficients:
(Intercept) x
-0.03054 0.01690
您可以添加和更改 tuneGrid 參數,默認為 TRUE
regressControl <- trainControl(method="repeatedcv",
number = 5,
repeats = 5)
regress <- train(y ~ x,
data = myData,
method = "lm",
trControl = regressControl),
tuneGrid = expand.grid(intercept = TRUE)
regress
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.