Internal object to store results in list of data.tables, arranged in a star schema. It is advised to not directly work on this data structure as it may be changed in the future without further warnings.
The main motivation of this data structure is the necessity to avoid storing duplicated R6 objects.
While this is usually no problem in a single R session, serialization via serialize()
(which is
used in save()
/saveRDS()
or during parallelization) leads to objects with unreasonable memory
requirements.
Public fields
data
(
list()
)
List ofdata.table::data.table()
, arranged in a star schema. Do not operate directly on this list.
Active bindings
task_type
(
character(1)
)
Returns the task type of stored objects, e.g."classif"
or"regr"
. ReturnsNULL
if the ResultData is empty.
Methods
Method new()
Creates a new instance of this R6 class.
An alternative construction method is provided by as_result_data()
.
Usage
ResultData$new(data = NULL, store_backends = TRUE)
Arguments
data
(
data.table::data.table()
) |NULL
)
Do not initialize this object yourself, useas_result_data()
instead.store_backends
(
logical(1)
)
If set toFALSE
, the backends of the Tasks provided indata
are removed.
Method tasks()
Returns a table of included Tasks.
Returns
data.table()
with columns "task_hash"
(character()
) and "task"
(Task).
Method learners()
Returns a table of included Learners.
Arguments
view
character(1)
Singleuhash
to restrict the results to.states
(
logical(1)
)
IfTRUE
, returns a learner for each iteration/experiment in the ResultData object. IfFALSE
, returns an exemplary learner (without state) for each ResampleResult.reassemble
(
logical(1)
)
Reassemble the learners, i.e. re-set thestate
and the hyperparameters which are stored separately before returning the learners.
Returns
data.table()
with columns "learner_hash"
(character()
) and "learner"
(Learner).
Method learner_states()
Returns a list of states of included Learners without reassembling the learners.
@return list of list()
Method resamplings()
Returns a table of included Resamplings.
Returns
data.table()
with columns "resampling_hash"
(character()
) and "resampling"
(Resampling).
Method predictions()
Returns a list of Prediction objects.
Arguments
view
character(1)
Singleuhash
to restrict the results to.predict_sets
(
character()
)
Prediction sets to operate on, used inaggregate()
to extract the matchingpredict_sets
from the ResampleResult. Multiple predict sets are calculated by the respective Learner duringresample()
/benchmark()
. Must be a non-empty subset of{"train", "test", "internal_valid"}
. If multiple sets are provided, these are first combined to a single prediction object. Default is"test"
.predict_sets
(
character()
)
Prediction sets to operate on, used inaggregate()
to extract the matchingpredict_sets
from the ResampleResult. Multiple predict sets are calculated by the respective Learner duringresample()
/benchmark()
. Must be a non-empty subset of{"train", "test", "internal_valid"}
. If multiple sets are provided, these are first combined to a single prediction object. Default is"test"
.predict_sets
(
character()
)
Prediction sets to operate on, used inaggregate()
to extract the matchingpredict_sets
from the ResampleResult. Multiple predict sets are calculated by the respective Learner duringresample()
/benchmark()
. Must be a non-empty subset of{"train", "test", "internal_valid"}
. If multiple sets are provided, these are first combined to a single prediction object. Default is"test"
.
Returns
list()
of Prediction.
Method prediction()
Returns a combined Prediction objects.
Arguments
view
character(1)
Singleuhash
to restrict the results to.predict_sets
(
character()
)
Prediction sets to operate on, used inaggregate()
to extract the matchingpredict_sets
from the ResampleResult. Multiple predict sets are calculated by the respective Learner duringresample()
/benchmark()
. Must be a non-empty subset of{"train", "test", "internal_valid"}
. If multiple sets are provided, these are first combined to a single prediction object. Default is"test"
.predict_sets
(
character()
)
Prediction sets to operate on, used inaggregate()
to extract the matchingpredict_sets
from the ResampleResult. Multiple predict sets are calculated by the respective Learner duringresample()
/benchmark()
. Must be a non-empty subset of{"train", "test", "internal_valid"}
. If multiple sets are provided, these are first combined to a single prediction object. Default is"test"
.predict_sets
(
character()
)
Prediction sets to operate on, used inaggregate()
to extract the matchingpredict_sets
from the ResampleResult. Multiple predict sets are calculated by the respective Learner duringresample()
/benchmark()
. Must be a non-empty subset of{"train", "test", "internal_valid"}
. If multiple sets are provided, these are first combined to a single prediction object. Default is"test"
.
Method sweep()
Updates the ResultData object, removing rows from all tables which are not referenced by the fact table anymore. E.g., can be called after filtering/subsetting the fact table.
Method marshal()
Marshals all stored learner models. This will do nothing to models that are already marshaled.
Arguments
...
(any)
Additional arguments passed tomarshal_model()
.
Method unmarshal()
Unmarshals all stored learner models. This will do nothing to models which are not marshaled.
Arguments
...
(any)
Additional arguments passed tounmarshal_model()
.
Method discard()
Shrinks the object by discarding parts of the stored data.
Arguments
backends
(
logical(1)
)
IfTRUE
, the DataBackend is removed from all stored Tasks.models
(
logical(1)
)
IfTRUE
, the stored model is removed from all Learners.
Method as_data_table()
Combines internal tables into a single flat data.table()
.
Usage
ResultData$as_data_table(
view = NULL,
reassemble_learners = TRUE,
convert_predictions = TRUE,
predict_sets = "test"
)
Arguments
view
character(1)
Singleuhash
to restrict the results to.reassemble_learners
(
logical(1)
)
Reassemble the tasks?convert_predictions
(
logical(1)
)
Convert PredictionData to Prediction?predict_sets
(
character()
)
Prediction sets to operate on, used inaggregate()
to extract the matchingpredict_sets
from the ResampleResult. Multiple predict sets are calculated by the respective Learner duringresample()
/benchmark()
. Must be a non-empty subset of{"train", "test", "internal_valid"}
. If multiple sets are provided, these are first combined to a single prediction object. Default is"test"
.predict_sets
(
character()
)
Prediction sets to operate on, used inaggregate()
to extract the matchingpredict_sets
from the ResampleResult. Multiple predict sets are calculated by the respective Learner duringresample()
/benchmark()
. Must be a non-empty subset of{"train", "test", "internal_valid"}
. If multiple sets are provided, these are first combined to a single prediction object. Default is"test"
.predict_sets
(
character()
)
Prediction sets to operate on, used inaggregate()
to extract the matchingpredict_sets
from the ResampleResult. Multiple predict sets are calculated by the respective Learner duringresample()
/benchmark()
. Must be a non-empty subset of{"train", "test", "internal_valid"}
. If multiple sets are provided, these are first combined to a single prediction object. Default is"test"
.
Method logs()
Get a table of recorded learner logs.
Arguments
view
character(1)
Singleuhash
to restrict the results to.condition
(
character(1)
) The condition to extract. One of"message"
,"warning"
or"error"
.
Examples
# table overview
print(ResultData$new()$data)
#> $fact
#> Key: <uhash, iteration>
#> Empty data.table (0 rows and 8 cols): uhash,iteration,learner_state,prediction,learner_hash,task_hash...
#>
#> $uhashes
#> Empty data.table (0 rows and 1 cols): uhash
#>
#> $tasks
#> Key: <task_hash>
#> Empty data.table (0 rows and 2 cols): task_hash,task
#>
#> $learners
#> Key: <learner_phash>
#> Empty data.table (0 rows and 2 cols): learner_phash,learner
#>
#> $resamplings
#> Key: <resampling_hash>
#> Empty data.table (0 rows and 2 cols): resampling_hash,resampling
#>
#> $learner_components
#> Key: <learner_hash>
#> Empty data.table (0 rows and 2 cols): learner_hash,learner_param_vals
#>