fit_best()
獲取模型調整的結果,並使用與最佳性能相關的調整參數將其擬合到訓練集。
用法
fit_best(x, ...)
# S3 method for default
fit_best(x, ...)
# S3 method for tune_results
fit_best(
x,
metric = NULL,
parameters = NULL,
verbose = FALSE,
add_validation_set = NULL,
...
)
參數
- x
-
類
tune_results
的結果(來自tune_grid()
、tune_bayes()
等函數)。應該使用控製選項save_workflow = TRUE
。 - ...
-
目前未使用。
- metric
-
要優化的指標的字符串(或
NULL
)。如果是NULL
,則使用第一個指標。 - parameters
-
可選的 1 行調整參數設置小標題,每個調整參數有一列。該小標題應包含每個調整參數標識符的列(例如,如果使用
tune("my_param")
,則為"my_param"
)。如果是NULL
,則此參數將設置為select_best(metric)
。 - verbose
-
打印日誌記錄的邏輯。
- add_validation_set
-
當
x
中嵌入的重采樣分為訓練集和驗證集時,驗證集是否應該包含在用於訓練模型的數據集中?如果沒有,則僅使用訓練集。如果是NULL
,則驗證集不用於源自rsample::validation_set()
的重新采樣,而用於源自rsample::validation_split()
的重新采樣。
細節
此函數是以下手動步驟的快捷方式:
best_param <- select_best(tune_results, metric) # or other `select_*()`
wflow <- finalize_workflow(wflow, best_param) # or just `finalize_model()`
wflow_fit <- fit(wflow, data_set)
與 last_fit()
相比,該函數需要一個最終模型,將模型擬合到 rsample::initial_split()
定義的訓練集上,並根據測試集計算指標。
例子
library(recipes)
library(rsample)
library(parsnip)
library(dplyr)
data(meats, package = "modeldata")
meats <- meats %>% select(-water, -fat)
set.seed(1)
meat_split <- initial_split(meats)
meat_train <- training(meat_split)
meat_test <- testing(meat_split)
set.seed(2)
meat_rs <- vfold_cv(meat_train, v = 10)
pca_rec <-
recipe(protein ~ ., data = meat_train) %>%
step_normalize(all_numeric_predictors()) %>%
step_pca(all_numeric_predictors(), num_comp = tune())
knn_mod <- nearest_neighbor(neighbors = tune()) %>% set_mode("regression")
ctrl <- control_grid(save_workflow = TRUE)
set.seed(128)
knn_pca_res <-
tune_grid(knn_mod, pca_rec, resamples = meat_rs, grid = 10, control = ctrl)
knn_fit <- fit_best(knn_pca_res, verbose = TRUE)
#> Using rmse as the metric, the optimal parameters were:
#> neighbors: 6
#> num_comp: 4
#>
#> ℹ Fitting using 161 data points...
#> ✔ Done.
predict(knn_fit, meat_test)
#> # A tibble: 54 × 1
#> .pred
#> <dbl>
#> 1 19.7
#> 2 20.1
#> 3 15.0
#> 4 13.2
#> 5 19.6
#> 6 21.1
#> 7 19.9
#> 8 18.5
#> 9 19.6
#> 10 17.9
#> # ℹ 44 more rows
相關用法
- R tune fit_resamples 通過重采樣擬合多個模型
- R tune filter_parameters 刪除一些調整參數結果
- R tune finalize_model 將最終參數拚接到對象中
- R tune coord_obs_pred 對觀察值與預測值的繪圖使用相同的比例
- R tune extract-tune 提取調整對象的元素
- R tune conf_mat_resampled 計算重采樣的平均混淆矩陣
- R tune tune_bayes 模型參數的貝葉斯優化。
- R tune collect_predictions 獲取並格式化由調整函數產生的結果
- R tune show_best 研究最佳調整參數
- R tune expo_decay 指數衰減函數
- R tune merge.recipe 將參數網格值合並到對象中
- R tune autoplot.tune_results 繪圖調整搜索結果
- R tune tune_grid 通過網格搜索進行模型調整
- R tune dot-use_case_weights_with_yardstick 確定案例權重是否應傳遞至標準
- R tune message_wrap 寫一條尊重線寬的消息
- R tune prob_improve 用於對參數組合進行評分的獲取函數
- R tune last_fit 將最終的最佳模型擬合到訓練集並評估測試集
- R update_PACKAGES 更新現有的 PACKAGES 文件
- R textrecipes tokenlist 創建令牌對象
- R themis smotenc SMOTENC算法
- R print.via.format 打印實用程序
- R tibble tibble 構建 DataFrame 架
- R tidyr separate_rows 將折疊的列分成多行
- R textrecipes step_lemma 標記變量的詞形還原
- R textrecipes show_tokens 顯示配方的令牌輸出
注:本文由純淨天空篩選整理自Max Kuhn等大神的英文原創作品 Fit a model to the numerically optimal configuration。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。