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


R tune show_best 研究最佳调整参数


show_best() 显示排名靠前的 sub-models 及其性能估计。

用法

show_best(x, ...)

# S3 method for default
show_best(x, ...)

# S3 method for tune_results
show_best(x, metric = NULL, n = 5, ...)

select_best(x, ...)

# S3 method for default
select_best(x, ...)

# S3 method for tune_results
select_best(x, metric = NULL, ...)

select_by_pct_loss(x, ...)

# S3 method for default
select_by_pct_loss(x, ...)

# S3 method for tune_results
select_by_pct_loss(x, ..., metric = NULL, limit = 2)

select_by_one_std_err(x, ...)

# S3 method for default
select_by_one_std_err(x, ...)

# S3 method for tune_results
select_by_one_std_err(x, ..., metric = NULL)

参数

x

tune_grid()tune_bayes() 的结果。

...

对于 select_by_one_std_err()select_by_pct_loss() ,此参数直接传递给 dplyr::arrange() ,以便用户可以对模型从最简单到最复杂进行排序。也就是说,对于参数 p ,如果 p 的值较小表示模型较简单,则传递不带引号的表达式 p ;如果值较大表示模型较简单,则传递 desc(p) 。这两项函数至少需要一项。请参阅下面的示例。

metric

将用于对模型进行排序的指标的字符值。 (有关更多详细信息,请参阅https://yardstick.tidymodels.org/articles/metric-types.html)。如果 x 中存在单个指标,则不需要。如果有多个指标但没有给出,则使用指标集中的第一个指标(并发出警告)。

n

要返回的顶部结果/行数的整数。

limit

可接受的性能损失限制(以百分比为单位)。请参阅下面的详细信息。

包含参数列的小标题。 show_best() 还包括性能指标列。

细节

select_best() 找到具有最佳性能值的调整参数组合。

select_by_one_std_err() 使用“one-standard 误差规则”(Breiman _el at,1984),该规则选择在数值最优结果的一个标准误差范围内的最简单模型。

select_by_pct_loss() 选择最简单的模型,其性能损失在某个可接受的范围内。

对于损失百分比,假设最佳模型的 RMSE 为 0.75,更简单的模型的 RMSE 为 1。损失百分比为 (1.00 - 0.75)/1.00 * 100 或 25%。请注意,损失始终为非负数。

参考

布雷曼,利奥;弗里德曼,J.H.;奥尔申,R.A.;斯通,C.J.(1984)。分类和回归树。加利福尼亚州蒙特雷:沃兹沃斯。

例子

data("example_ames_knn")

show_best(ames_iter_search, metric = "rmse")
#> # A tibble: 5 × 12
#>       K weight_func dist_power   lon   lat .metric .estimator   mean     n
#>   <int> <chr>            <dbl> <int> <int> <chr>   <chr>       <dbl> <int>
#> 1    33 triweight        0.511    10     3 rmse    standard   0.0728    10
#> 2     5 rank             0.411     2     7 rmse    standard   0.0740    10
#> 3    21 triweight        0.909    10     4 rmse    standard   0.0742    10
#> 4    21 cos              0.626     1     4 rmse    standard   0.0746    10
#> 5    19 inv              0.117     1     4 rmse    standard   0.0758    10
#> # ℹ 3 more variables: std_err <dbl>, .config <chr>, .iter <int>

select_best(ames_iter_search, metric = "rsq")
#> # A tibble: 1 × 6
#>       K weight_func dist_power   lon   lat .config              
#>   <int> <chr>            <dbl> <int> <int> <chr>                
#> 1    33 triweight        0.511    10     3 Preprocessor10_Model1

# To find the least complex model within one std error of the numerically
# optimal model, the number of nearest neighbors are sorted from the largest
# number of neighbors (the least complex class boundary) to the smallest
# (corresponding to the most complex model).

select_by_one_std_err(ames_grid_search, metric = "rmse", desc(K))
#> # A tibble: 1 × 13
#>       K weight_func dist_power   lon   lat .metric .estimator   mean     n
#>   <int> <chr>            <dbl> <int> <int> <chr>   <chr>       <dbl> <int>
#> 1    33 triweight        0.511    10     3 rmse    standard   0.0728    10
#> # ℹ 4 more variables: std_err <dbl>, .config <chr>, .best <dbl>,
#> #   .bound <dbl>

# Now find the least complex model that has no more than a 5% loss of RMSE:
select_by_pct_loss(
  ames_grid_search,
  metric = "rmse",
  limit = 5, desc(K)
)
#> # A tibble: 1 × 13
#>       K weight_func dist_power   lon   lat .metric .estimator   mean     n
#>   <int> <chr>            <dbl> <int> <int> <chr>   <chr>       <dbl> <int>
#> 1    33 triweight        0.511    10     3 rmse    standard   0.0728    10
#> # ℹ 4 more variables: std_err <dbl>, .config <chr>, .best <dbl>,
#> #   .loss <dbl>
源代码:R/select_best.R

相关用法


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