r - 关于使用 R 中的 Caret 包在 LASSO 中进行预处理
问题描述
我在没有预处理和预处理的情况下拟合了相同的 LASSO 逻辑回归模型。我使用了 5 折交叉验证。
但是,对于最佳调整参数,我得到了相同的值。
我的代码如下,
无需预处理
require(ISLR)
require(caret)
set.seed(123)
fitControl <- trainControl(method = "cv",number = 5,savePredictions = T)
mod_fitg <- train(Direction ~ Lag1 + Lag2 + Lag3 + Lag4 + Volume,
data=Smarket, method = "glmnet",
trControl = fitControl,
tuneGrid=expand.grid(
.alpha=1,
.lambda=10^seq(-5, 5, length =100)),
family="binomial")
mod_fitg$bestTune
> mod_fitg$bestTune
alpha lambda
25 1 0.002656088
带预处理
set.seed(123)
fitControl <- trainControl(method = "cv",number = 5,savePredictions = T)
mod_fitgc <- train(Direction ~ Lag1 + Lag2 + Lag3 + Lag4 + Volume,
data=Smarket, method = "glmnet",
trControl = fitControl,
tuneGrid=expand.grid(
.alpha=1,
.lambda=10^seq(-5, 5, length =100)),
family="binomial",preProcess = c("center", "scale"))
mod_fitgc$bestTune
> mod_fitgc$bestTune
alpha lambda
25 1 0.002656088
是否有可能知道我在这里是否犯了任何错误?
我是否正确使用 caret 包?
我使用 caret 包安装了其他模型,如 SVM 或 KNN。对于那些模型,我在预处理后得到了不同的结果。
谢谢
解决方案
你的代码很好。你有点回答了你的问题I fitted other models like SVM or KNN using caret package. For those models i got different results after pre processing
。这里有一些参考资料可以回答你的问题。
推荐阅读
- java - 数组 Java Ljava.lang.String
- javascript - 如何创建 BTC 到 USD 计算器,反之亦然?
- python - 在 Tkinter 中按下按钮时,如何使用函数执行多个任务?
- python - 如何通过不和谐机器人提及用户 - python
- java - 使用 ANT 从嵌套的 zip 文件中解压缩特定的 zip 文件
- c# - 仅在不同文件夹中包含特定 nuget 包的 .xml 文件
- css - 状态更新时反应滚动位置跳跃
- swift - 如何设置约束以侵入另一个视图
- websphere - 如何对与 ibm bpm 实例相关的文件信息进行 cmis 查询?
- google-app-engine - Google App Engine 支持带有 A 记录的裸域这一事实是否意味着 GAE IP 实际上是静态的?