在 R 中使用 tidymodels 建模
David Svancer
Data Scientist
所有 yardstick 函数都需要包含模型结果的 tibble
hwy.predmpg_test_results
# A tibble: 57 x 3
hwy cty .pred
<int> <int> <dbl>
1 29 18 25.0
2 31 20 27.7
3 27 18 25.0
4 26 18 25.0
5 25 16 22.3
# ... with 47 more rows
RMSE 估计平均预测误差
yardstick 的 rmse() 计算truth 为真实值列estimate 为预测值列mpg_test_results %>%
rmse(truth = hwy, estimate = .pred)
# A tibble: 1 x 3
.metric .estimator .estimate
<chr> <chr> <dbl>
1 rmse standard 1.93
度量真实值与预测值的平方相关性
yardstick 的 rsq() 计算mpg_test_results %>%
rsq(truth = hwy, estimate = .pred)
# A tibble: 1 x 3
.metric .estimator .estimate
<chr> <chr> <dbl>
1 rsq standard 0.904
R² 指标可视化
用 ggplot2 绘制 R² 图
geom_point()geom_abline()coord_obs_pred()ggplot(mpg_test_results, aes(x = hwy, y = .pred)) +geom_point() +geom_abline(color = 'blue', linetype = 2) +coord_obs_pred() + labs(title = 'R-Squared Plot', y = 'Predicted Highway MPG', x = 'Actual Highway MPG')
last_fit() 函数
lm_last_fit <- lm_model %>%
last_fit(hwy ~ cty,
split = mpg_split)
collect_metrics() 函数
last_fit() 的结果lm_last_fit %>%
collect_metrics()
# A tibble: 2 x 3
.metric .estimator .estimate
<chr> <chr> <dbl>
1 rmse standard 1.93
2 rsq standard 0.904
collect_predictions() 函数
last_fit() 的结果.predlm_last_fit %>%
collect_predictions()
# A tibble: 57 x 4
id .pred .row hwy
<chr> <dbl> <int> <int>
1 train/test split 25.0 1 29
2 train/test split 27.7 3 31
3 train/test split 25.0 7 27
4 train/test split 25.0 8 26
5 train/test split 22.3 9 25
# ... with 47 more rows
在 R 中使用 tidymodels 建模