mlr_learners_graph | R Documentation |
A Learner
that encapsulates a Graph
to be used in
mlr3 resampling and benchmarks.
The Graph must return a single Prediction
on its $predict()
call. The result of the $train()
call is discarded, only the
internal state changes during training are used.
The predict_type
of a GraphLearner
can be obtained or set via it's predict_type
active binding.
Setting a new predict type will try to set the predict_type
in all relevant
PipeOp
/ Learner
encapsulated within the Graph
.
Similarly, the predict_type of a Graph will always be the smallest denominator in the Graph
.
A GraphLearner
is always constructed in an untrained state. When the graph
argument has a
non-NULL
$state
, it is ignored.
R6Class
object inheriting from mlr3::Learner
.
GraphLearner$new(graph, id = NULL, param_vals = list(), task_type = NULL, predict_type = NULL)
graph
:: Graph
| PipeOp
Graph
to wrap. Can be a PipeOp
, which is automatically converted to a Graph
.
This argument is usually cloned, unless clone_graph
is FALSE
; to access the Graph
inside GraphLearner
by-reference, use $graph
.
id
:: character(1)
Identifier of the resulting Learner
.
param_vals
:: named list
List of hyperparameter settings, overwriting the hyperparameter settings . Default list()
.
task_type
:: character(1)
What task_type
the GraphLearner
should have; usually automatically inferred for Graph
s that are simple enough.
predict_type
:: character(1)
What predict_type
the GraphLearner
should have; usually automatically inferred for Graph
s that are simple enough.
clone_graph
:: logical(1)
Whether to clone graph
upon construction. Unintentionally changing graph
by reference can lead to unexpected behaviour,
so TRUE
(default) is recommended. In particular, note that the $state
of $graph
is set to NULL
by reference on
construction of GraphLearner
, during $train()
, and during $predict()
when clone_graph
is FALSE
.
Fields inherited from PipeOp
, as well as:
graph
:: Graph
Graph
that is being wrapped. This field contains the prototype of the Graph
that is being trained, but does not
contain the model. Use graph_model
to access the trained Graph
after $train()
. Read-only.
graph_model
:: Learner
Graph
that is being wrapped. This Graph
contains a trained state after $train()
. Read-only.
as_graph()
is called on the graph
argument, so it can technically also be a list
of things, which is
automatically converted to a Graph
via gunion()
; however, this will usually not result in a valid Graph
that can
work as a Learner
. graph
can furthermore be a Learner
, which is then automatically
wrapped in a Graph
, which is then again wrapped in a GraphLearner
object; this usually only adds overhead and is not
recommended.
Other Learners:
mlr_learners_avg
library("mlr3")
graph = po("pca") %>>% lrn("classif.rpart")
lr = GraphLearner$new(graph)
lr = as_learner(graph) # equivalent
lr$train(tsk("iris"))
lr$graph$state # untrained version!
# The following is therefore NULL:
lr$graph$pipeops$classif.rpart$learner_model$model
# To access the trained model from the PipeOpLearner's Learner, use:
lr$graph_model$pipeops$classif.rpart$learner_model$model
# Feature importance (of principal components):
lr$graph_model$pipeops$classif.rpart$learner_model$importance()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.