2017-10-07 107 views
0

在R中使用插入符號包時,我正面臨一個非常混亂的問題。爲了進行比較,我正在訓練多個模型。打了幾個電話訓練後,此錯誤信息開始顯示它曾經培養呼叫/火車模型使用: -在使用插入符號包進行多個模型的培訓時出錯

錯誤UseMethod(「訓練」):適用於對「訓練」沒有適用的方法類「公式」的對象

一旦出現此錯誤,則不會訓練其他模型,但會出現上述錯誤。

當我重新啓動R並重新加載插入符號包時,出現此錯誤的相同模型可輕鬆培訓。

我很困惑這裏似乎是什麼問題?

我已經做了功能的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") 
} 

PS:雖然,我已經成功地訓練所有這些模型,我試圖創建其中集合函數I打算一起運行所有這些呼叫。

+0

如果所有型號都成功培訓,如您所說,您重新啓動R &&裝載插入符號,您的問題到底是什麼?你甚至可以重現這個問題嗎? – desertnaut

+0

我已經逐一成功地訓練了所有模型:訓練一個模型,然後重新啓動R,然後訓練下一個模型。我想在一個R課程中訓練所有模型! –

回答

0

我發現了問題所在: -

這是製造麻煩的「MLP」模式的唯一模式。當我們呼叫列車使用「mlp」方法時,caret會附加2個「RSNNS」和「Rcpp」包。我的猜測是,這些軟件包取決於我們使用列車功能提供的信息。一旦他們被附上,這些信息被保留,導致*上述錯誤之後,沒有其他模型能夠被訓練。如果我們在再次打電話前分離這兩個包,模型將會成功培訓。

+0

好。你應該接受你自己的答案 - 沒有錯:https://stackoverflow.com/help/self-answer – desertnaut

相關問題