iPAS 考題解析請參考下列虛擬程式碼(pseudocode),最可能是在描述何種驗證法? for i from 1 to N: test_set = data[i] # 第i筆資料作為測試集 train_set = data except data[i] # 其餘N-1筆作為訓練集 model.fit(train_set) evaluate(model, test_set) return average(all_metrics)
你的作答
在題目頁作答不會存進學習紀錄,想留下紀錄可以到題庫練習。
解析
正確答案:B. 留一交叉驗證LOOCV(Leave-One-Out Cross Validation)
程式碼描述每次以單一樣本作為測試集、其餘N-1筆作為訓練集,循環N次取平均,這正是留一交叉驗證(LOOCV)的定義。LOOCV是K-fold當K=N的特殊案例,無隨機性但計算成本高。
每個選項為什麼對或錯
-
A Hold-out驗證(Hold-out Validation) 錯誤選項
Hold-out驗證只分一次訓練/測試集,不循環N次。
-
B 留一交叉驗證LOOCV(Leave-One-Out Cross Validation) 正解
每次留一筆資料作測試、循環N次取平均,完全符合LOOCV的定義。
-
C K-fold交叉驗證(K-fold Cross Validation) 錯誤選項
K-fold每次使用K分之一的資料作測試,非單一樣本。
-
D 拔靴法(Bootstrap)驗證 錯誤選項
拔靴法使用有放回抽樣生成訓練集,與此程式碼邏輯不同。
答案、題目或解析有問題?回報這題