RandomizedSearchCV 物件
就和 Scikit Learn 的 GridSearchCV 一樣,RandomizedSearchCV 提供許多實用功能,能更有效率地進行隨機搜尋。你將建立一個 RandomizedSearchCV 物件,並在 GridSearchCV 的基礎上做出必要的小調整。
需要的設定如下:
- 預設的 Gradient Boosting Classifier 估計器
- 5 折交叉驗證
- 使用 accuracy 作為評分指標
- 平行處理時使用 4 個核心
- 重新擬合最佳模型,並回傳訓練分數
- 隨機抽樣 10 個模型
超參數搜尋空間包含 learning_rate(在 0.1 到 2 之間的 150 個數值)以及 min_samples_leaf(20 到 64 之間且含邊界的所有整數)。
你會有 X_train 與 y_train 資料集可用。
本練習屬於課程
Python 超參數調校
練習說明
- 依上方說明建立參數搜尋空間。
- 依上方說明建立
RandomizedSearchCV物件。 - 將
RandomizedSearchCV物件擬合在訓練資料上。 - 列印模型過程為兩個超參數所選定的數值。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Create the parameter grid
param_grid = {'learning_rate': np.linspace(____,____,150), 'min_samples_leaf': list(range(____,65))}
# Create a random search object
random_GBM_class = ____(
estimator = ____,
____ = param_grid,
____ = 10,
scoring='____', n_jobs=____, cv = ____, refit=____, return_train_score = ____)
# Fit to the training data
random_GBM_class.fit(____, ____)
# Print the values used for both hyperparameters
print(random_GBM_class.____['param_learning_rate'])
print(random_GBM_class.cv_results_['____'])