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


R probably cal_validate_logistic 使用和不使用逻辑校准来测量性能


该函数使用重采样来衡量校准预测值的效果。

用法

cal_validate_logistic(
  .data,
  truth = NULL,
  estimate = dplyr::starts_with(".pred_"),
  metrics = NULL,
  save_pred = FALSE,
  ...
)

# S3 method for resample_results
cal_validate_logistic(
  .data,
  truth = NULL,
  estimate = dplyr::starts_with(".pred_"),
  metrics = NULL,
  save_pred = FALSE,
  ...
)

# S3 method for rset
cal_validate_logistic(
  .data,
  truth = NULL,
  estimate = dplyr::starts_with(".pred_"),
  metrics = NULL,
  save_pred = FALSE,
  ...
)

# S3 method for tune_results
cal_validate_logistic(
  .data,
  truth = NULL,
  estimate = NULL,
  metrics = NULL,
  save_pred = FALSE,
  ...
)

参数

.data

rset 对象或带有 .predictions 列的 tune::fit_resamples() 的结果。

truth

真实类别结果的列标识符(即一个因子)。这应该是一个不带引号的列名。

estimate

列标识符向量,或 dplyr 选择器函数之一,用于选择哪些变量包含类概率。它默认为 tidymodels 使用的前缀 ( .pred_ )。标识符的顺序将被视为与 truth 变量的级别顺序相同。

metrics

通过 yardstick::metric_set() 创建的一组指标

save_pred

指示是否为 post-calibration 预测列。

...

要传递给 cal_estimate_logistic() 的选项,例如 smooth 参数。

具有 .metrics_cal 列和附加 .predictions_cal 列(可选)的原始对象。还添加了cal_rset 类。

细节

这些函数旨在计算带校准和不带校准的性能。他们使用重采样来衡量out-of-sample的有效性。有两种方式传递数据:

  • 如果您有一个预测 DataFrame ,rset对象可以通过创建样本函数。请参阅下面的示例。

  • 如果您已经根据原始数据创建了重采样对象并将其与 tune::fit_resamples() 一起使用,则可以将该对象传递给校准函数,它将使用相同的重采样方案。如果应使用不同的重采样方案,请在对象上运行 tune::collect_predictions() 并使用上一个要点中的过程。

请注意,这些函数不适用于tune_result 对象。 "validation"的概念意味着调整参数选择已经解决。

collect_predictions() 可用于聚合指标以进行分析。

性能指标

默认情况下,返回 Brier 分数的平均值。可以使用任何适当的yardstick::metric_set()。验证函数比较校准前后指标的平均值。

也可以看看

https://www.tidymodels.org/learn/models/calibration/, cal_estimate_logistic()

例子


library(dplyr)

# ---------------------------------------------------------------------------
# classification example

segment_logistic %>%
  rsample::vfold_cv() %>%
  cal_validate_logistic(Class)
#> #  10-fold cross-validation 
#> # A tibble: 10 × 4
#>    splits            id     .metrics         .metrics_cal    
#>    <list>            <chr>  <list>           <list>          
#>  1 <split [909/101]> Fold01 <tibble [1 × 3]> <tibble [1 × 3]>
#>  2 <split [909/101]> Fold02 <tibble [1 × 3]> <tibble [1 × 3]>
#>  3 <split [909/101]> Fold03 <tibble [1 × 3]> <tibble [1 × 3]>
#>  4 <split [909/101]> Fold04 <tibble [1 × 3]> <tibble [1 × 3]>
#>  5 <split [909/101]> Fold05 <tibble [1 × 3]> <tibble [1 × 3]>
#>  6 <split [909/101]> Fold06 <tibble [1 × 3]> <tibble [1 × 3]>
#>  7 <split [909/101]> Fold07 <tibble [1 × 3]> <tibble [1 × 3]>
#>  8 <split [909/101]> Fold08 <tibble [1 × 3]> <tibble [1 × 3]>
#>  9 <split [909/101]> Fold09 <tibble [1 × 3]> <tibble [1 × 3]>
#> 10 <split [909/101]> Fold10 <tibble [1 × 3]> <tibble [1 × 3]>

源代码:R/cal-validate.R

相关用法


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