Leave-one-out Cross Validation を実行している 506 行のデータセットがあります。平均二乗誤差を取得したら、見つけた平均二乗誤差の平均を計算しています。これは、実行するたびに変化しています。これは期待されていますか?もしそうなら、誰かがそれを実行するたびに変化する理由を説明できますか?
CVを1つ除外するには、最初に行をシャッフルします.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)
そして、取得したすべての MSE の平均をとります。
これをすべて実行するたびに、異なる平均値が得られます。これは期待されていますか?