當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。