Machine learning 在使用mlr3proba对数据集进行编码和缩放后,无法使用mlr3proba对其进行训练

Machine learning 在使用mlr3proba对数据集进行编码和缩放后,无法使用mlr3proba对其进行训练,machine-learning,mlr3,data-preprocessing,Machine Learning,Mlr3,Data Preprocessing,在使用mlr3proba对数据集进行编码和缩放后,运行以下代码以在mlr3proba中训练模型时: task =tsk("sonar") learner = lrn("classif.rpart") measure = msr("classif.ce") inner.rsmp <- rsm("cv", folds = 5) train_set = sample(task$nrow, 0.8 * task$nro

在使用mlr3proba对数据集进行编码和缩放后,运行以下代码以在mlr3proba中训练模型时:

task =tsk("sonar")
learner = lrn("classif.rpart")
measure = msr("classif.ce")
inner.rsmp <- rsm("cv", folds = 5)
train_set = sample(task$nrow, 0.8 * task$nrow)
test_set = setdiff(seq_len(task$nrow), train_set)

learner <- po("encode") %>>% po("scale") %>>% po("learner", learner)
learner$train(task, row_ids = train_set)
我在另一个数据集中尝试了这个方法,但它显示了相同的问题

但如果我不编码和缩放我的数据集,一切都会正常

另外,对于
resample()
函数,它是正常的(尽管编码和缩放):


rr您需要将学员包装在GraphLearner PipeOp中:

库(mlr3)
库(MLR3管道)
任务=tsk(“声纳”)
学习者=lrn(“classif.rpart”)
测量值=msr(“等级”)
inner.rsmp%po(“刻度”)%%>%po(“学习者”,学习者)
42项观察的学员:
#>世界银行真实反应
#>5 R R
#>12 R R
#>13 R R
#> ---                       
#>188米
#>191米
#>201米
由(v0.3.0)于2021年4月30日创建

Error in learner$train(task, row_ids = train_set) : 
  unused argument (row_ids = train_set)
rr <- resample(task, learner, inner.rsmp)
rr$aggregate(measure)

#Results:

INFO  [08:46:55.411] [mlr3]  Applying learner 'encode.scale.classif.rpart' on task 'sonar' (iter 4/5) 
INFO  [08:46:55.539] [mlr3]  Applying learner 'encode.scale.classif.rpart' on task 'sonar' (iter 1/5) 
INFO  [08:46:55.644] [mlr3]  Applying learner 'encode.scale.classif.rpart' on task 'sonar' (iter 2/5) 
INFO  [08:46:55.773] [mlr3]  Applying learner 'encode.scale.classif.rpart' on task 'sonar' (iter 5/5) 
INFO  [08:46:55.876] [mlr3]  Applying learner 'encode.scale.classif.rpart' on task 'sonar' (iter 3/5)

rr$score(measure)

                task task_id            learner                 learner_id         resampling
1: <TaskClassif[46]>   sonar <GraphLearner[33]> encode.scale.classif.rpart <ResamplingCV[19]>
2: <TaskClassif[46]>   sonar <GraphLearner[33]> encode.scale.classif.rpart <ResamplingCV[19]>
3: <TaskClassif[46]>   sonar <GraphLearner[33]> encode.scale.classif.rpart <ResamplingCV[19]>
4: <TaskClassif[46]>   sonar <GraphLearner[33]> encode.scale.classif.rpart <ResamplingCV[19]>
5: <TaskClassif[46]>   sonar <GraphLearner[33]> encode.scale.classif.rpart <ResamplingCV[19]>
   resampling_id iteration              prediction classif.ce
1:            cv         1 <PredictionClassif[19]>  0.3333333
2:            cv         2 <PredictionClassif[19]>  0.2142857
3:            cv         3 <PredictionClassif[19]>  0.2380952
4:            cv         4 <PredictionClassif[19]>  0.3658537
5:            cv         5 <PredictionClassif[19]>  0.2439024