r语言 - 插入符号的 train.recipe 似乎没有应用配方过程来删除 NA,随后交叉验证失败



插入符号包似乎没有应用配方过程来删除用于交叉验证的NA。我想我忽略了什么。。。

iris_dt <- as.data.table(iris)
iris_dt[3:5,':='(Petal.Length=NA)]
control <- trainControl(method='cv',number=2,allowParallel = T)
rec <- recipe(Petal.Length ~ Sepal.Width,iris_dt) %>% step_naomit(all_outcomes(),all_predictors())
train(rec,iris_dt,method='lm',trControl = control)

分位数错误。默认值(y,probs=seq(0,1,length=cuts((:缺少值,并且如果"na.rm"为FALSE ,则不允许使用NaN

当回归器为NA但给出不同的错误消息时,它也不起作用。当数据被准备、烘焙并传递到train(.)的x/y接口时,它就工作了。

非常感谢你的提示。

配方工作正常,但重新采样是在使用配方之前创建的。您应该在调用train或使用公式方法之前删除它们

> iris_dt <- as.data.table(iris)
> iris_dt[3:5,':='(Petal.Length=NA)]
> control <- trainControl(method='cv',number=2,allowParallel = T)
> rec <- recipe(Petal.Length ~ Sepal.Width,iris_dt) %>% step_naomit(all_outcomes(),all_predictors())
> train(Petal.Length ~ Sepal.Width,iris_dt,method='lm',trControl = control, na.action = na.omit)
Linear Regression 
150 samples
1 predictor
No pre-processing
Resampling: Cross-Validated (2 fold) 
Summary of sample sizes: 74, 73 
Resampling results:
RMSE      Rsquared   MAE     
1.610659  0.1885815  1.363651
Tuning parameter 'intercept' was held constant at a value of TRUE

相关内容

  • 没有找到相关文章

最新更新