Chuyển đến nội dung chính

第 13 課:交叉驗證與超參數調優

KFold/StratifiedKFold、GridSearch/RandomizedSearch,以及如何讀取調優結果以選擇更可靠的模型。

🧠 人工智慧與機器學習 — 第 12 課 第 13 課:交叉驗證與超參數 調音

機器學習:從基礎到高級

第 2 部分:業界標準工作流程

亞洲開發網

簡介

單一的訓練-測試分割可能會讓您對模型品質產生錯誤的感覺。交叉驗證提供了更穩定的評估,而超參數調整可以幫助您找到合理的配置,而無需依賴資料分割的運氣。

課程目標

  • 理解為什麼你不應該絕對相信單一分裂。
  • 使用交叉驗證來估計更穩定的性能。
  • 根據受控製程調整超參數。

什麼是交叉驗證?

數據被分成很多部分。每次,一個折疊進行驗證,其餘折疊進行訓練。最終結果是多次評價的平均值。

什麼是超參數?

超參數是您在訓練之前選擇的值,例如 max_depth、n_estimators、C 或learning_rate。它們與模型從數據中學習的參數不同。

實際調優

  • 從簡單的基線開始。
  • 選擇最不重要的超參數。
  • 使用 GridSearchCV 或 RandomizedSearchCV。
  • 追蹤折疊之間的平均分數和標準差。

範例程式碼

從 sklearn.model_selection 導入 RandomizedSearchCV
從 sklearn.ensemble 導入 RandomForestClassifier

常見錯誤

  • 當基線尚未穩定時,調整範圍太寬。
  • 使用測試集調整超參數。
  • 進行大量測試但不記錄結果。

練習練習

  • 使用 3 個超參數調整基於樹的模型。
  • 比較調音前和調音後的分數。
  • 錄音評論:調音真的有改善,還是只改善很少?

完成標準

  • 可以在完整的管道中使用交叉驗證。
  • 區分用於調整的驗證和用於最終評估的測試。
  • 有系統地記錄實驗。

逐步練習(進階)

  1. 使用標準分割運行基線。
  2. 運行 KFold 或 StratifiedKFold 5 折。 3.使用RandomizedSearchCV進行調優,重要參數不超過4個。
  3. 比較配置之間的平均得分和標準得分。
  4. 根據性能+穩定性最終確定配置。

應提交工件

  • 按分數排名前 10 名的配置表。
  • 以倍數分割的分數分佈圖。
  • 停止調整以避免過度搜尋的規則。

自測題

  • 什麼時候應該優先使用 RandomizedSearchCV 而不是 GridSearchCV?
  • 折疊之間的高標準差意味著什麼?
  • 為什麼測試集不用於調優?