首页 > 解决方案 > “错误:'train.default' 不是从 'namespace:caret' 导出的对象”尝试运行 caret::train()

问题描述

每次我尝试使用 caret::train() 训练模型时,例如

library(tidyverse)
library(caret)

#reprex df x vals:
mydata <- data.frame(product = sample(c("apples", "pears", "carrots", "potatoes"), replace=TRUE),
                     temperature_C = rnorm(1000, mean=15, sd=10),
                     weekday = sample(c("monday", "tuesday", "wednesday", "thursday", "friday"), replace=TRUE),
                     weight = rnorm(1000, mean=300, sd=50))

#reprex df y vals:
mydata$value = mydata$weight + 10*mydata$temperature_C + rnorm(1000,70,25) + 
  case_when(mydata$weekday %in% c("monday", "tuesday", "wednesday") ~ 200,
            mydata$weekday %in% c("thursday", "friday") ~ -150,
            TRUE ~ NA_real_)

#create folds
myFolds <- createFolds(mydata$value, k = 10)


# Create traincontrol object
myControl_continuous  = trainControl(verboseIter = TRUE, index = myFolds )

 # Fit a glmnet:
 model_glmnet <- caret::train(
       value ~ .,
       mydata,
       metric = "RMSE",
       method = "glmnet",
       tuneLength = 100,
       trControl = myControl_continuous,
       preProcess = c("zv", "knnImpute", "center", "scale")
     )

我收到错误消息:

错误:“train.default”不是从“namespace:caret”导出的对象

我昨天确实在我的所有其他库旁边重新安装了插入符号,所以它(和所有其他包)绝对应该是最新版本。今天早上重新安装后它也运行良好,这让我觉得特别奇怪。

请任何人都可以建议如何解决这个问题?

标签: rnamespacesr-caret

解决方案


推荐阅读