PyCaret関連で参考になった記事を備忘録的にまとめていきます。
create_modelのパラメータ
- fold:クロスバリデーションでの分割数(デフォルト:10)
- cross_validation:クロスバリデーションを実行しない場合にはFalseにする(単にhold-out法を実行したい場合など)
精度はテストセットで評価される(おそらく)* - probability_threshold:分類の閾値の設定
- その他、各モデルのハイパーパラメータを指定可能
# ロジスティック回帰でモデルの学習と性能評価を実行してみる。
lr = create_model('lr')
# クロスバリデーションの分割数を指定可能
lr = create_model('lr',fold = 5)
# クロスバリデーションを行わない場合
lr = create_model('lr', cross_validation = False)
# 閾値を調整する。
lr = create_model('lr', probability_threshold = 0.25)
# ハイパーパラメータを設定することも可能
dt = create_model('dt', max_depth = 5)
# 検証の結果は`pull`で呼び出し可能
dt_results = pull()
ハイパーパラメータの最適化
次に、ハイパーパラメータの最適化を行います。
- 第一引数:モデルの名称
- 第二引数:ランダムグリッドサーチの回数
- 第三引数:最適化の対象
# Random Forestのモデルを最適化
tuned_rf = tune_model('rf', n_iter = 500, optimize = 'r2')
ハイパーパラメータの最適化2
tune_model関数の第一引数にモデル(作成したランダムフォレストモデル)を指定します。
optimize引数には対象となる指標を指定します。今回はR2を設定しています。
tuned_rf = tune_model(rf, optimize = "r2", fold = 10)
tuned_rf
ハイパーパラメータの最適化3
【ハイパーパラメータ調整】
●n_iter:学習時のイテレーションの回数設定
●optimize:評価指標の選択
●custom_grid:自分でハイパーパラメータの項目・値範囲を指定
●search_library/search_algorithm{default:RandomGridSearch}:最適化アルゴリズムの変更(scikit-optimize、optunaなど)
●return_tuner{defalut:False}:最適化アルゴリズムを確認できるよう変数出力
●choose_better{defalut:False}:tuned_modelで性能が改善されなかった場合は調整前の結果を選択する
https://note.com/kiyo_ai_note/n/n97d94a946c68
公式
その他
実際にハイパーパラメータの引数を調整してうまいこと改善していっているような記事があれば良いんだけどなぁ…
「今回は引数なしで…」が多い