该函数使用重采样来衡量校准预测值的效果。
用法
cal_validate_isotonic(
.data,
truth = NULL,
estimate = dplyr::starts_with(".pred"),
metrics = NULL,
save_pred = FALSE,
...
)
# S3 method for resample_results
cal_validate_isotonic(
.data,
truth = NULL,
estimate = dplyr::starts_with(".pred"),
metrics = NULL,
save_pred = FALSE,
...
)
# S3 method for rset
cal_validate_isotonic(
.data,
truth = NULL,
estimate = dplyr::starts_with(".pred"),
metrics = NULL,
save_pred = FALSE,
...
)
# S3 method for tune_results
cal_validate_isotonic(
.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
参数。
细节
这些函数旨在计算带校准和不带校准的性能。他们使用重采样来衡量out-of-sample的有效性。有两种方式传递数据:
-
如果您有一个预测 DataFrame ,
rset
对象可以通过创建样本函数。请参阅下面的示例。 -
如果您已经根据原始数据创建了重采样对象并将其与
tune::fit_resamples()
一起使用,则可以将该对象传递给校准函数,它将使用相同的重采样方案。如果应使用不同的重采样方案,请在对象上运行tune::collect_predictions()
并使用上一个要点中的过程。
请注意,这些函数不适用于tune_result
对象。 "validation"的概念意味着调整参数选择已经解决。
collect_predictions()
可用于聚合指标以进行分析。
性能指标
默认情况下,返回 Brier 分数的平均值(分类校准)或均方根误差(回归)。可以使用任何适当的yardstick::metric_set()
。验证函数比较校准前后指标的平均值。
例子
library(dplyr)
segment_logistic %>%
rsample::vfold_cv() %>%
cal_validate_isotonic(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 probably cal_validate_isotonic_boot 使用和不使用袋装等渗回归校准来测量性能
- R probably cal_validate_logistic 使用和不使用逻辑校准来测量性能
- R probably cal_validate_multinomial 使用和不使用多项式校准来测量性能
- R probably cal_validate_linear 使用和不使用线性回归校准来测量性能
- R probably cal_validate_beta 使用和不使用 Beta 校准来测量性能
- R probably cal_plot_logistic 通过逻辑回归绘制概率校准图
- R probably cal_plot_breaks 通过分箱绘制概率校准图
- R probably cal_estimate_multinomial 使用多项校准模型来计算新的概率
- R probably cal_estimate_beta 使用 Beta 校准模型来计算新概率
- R probably cal_plot_regression 回归校准图
- R probably cal_estimate_isotonic 使用等渗回归模型来校准模型预测。
- R probably cal_estimate_logistic 使用逻辑回归模型来校准概率
- R probably cal_apply 对一组现有预测应用校准
- R probably cal_estimate_isotonic_boot 使用引导等渗回归模型来校准概率
- R probably cal_plot_windowed 通过移动窗口绘制概率校准图
- R probably cal_estimate_linear 使用线性回归模型来校准数值预测
- R probably class_pred 创建类别预测对象
- R probably append_class_pred 添加 class_pred 列
- R probably threshold_perf 生成跨概率阈值的性能指标
- R probably as_class_pred 强制转换为 class_pred 对象
- R probably levels.class_pred 提取class_pred级别
- R probably locate-equivocal 找到模棱两可的值
- R probably int_conformal_quantile 通过保形推理和分位数回归预测区间
- R probably make_class_pred 根据类概率创建 class_pred 向量
- R probably reportable_rate 计算报告率
注:本文由纯净天空筛选整理自Max Kuhn等大神的英文原创作品 Measure performance with and without using isotonic regression calibration。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。