作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想检查计算中的中间步骤,但我不知道该怎么做。
书中的例子:
mutate = mlr_pipeops$get("mutate")
filter = mlr_pipeops$get("filter",
filter = mlr3filters::FilterVariance$new(),
param_vals = list(filter.frac = 0.5))
graph = mutate %>>%
filter %>>%
mlr_pipeops$get("learner",
learner = mlr_learners$get("classif.rpart"))
graph$keep_results=TRUE
task = mlr_tasks$get("iris")
graph$train(task)
现在,我想查看任务的转换数据矩阵(在 mutate
和 filter
之后)。这一定在 graph
中的某处,尤其是当我设置 keep_results=TRUE
时。但我看不到在哪里。有人可以帮我吗?
最佳答案
设置 keep_results=TRUE
是正确的开始。当您设置它时,每个 PipeOp
的计算结果将存储在 PipeOp
的 $.result
槽中。结果是一个列表,因为 PipeOp
可以有多个结果对象,但对于大多数预处理操作,它只有一个成员 ($output
) 并且只是一个 可以检查的任务
:
# your code
graph$train(task)
#> $classif.rpart.output
#> NULL
#>
# E.g. the result of the "variance" filter:
graph$pipeops$variance$.result
#> $output
#> <TaskClassif:iris> (150 x 3)
#> * Target: Species
#> * Properties: multiclass
#> * Features (2):
#> - dbl (2): Petal.Length, Sepal.Length
# $output is a Task, so the data can e.g. be seen with $data():
graph$pipeops$variance$.result$output$data()
#> Species Petal.Length Sepal.Length
#> 1: setosa 1.4 5.1
#> 2: setosa 1.4 4.9
#> 3: setosa 1.3 4.7
#> 4: setosa 1.5 4.6
#> 5: setosa 1.4 5.0
#> ---
#> 146: virginica 5.2 6.7
#> 147: virginica 5.0 6.3
#> 148: virginica 5.2 6.5
#> 149: virginica 5.4 6.2
#> 150: virginica 5.1 5.9
关于mlr3 - mlr pipeops 中的调试/检查步骤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66675495/
我想检查计算中的中间步骤,但我不知道该怎么做。 书中的例子: mutate = mlr_pipeops$get("mutate") filter = mlr_pipeops$get("filter",
我想使用 PipeOp 来训练学习者进行数据集的三种可选转换: 没有转换。 类(class)平衡。 类(class)平衡。 然后,我想对三个学习模型进行基准测试。 我的想法是按如下方式设置管道: 制作
我是一名优秀的程序员,十分优秀!