我有一個506行的數據集,我正在執行Leave-one-out交叉驗證,一旦得到均方誤差,我計算均方差的均值我發現錯誤。每次運行它都會改變。這是預期的嗎?如果是這樣,有人可以解釋爲什麼每次運行它時都會改變它?在R中使用lm函數留下一個交叉驗證
爲此留出一個簡歷,我第一次洗牌的行,df是數據幀
df <-df[sample.int(nrow(df)),]
然後,我分裂數據幀到506個的數據幀,並將其發送到LM(),並得到了MSE對於每一個數據幀(在這種情況下,每一行)
fit <- lm(train[,lastcolumn] ~.,data = train)
pred <- predict(fit,test)
pred <- mean((pred - test[,lastcolumn])^2)
然後我把我得到的所有中小企業的意思。
每次我運行所有這些,我有不同的意思。這是預期的嗎?
請提供一個可重現的例子。 –
@MatthewLundberg,希望這個編輯有幫助 – pa1geek
可重複的手段提供樣本數據。如果更方便,您也可以使用其中一個內置數據集(請參閱'?data')。 –