開始使用免費開始

使用 sklearn 進行交叉驗證

如同第 2 章所說,對資料集過度擬合是分析中的常見問題。當模型過度貼合訓練資料時,在訓練資料上的表現很好,但無法在資料集之外泛化。

雖然你在第 2 章學到的訓練/測試切分有助於避免模型對訓練集過度擬合,但在進行超參數調校時,可能會對測試集產生過度擬合,因為你是為了在測試集上取得最佳預測結果而調整模型。因此,建議在不同的測試集合上驗證模型。K 折交叉驗證正是為了達成這件事:

  • 將資料集分成訓練集與測試集。
  • 擬合模型、進行預測並計算分數(你可以指定要使用 accuracy、precision、recall 等指標)。
  • 總共重複上述流程 k 次。
  • 輸出 10 次分數的平均值。

在這個練習中,你會在資料集上使用交叉驗證,並用 cross_val_score 函式來評估結果。

本練習屬於課程

HR 分析:用 Python 預測員工流失

檢視課程

練習說明

  • 從模組 sklearn.model_selection 匯入用於實作交叉驗證的函式 cross_val_score()
  • 列印你模型的交叉驗證分數,並以 cv 超參數指定 10 個摺疊。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# Import the function for implementing cross validation
from sklearn.model_selection import ____

# Use that function to print the cross validation score for 10 folds
print(____(model,features,target,____=10))
編輯並執行程式碼