mlr3工具包: 重采样、基准测试

1 重采样

在前两篇推文里,我们都将原始数据随机划分为训练集和测试集,其中训练集用于模型训练,测试集用于模型评估。划分训练集和测试集的操作叫重采样(resampling)。

1.1 重采样方法

重采样有许多方法,如留出法(holdout)、k折交叉验证(k-fold cross-validation)、子采样法(subsampling)、自举法(bootstrap)等。已经介绍的partition()函数使用的就是留出法。

mlr3内置的重采样方法可在mlr_resamplings中查看:

library(mlr3)

mlr_resamplings
## <DictionaryResampling> with 9 stored values
## Keys: bootstrap, custom, custom_cv, cv, holdout, insample, loo,
##   repeated_cv, subsampling

将其转换成表格可查看重采样方法的参数:

as.data.table(mlr_resamplings)
##            key                         label        params iters
## 1:   bootstrap                     Bootstrap ratio,repeats    30
## 2:      custom                 Custom Splits                  NA
## 3:   custom_cv Custom Split Cross-Validation                  NA
## 4:          cv              Cross-Validation         folds    10
## 5:     holdout                       Holdout         ratio     1
## 6:    insample           Insample Resampling                   1
## 7:         loo                 Leave-One-Out                  NA
## 8: repeated_cv     Repeated Cross-Validation folds,repeats   100
## 9: subsampling                   Subsampling ratio,repeats    30

下面简述几种重采样方法及其差异:

  • 留出法是将样本按一定比例随机分为测试集和训练集(默认2:1);
  • k折交叉验证是将样本等分为𝑘份(默认10份),每次使用𝑘−1份作为测试集,剩余1份作为训练集,因此会训练出𝑘个中间模型;
  • 留一法交叉验证是交叉验证的特例,它的𝑘等于样本量𝑛,因此每次测试集只有1个样本;
  • 子采样法相当于将留出法重复多次(默认30次),因此也会训练出多个中间模型;它与k折交叉验证的区别是,不同测试集会有重叠;
  • 自举法与子采样法的区别是,在抽取训练集样本时使用的是有放回抽样,因此一个样本可能会在训练集中多次出现;自举法的抽样也可以重复多次(默认30次),因此也会训练出多个中间模型。

每种重采样方法的官方帮助文档都可在mlr包的mlr_resamplings_*条目查看,其中*为重采样方法的名称,如mlr_resamplings_holdout

关于交叉验证方法还可参考如下推文:

1.2 执行重采样

对学习任务执行重采样分为两个步骤,涉及两个函数。第一步是构建重采样方法,使用rsmp()函数;第二步是将重采样方

  • 8
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

皮肤小白生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值