請參考下列虛擬程式碼(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 難度:★★☆