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


R yardstick metrics 估计性能的通用函数


此函数根据 truth 的类(请参阅下面的值)估计一个或多个常见的性能估计,并以三列 tibble 形式返回它们。

用法

metrics(data, ...)

# S3 method for data.frame
metrics(data, truth, estimate, ..., na_rm = TRUE, options = list())

参数

data

包含 truthestimate... 指定的列的 data.frame

...

一组不带引号的列名称或一个或多个 dplyr 选择器函数,用于选择哪些变量包含类概率。如果 truth 是二进制,则仅应选择 1 列,并且它应对应于 event_level 的值。否则,列的数量应与 truth 的因子级别一样多,并且列的顺序应与 truth 的因子级别相同。

truth

真实结果的列标识符(即 numericfactor )。这应该是一个不带引号的列名,尽管此参数是通过表达式传递的并支持quasiquotation(您可以不带引号的列名)。

estimate

预测结果的列标识符(也是 numericfactor )。与 truth 一样,可以通过不同的方式指定,但主要方法是使用不带引号的变量名称。

na_rm

logical 值,指示在计算继续之前是否应剥离 NA 值。

options

[deprecated]

从尺度 1.0.0 开始不再支持。如果您在此处传递某些内容,它将被忽略并发出警告。

以前,这些选项传递给 pROC::roc() 。如果您需要对此的支持,请直接使用 pROC 包。

三栏小标题。

  • truth 为因子时,存在 accuracy() 和 Kappa 统计量 ( kap() ) 的行。

  • truth 有两个级别并且 1 列类概率传递给 ... 时,存在 mn_log_loss()roc_auc() 两个类版本的行。

  • truth 具有两个以上级别并且完整的类概率集传递给 ... 时,会有 mn_log_loss() 的多类版本和 roc_auc() 的 Hand Till 泛化的行。

  • truth 为数字时,存在 rmse()rsq()mae() 行。

也可以看看

例子


# Accuracy and kappa
metrics(two_class_example, truth, predicted)
#> # A tibble: 2 × 3
#>   .metric  .estimator .estimate
#>   <chr>    <chr>          <dbl>
#> 1 accuracy binary         0.838
#> 2 kap      binary         0.675

# Add on multinomal log loss and ROC AUC by specifying class prob columns
metrics(two_class_example, truth, predicted, Class1)
#> # A tibble: 4 × 3
#>   .metric     .estimator .estimate
#>   <chr>       <chr>          <dbl>
#> 1 accuracy    binary         0.838
#> 2 kap         binary         0.675
#> 3 mn_log_loss binary         0.328
#> 4 roc_auc     binary         0.939

# Regression metrics
metrics(solubility_test, truth = solubility, estimate = prediction)
#> # A tibble: 3 × 3
#>   .metric .estimator .estimate
#>   <chr>   <chr>          <dbl>
#> 1 rmse    standard       0.722
#> 2 rsq     standard       0.879
#> 3 mae     standard       0.545

# Multiclass metrics work, but you cannot specify any averaging
# for roc_auc() besides the default, hand_till. Use the specific function
# if you need more customization
library(dplyr)

hpc_cv %>%
  group_by(Resample) %>%
  metrics(obs, pred, VF:L) %>%
  print(n = 40)
#> # A tibble: 40 × 4
#>    Resample .metric     .estimator .estimate
#>    <chr>    <chr>       <chr>          <dbl>
#>  1 Fold01   accuracy    multiclass     0.726
#>  2 Fold02   accuracy    multiclass     0.712
#>  3 Fold03   accuracy    multiclass     0.758
#>  4 Fold04   accuracy    multiclass     0.712
#>  5 Fold05   accuracy    multiclass     0.712
#>  6 Fold06   accuracy    multiclass     0.697
#>  7 Fold07   accuracy    multiclass     0.675
#>  8 Fold08   accuracy    multiclass     0.721
#>  9 Fold09   accuracy    multiclass     0.673
#> 10 Fold10   accuracy    multiclass     0.699
#> 11 Fold01   kap         multiclass     0.533
#> 12 Fold02   kap         multiclass     0.512
#> 13 Fold03   kap         multiclass     0.594
#> 14 Fold04   kap         multiclass     0.511
#> 15 Fold05   kap         multiclass     0.514
#> 16 Fold06   kap         multiclass     0.486
#> 17 Fold07   kap         multiclass     0.454
#> 18 Fold08   kap         multiclass     0.531
#> 19 Fold09   kap         multiclass     0.454
#> 20 Fold10   kap         multiclass     0.492
#> 21 Fold01   mn_log_loss multiclass     0.734
#> 22 Fold02   mn_log_loss multiclass     0.808
#> 23 Fold03   mn_log_loss multiclass     0.705
#> 24 Fold04   mn_log_loss multiclass     0.747
#> 25 Fold05   mn_log_loss multiclass     0.799
#> 26 Fold06   mn_log_loss multiclass     0.766
#> 27 Fold07   mn_log_loss multiclass     0.927
#> 28 Fold08   mn_log_loss multiclass     0.855
#> 29 Fold09   mn_log_loss multiclass     0.861
#> 30 Fold10   mn_log_loss multiclass     0.821
#> 31 Fold01   roc_auc     hand_till      0.813
#> 32 Fold02   roc_auc     hand_till      0.817
#> 33 Fold03   roc_auc     hand_till      0.869
#> 34 Fold04   roc_auc     hand_till      0.849
#> 35 Fold05   roc_auc     hand_till      0.811
#> 36 Fold06   roc_auc     hand_till      0.836
#> 37 Fold07   roc_auc     hand_till      0.825
#> 38 Fold08   roc_auc     hand_till      0.846
#> 39 Fold09   roc_auc     hand_till      0.828
#> 40 Fold10   roc_auc     hand_till      0.812

源代码:R/metrics.R

相关用法


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