実際のチューニング
最適なハイパーパラメータは、データに最適なモデルを生み出します。チューニンググリッドを決めたら、各グリッドポイントでモデルを学習・評価し、どのポイントが最も良い性能を出すかを確認する必要があります。
k-fold 交差検証を使い、アンサンブルの木の本数が n、チューニンググリッドの組み合わせ数が t の場合、合計で学習するモデル数は k * n * t となるため、時間がかかることがあります。
いよいよ実際のチューニングを行いましょう。customers_train と、前の演習の結果である boost_spec と tunegrid_boost が読み込まれています。
# A tibble: 27 x 3
tree_depth learn_rate sample_size
<int> <dbl> <dbl>
1 1 0.0000000001 0.1
2 8 0.0000000001 0.1
3 15 0.0000000001 0.1
4 1 0.00000316 0.1
...
この演習はコースの一部です
Rで学ぶTree-Based ModelsによるMachine Learning
演習の手順
vfold_cv()を使って学習データから 6 分割のフォールドを作成し、foldsとして保存します。tune_grid()を使い、フォールド、チューニンググリッド、roc_auc指標でboost_specをチューニングします。結果はtune_resultsとして保存します。- チューニング過程の結果を可視化するため、結果をプロットします。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Create CV folds of training data
folds <- ___
# Tune along the grid
tune_results <- ___(___,
still_customer ~ .,
resamples = ___,
grid = ___,
metrics = metric_set(___))
# Plot the results
___(___)