始める無料で始める

グリッドサーチ

ハイパーパラメータチューニングは、sklearn を使ってさまざまな入力パラメータを指定して行えます。各パラメータは numpy の関数で表現できます。param_grid で指定したすべてのハイパーパラメータの組み合わせを総当たりで探索する方法が、グリッドサーチです。この演習では、ROC 曲線の AUC を評価指標として、サンプルのランダムフォレスト分類器のハイパーパラメータをグリッドサーチで探索します。

X_trainy_trainX_testy_test はワークスペースに用意されています。pandaspdnumpynpsklearn もインポート済みです。さらに、sklearn.model_selection から GridSearchCV() が利用できます。

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

PythonでMachine Learningを使って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.____)
コードを編集して実行