1

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 の平均をとります。

これをすべて実行するたびに、異なる平均値が得られます。これは期待されていますか?

4

1 に答える 1