始める無料で始める

RandomizedSearchCV オブジェクト

Scikit Learn の GridSearchCV と同様に、RandomizedSearchCV もランダムサーチを効率的に行うための便利な機能を多数提供します。ここでは、GridSearchCV オブジェクトから必要な小さな変更を加えて、RandomizedSearchCV オブジェクトを作成します。

必要なオプションは次のとおりです。

  • 既定の Gradient Boosting Classifier 推定器
  • 5 分割の交差検証
  • モデルの評価指標は accuracy
  • 並列処理に 4 コアを使用
  • 最良モデルで再学習(refit)し、学習スコアを返す
  • ランダムに 10 個のモデルをサンプリング

ハイパーパラメータグリッドは、learning_rate(0.1 から 2 までの 150 個の値)と、min_samples_leaf(20 以上 64 以下のすべての整数値)に対して設定してください。

X_trainy_train のデータセットが利用可能です。

この演習はコースの一部です

Pythonでのハイパーパラメータチューニング

コースを見る

演習の手順

  • 上記の条件に従ってパラメータグリッドを作成します。
  • 上記の条件に従って RandomizedSearchCV オブジェクトを作成します。
  • その RandomizedSearchCV オブジェクトを学習データに適合させます(fit します)。
  • 両方のハイパーパラメータについて、モデリングで選ばれた値を出力します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# 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_['____'])
コードを編集して実行