当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R tune fit_best 将模型拟合到数值最优配置


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/fit_best.R

相关用法


注:本文由纯净天空筛选整理自Max Kuhn等大神的英文原创作品 Fit a model to the numerically optimal configuration。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。