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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。