請參考下列虛擬程式碼(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)
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)
- A. Hold-out驗證(Hold-out Validation)
- B. 留一交叉驗證LOOCV(Leave-One-Out Cross Validation) ✓ 正確答案
- C. K-fold交叉驗證(K-fold Cross Validation)
- D. 拔靴法(Bootstrap)驗證
詳細解析
程式碼描述每次以單一樣本作為測試集、其餘N-1筆作為訓練集,循環N次取平均,這正是留一交叉驗證(LOOCV)的定義。LOOCV是K-fold當K=N的特殊案例,無隨機性但計算成本高。
出題年份:114 難度:★★☆