探索 grid search 結果
你現在要探索影片中定義的 GridSearchCV 物件之 cv_results_ 屬性。這是一個字典,可以讀入 pandas DataFrame,並包含這次進行的 grid search 許多有用的資訊。
以下是此屬性中不同欄位型態的提醒:
time_欄param_欄(每個超參數各一個)以及單一的params欄(包含所有超參數設定)- 每個交叉驗證摺疊(cv fold)的
train_score欄,另外還有mean_train_score與std_train_score欄 - 每個交叉驗證摺疊的
test_score欄,另外還有mean_test_score與std_test_score欄 rank_test_score欄,數值從 1 到 n(迭代次數),依據各列的mean_test_score進行排名
本練習屬於課程
Python 超參數調校
練習說明
- 將
grid_rf_class這個 GridSearchCV 物件的cv_results_屬性讀入為一個資料框,並列印整個資料框以檢視。 - 取出並列印那個「單一」欄位(
params),其中包含每次 grid search 迭代所使用之所有超參數的字典。 - 使用
rank_test_score欄作為索引,取出並列印具有最佳平均測試分數的那一列。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Read the cv_results property into a dataframe & print it out
cv_results_df = pd.DataFrame(grid_rf_class.____)
print(____)
# Extract and print the column with a dictionary of hyperparameters used
column = cv_results_df.loc[:, [____]]
print(____)
# Extract and print the row that had the best mean test score
best_row = cv_results_df[cv_results_df[____] == ____ ]
print(best_row)