見出し画像

グリットサーチの使い方

グリットサーチは使用する機械学習アルゴリズムの最適なパラメータを探す手法。

使用する機械学習のパラメータを確認し、そのパラメータの数値をいくつ試すかどのように試すかは作成者が決める。

そのパラメータの中で、どれが一番いい数字を出すかを見る

今回は決定木。

グリッドサーチを使用するには、まず、sklearn.model_selection より、GridSearchCV をインポート

from sklearn.model_selection import GridSearchCV

アルゴリズムは決定木

model = DT(random_state=0)

今回は決定木の深さだけ見る深さは 

max_depth

parameters = {'max_depth':[2,3,4,5,6,7,8,9,10]}

深さ2とか3とか4とかどの深さが良いのか確認したい。

グリットサーチ自体の設定

gcv = GridSearchCV(model, parameters, cv=5, scoring='roc_auc', return_train_score=True)

最低限使うもの

  • モデルの箱を代入した変数(必須) 

  • 探索するパラメータとその範囲を代入した変数(必須)

  • クロスバリデーションの分割数評価に使用する関数

  • 評価に使用する関数

今回は、必須である、モデルの箱を代入した変数と探索するパラメータとその範囲を代入した変数を用意し、評価に使用する関数にはこれまで使ってきたAUCを使用します。これまでと同様、まずは決定木モデルの箱を用意します。具体的には、インポートした決定木のライブラリの省略名をDT、モデル変数名をmodelとした場合、次のように記述します。パラメータはグリッドサーチで探索するので、ここではrandome_state以外のオプションは指定しません。

コードの解説
GridSearchCV(モデルの箱, パラメータの範囲を表す変数, cv=クロスバリデーションの分割数, scoring="評価指標", return_train_score=True)

この記事が気に入ったらサポートをしてみませんか?