我在使用R中的caret包时遇到了一个非常令人困惑的问题。为了进行比较,我正在训练多个模型。在调用train几次之后,无论我使用哪个train调用/训练模型,都会出现以下错误信息:
错误: 在类“formula”的对象上没有应用于“train”的适用方法
一旦出现这个错误,就不会训练其他模型,而是会出现以上错误。
当我重新启动R并再次加载caret包时,出现此错误的相同模型将轻松得到训练。
我很困惑这里的问题是什么?
我为我尝试创建的5个训练模型制作了一个函数:
尽管我已经成功训练了所有这些模型,但我正在尝试创建一个集成函数,以便将所有这些调用一起运行。
错误: 在类“formula”的对象上没有应用于“train”的适用方法
一旦出现这个错误,就不会训练其他模型,而是会出现以上错误。
当我重新启动R并再次加载caret包时,出现此错误的相同模型将轻松得到训练。
我很困惑这里的问题是什么?
我为我尝试创建的5个训练模型制作了一个函数:
test = function(){
a = train(demand ~ temp, oldData, 'lm')
print("Done A")
b = train(demand ~ temp, oldData, 'rf', ntree = 10)
print("Done B")
c = train(demand ~ temp, data = oldData, method = "gbm",
trControl = objControl, tuneGrid = gbmGrid, verbose = F)
print("Done C")
d = train(demand ~ temp, oldData, 'mlp')
print("Done D")
e = train(demand ~ temp, oldData, 'monmlp')
print("Done E")
}
尽管我已经成功训练了所有这些模型,但我正在尝试创建一个集成函数,以便将所有这些调用一起运行。