当我连续两次运行此代码时,我会得到两个不同的性能指标? 而且我不确定我是否理解为什么会发生这种情况,因为我使用相同的训练和测试集。我也在一开始就播下种子。
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
>mlr
没有对全局种子进行任何更改。它适用于大多数学习者,包括您的示例中显示的学习者 ("regr.ctree"
(。
如果在某些情况下它不起作用,这是底层学习者的问题。 在这些情况下,您可能需要阅读学习者的文档,以了解如何获得可重复的结果。