当我使用 preProcess = "medianImpute" 时,插入符号会出现缺失值错误?
Caret gives a missing values error when I use preProcess = "medianImpute"?
最近完成了 Datacamp 的课程 "Machine Learning toolbox" 我想应用我学到的东西:插入符号可以使用参数输入缺失值 preProcess = "medianImpute"
如果我 运行 table(complete.cases(df))
我得到:
FALSE TRUE
24429 6042
所以我需要对缺失值做一些处理。 video 让它看起来如此简单!
mod.lm.medians <- train(target ~.,
data = train,
trControl = train_control,
method = "lm",
preProcess = "medianImpute")
给出:
Error in na.fail.default(list(target = c(5850000L, 6000000L,
5700000L, : missing values in object
我找到了另一个 SO 答案 ,它告诉我尝试 na.action=na.exclude
它让我的模型 运行 但仅限于完整的案例,这不是我想要的。
我对caret预处理参数的理解有误吗?我预计缺失值将替换为 df 中每个观察的特征的中值。相反,我收到了这个错误。
我遇到了完全相同的问题。我参加了名为 "Machine Learning Toolbox" 的数据营课程,它在他们的控制台上运行,但在我的控制台上不起作用。
我认为问题在于使用 preProcess 参数的公式。尝试先打破预处理然后训练...
# first preprocess
preproc <- preProcess(train, method = "medianImpute")
trainPreProc<- predict(preproc,train)
mod.lm.medians <- train(target ~.,
data = train,
trControl = train_control,
method = "lm",
preProcess = "medianImpute")
最近完成了 Datacamp 的课程 "Machine Learning toolbox" 我想应用我学到的东西:插入符号可以使用参数输入缺失值 preProcess = "medianImpute"
如果我 运行 table(complete.cases(df))
我得到:
FALSE TRUE
24429 6042
所以我需要对缺失值做一些处理。 video 让它看起来如此简单!
mod.lm.medians <- train(target ~.,
data = train,
trControl = train_control,
method = "lm",
preProcess = "medianImpute")
给出:
Error in na.fail.default(list(target = c(5850000L, 6000000L, 5700000L, : missing values in object
我找到了另一个 SO 答案 na.action=na.exclude
它让我的模型 运行 但仅限于完整的案例,这不是我想要的。
我对caret预处理参数的理解有误吗?我预计缺失值将替换为 df 中每个观察的特征的中值。相反,我收到了这个错误。
我遇到了完全相同的问题。我参加了名为 "Machine Learning Toolbox" 的数据营课程,它在他们的控制台上运行,但在我的控制台上不起作用。
我认为问题在于使用 preProcess 参数的公式。尝试先打破预处理然后训练...
# first preprocess
preproc <- preProcess(train, method = "medianImpute")
trainPreProc<- predict(preproc,train)
mod.lm.medians <- train(target ~.,
data = train,
trControl = train_control,
method = "lm",
preProcess = "medianImpute")