当我连续两次运行此代码时,我得到了两个不同的性能指标?我不确定我为什么会这样,因为我使用的是相同的培训和测试集。我也在开始时就设置了种子。
set.seed(42)
data(BostonHousing, package = "mlbench")
regr.task = makeRegrTask(id = "bh", data = BostonHousing, target = "medv")
lrn = makeLearner("regr.ctree")
outer=makeResampleInstance(makeResampleDesc("Holdout"),task=regr.task)
r = resample(
learner = lrn,
task = regr.task,
resampling = outer,
show.info = TRUE
)
这是我第一次运行代码:
Resampling: holdout
Measures: mse
[Resample] iter 1: 20.5713143
Aggregated Result: mse.test.mean=20.5713143
这是我第二次运行代码:
Resampling: holdout
Measures: mse
[Resample] iter 1: 21.9437349
Aggregated Result: mse.test.mean=21.9437349
答案 0 :(得分:1)
mlr
未对全局种子进行任何更改。它适用于大多数学习者,包括您的示例("regr.ctree"
)中显示的学习者。
如果在某些情况下不起作用,这是基础学习者的问题。 在这些情况下,您可能需要阅读学习者的文档以了解如何获得可重复的结果。