You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

mlr包的classif.rpart模型能否在makeParamSet中添加cutoff参数?

关于classif.rpart学习器纳入cutoff参数搜索的解答

结论

完全可以采用和randomForest参数集构造类似的逻辑实现cutoff阈值的遍历校验,仅需要做少量适配即可。

适配说明

rpart分类模型本身没有训练阶段的内置cutoff参数,cutoff是预测阶段将输出的概率结果转换为分类标签的后处理阈值,你可以直接将它作为自定义参数加入参数搜索空间,和rpart的原生模型参数同步调优。

代码示例

你可以参考如下写法构造rpart的参数集:

makeParamSet(
  # rpart原生模型参数
  makeDiscreteParam('cp', values = seq(0.001, 0.01, by = 0.001)),
  makeDiscreteParam('minsplit', values = c(1,2,3,5,7,10)),
  makeDiscreteParam('maxdepth', values = c(3,4,5,6,8,10)),
  # cutoff阈值参数,写法和你之前randomForest的配置完全一致
  makeDiscreteParam("cutoff", values = list(
    a=c(.1,.9),
    b=c(.2,.8),
    c=c(.3,.7),
    d = c(.4, .6),
    e = c(.5,.5),
    f = c(.6,.4),
    g = c(.7,.3),
    h = c(.8,.2),
    i = c(.9,.1)
  ))
)

注意事项

  • 你需要在自定义的评价计算逻辑中加入阈值转换步骤:先获取rpart输出的概率结果,再用当前遍历到的cutoff值将概率转换为分类标签,再计算对应评价指标即可
  • 如果你使用的是mlr3框架,逻辑完全一致,仅需要将参数集构造函数替换为对应框架的语法即可

内容的提问来源于stack exchange,提问作者S J

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 08:27:01