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


R probably cal_estimate_linear 使用线性回归模型来校准数值预测


使用线性回归模型来校准数值预测

用法

cal_estimate_linear(
  .data,
  truth = NULL,
  estimate = dplyr::matches("^.pred$"),
  smooth = TRUE,
  parameters = NULL,
  ...,
  .by = NULL
)

# S3 method for data.frame
cal_estimate_linear(
  .data,
  truth = NULL,
  estimate = dplyr::matches("^.pred$"),
  smooth = TRUE,
  parameters = NULL,
  ...,
  .by = NULL
)

# S3 method for tune_results
cal_estimate_linear(
  .data,
  truth = NULL,
  estimate = dplyr::matches("^.pred$"),
  smooth = TRUE,
  parameters = NULL,
  ...
)

# S3 method for grouped_df
cal_estimate_linear(
  .data,
  truth = NULL,
  estimate = NULL,
  smooth = TRUE,
  parameters = NULL,
  ...
)

参数

.data

是未分组的 data.frame 对象或 tune_results 对象,其中包含预测列。

truth

观察到的结果数据的列标识符(数字)。这应该是一个不带引号的列名。

estimate

预测值的列标识符

smooth

适用于线性模型。当 TRUE 时,它在使用样条项的广义加法模型之间切换;当 FALSE 时,它在简单线性回归之间切换。

parameters

(可选)可选的调整参数值小标题,可用于在处理之前过滤预测值。仅适用于tune_results 对象。

...

传递给用于计算新预测的模型或例程的附加参数。

.by

分组变量的列标识符。这应该是一个不带引号的列名称,用于选择用于分组的定性变量。默认为 NULL 。当.by = NULL时,不会进行分组。

细节

该函数使用其他包中的现有建模函数来创建校准:

这些方法估计未修改的预测值中的关系,然后在调用 cal_apply() 时消除该趋势。

也可以看看

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

例子

library(dplyr)
library(ggplot2)

head(boosting_predictions_test)
#> # A tibble: 6 × 2
#>   outcome .pred
#>     <dbl> <dbl>
#> 1   -4.65  4.12
#> 2    1.12  1.83
#> 3   14.7  13.1 
#> 4   36.3  19.1 
#> 5   14.1  14.9 
#> 6   -4.22  8.10

# ------------------------------------------------------------------------------
# Before calibration

y_rng <- extendrange(boosting_predictions_test$outcome)

boosting_predictions_test %>%
  ggplot(aes(outcome, .pred)) +
  geom_abline(lty = 2) +
  geom_point(alpha = 1 / 2) +
  geom_smooth(se = FALSE, col = "blue", linewidth = 1.2, alpha = 3 / 4) +
  coord_equal(xlim = y_rng, ylim = y_rng) +
  ggtitle("Before calibration")
#> `geom_smooth()` using method = 'loess' and formula = 'y ~ x'


# ------------------------------------------------------------------------------
# Smoothed trend removal

smoothed_cal <-
  boosting_predictions_oob %>%
  # It will automatically identify the predicted value columns when the
  # standard tidymodels naming conventions are used.
  cal_estimate_linear(outcome)
smoothed_cal
#> 
#> ── Regression Calibration 
#> Method: Generalized additive model
#> Source class: Data Frame
#> Data points: 2,000
#> Truth variable: `outcome`
#> Estimate variable: `.pred`

boosting_predictions_test %>%
  cal_apply(smoothed_cal) %>%
  ggplot(aes(outcome, .pred)) +
  geom_abline(lty = 2) +
  geom_point(alpha = 1 / 2) +
  geom_smooth(se = FALSE, col = "blue", linewidth = 1.2, alpha = 3 / 4) +
  coord_equal(xlim = y_rng, ylim = y_rng) +
  ggtitle("After calibration")
#> `geom_smooth()` using method = 'loess' and formula = 'y ~ x'


相关用法


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