1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

GridSearchCV メモ

Posted at

sklearn.model_selection.GridSearchCVをもとに作成しました.

メモみたいな感じです.

Parameters

1. estimator : estimator object

ここにはモデルが入ります.
ex.)

  lgb.LGBMClassifier(silent=False) ,
  keras.layers.Sequential()
     .add(Dense((units=64, activation='relu', input_dim=100))))
     .add(Dense(units=10, activation='softmax'))
 など,いわゆるモデルです.

2. param_grid : dict or list of dictionaries

ここでは,GridSearchで探すハイパーパラメータの辞書です.
つまり,この辞書はモデルに依存します.
ex.) LGBMにおいて

grid_param = {
    'objective': ['multiclass'],
    'class_weight':['balanced'],
    'learning_rate':[0.2,0.5],
    "num_leaves":[31,33],
    'metric': ['multi_logloss'],
    "n_estimators": [100],
    "reg_alpha":[0.1,0.3],
    "reg_lambda":[0.1,0.3],
    'verbosity':[ -1]
}

など

3. scoring: str, callable, list, tuple or dict, default=None

このメトリックはスコアの査定のために使用される指標(メトリック)です.
そのため,モデルに依存させず,GridSearchCVが提供しているmetricを使用する必要があります.
つまり,この中(Metrics and scoring: quantifying the quality of prediction)から選ぶ必要があります.

4. n_job: int, default=None

これは並列に動かす数です.つまり,考えるハイパーパラメータを並列に処理し
実行時間を抑えてくれます(-1にするとコア数になります).

5. refit:bool, str, or callable, default=True

最良だと考えられるモデルを"best_estimator_"で簡単にとってこれるようにします.
(実際の学習に便利)

6. cv: int, cross-validation generator or an iterable, default=None

これでデータを何分割してk-Fold CVをするか決定します.

7. verbose: int

GridSearchCVを使用した際の出力(output)に関する設定を行います.
x>1 で,一つのパラメータの一つのk-foldにかかった時間を表示し,
x>2 で,そのスコアを表示し,
x>3 で,今までかかった時間も表示します.

(これだけdefaul値が書いてないですが,おそらく4くらいがデフォルトだと思います.)

8. pre_dispatch: int, or str, default=n_jobs

並列実行時にディスパッチされるジョブの数を制御します.
これをすることで,メモリ消費量が爆発的に増加するのを防ぐことができます.

(None にすると早くすみます.)

9. error_score: ‘raise’ or numeric, default=np.nan

エラーが起きた際に割り当てるスコアを決定できます.

10. return_train_score: bool, default=False

Falseの場合, cv_results_ 属性にトレーニングスコアが含まれません.
トレーニングスコアを計算することで,さまざまなパラメータ設定が
オーバーフィッティング/アンダーフィッティングのトレードオフに
どのような影響を与えるかを知ることができますが,
トレーニングセットのスコアを計算するのは計算量が多く,
最良の汎化性能をもたらすパラメータを選択するためには,厳密には必要ありません.

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?