開始使用免費開始

Grid search

你可以用 sklearn 進行超參數調校,只要提供各種輸入參數;每個參數都能搭配 numpy 的函式來編碼。當中有一種方法叫作「grid search(網格搜尋)」,會把 param_grid 指定的所有超參數組合完整跑過一遍。在這個練習中,你會用網格搜尋來探索一個範例隨機森林分類器的超參數,並以 ROC 曲線的 AUC 作為評分函式。

工作環境中已提供 X_trainy_trainX_testy_testpandas(縮寫為 pd)、numpy(縮寫為 np),以及 sklearn 也都可用。此外,sklearn.model_selectionGridSearchCV() 也已可使用。

本練習屬於課程

用 Python 透過機器學習預測 CTR

檢視課程

練習說明

  • 建立 n_estimatorsmax_depth 兩個超參數各自的取值清單。
  • 建立一個隨機森林分類器。
  • 設定網格搜尋以遍歷所有超參數組合。
  • 使用 .best_score_ 印出最佳 AUC 分數,並用 .best_estimator_ 印出產生此分數的最佳估計器。

動手互動練習

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

# Create list of hyperparameters 
n_estimators = [10, 50]
max_depth = [5, 20]
param_grid = {'n_estimators': ____, 'max_depth': ____}

# Use Grid search CV to find best parameters 
print("starting RF grid search.. ")
rf = ____()
clf = ____(estimator = rf, param_grid = ____, scoring = 'roc_auc')
clf.fit(X_train, y_train)
print("Best Score: ")
print(clf.____)
print("Best Estimator: ")
print(clf.____)
編輯並執行程式碼