Extract and export metrics for model performance of models in a familiarCollection.
export_model_performance(
object,
dir_path = NULL,
aggregate_results = FALSE,
export_collection = FALSE,
...
)# S4 method for familiarCollection
export_model_performance(
object,
dir_path = NULL,
aggregate_results = FALSE,
export_collection = FALSE,
...
)
# S4 method for ANY
export_model_performance(
object,
dir_path = NULL,
aggregate_results = FALSE,
export_collection = FALSE,
...
)
A list of data.tables (if dir_path
is not provided), or nothing, as
all data is exported to csv
files.
A familiarCollection
object, or other other objects from which
a familiarCollection
can be extracted. See details for more information.
Path to folder where extracted data should be saved. NULL
will allow export as a structured list of data.tables.
Flag that signifies whether results should be aggregated for export.
(optional) Exports the collection if TRUE.
Arguments passed on to extract_performance
, as_familiar_collection
data
A dataObject
object, data.table
or data.frame
that
constitutes the data that are assessed.
is_pre_processed
Flag that indicates whether the data was already
pre-processed externally, e.g. normalised and clustered. Only used if the
data
argument is a data.table
or data.frame
.
cl
Cluster created using the parallel
package. This cluster is then
used to speed up computation through parallellisation.
evaluation_times
One or more time points that are used for in analysis of
survival problems when data has to be assessed at a set time, e.g.
calibration. If not provided explicitly, this parameter is read from
settings used at creation of the underlying familiarModel
objects. Only
used for survival
outcomes.
ensemble_method
Method for ensembling predictions from models for the same sample. Available methods are:
median
(default): Use the median of the predicted values as the ensemble
value for a sample.
mean
: Use the mean of the predicted values as the ensemble value for a
sample.
metric
One or more metrics for assessing model performance. See the
vignette on performance metrics for the available metrics. If not provided
explicitly, this parameter is read from settings used at creation of the
underlying familiarModel
objects.
verbose
Flag to indicate whether feedback should be provided on the computation and extraction of various data elements.
message_indent
Number of indentation steps for messages shown during computation and extraction of various data elements.
detail_level
(optional) Sets the level at which results are computed and aggregated.
ensemble
: Results are computed at the ensemble level, i.e. over all
models in the ensemble. This means that, for example, bias-corrected
estimates of model performance are assessed by creating (at least) 20
bootstraps and computing the model performance of the ensemble model for
each bootstrap.
hybrid
(default): Results are computed at the level of models in an
ensemble. This means that, for example, bias-corrected estimates of model
performance are directly computed using the models in the ensemble. If there
are at least 20 trained models in the ensemble, performance is computed for
each model, in contrast to ensemble
where performance is computed for the
ensemble of models. If there are less than 20 trained models in the
ensemble, bootstraps are created so that at least 20 point estimates can be
made.
model
: Results are computed at the model level. This means that, for
example, bias-corrected estimates of model performance are assessed by
creating (at least) 20 bootstraps and computing the performance of the model
for each bootstrap.
Note that each level of detail has a different interpretation for bootstrap
confidence intervals. For ensemble
and model
these are the confidence
intervals for the ensemble and an individual model, respectively. That is,
the confidence interval describes the range where an estimate produced by a
respective ensemble or model trained on a repeat of the experiment may be
found with the probability of the confidence level. For hybrid
, it
represents the range where any single model trained on a repeat of the
experiment may be found with the probability of the confidence level. By
definition, confidence intervals obtained using hybrid
are at least as
wide as those for ensemble
. hybrid
offers the correct interpretation if
the goal of the analysis is to assess the result of a single, unspecified,
model.
hybrid
is generally computationally less expensive then ensemble
, which
in turn is somewhat less expensive than model
.
A non-default detail_level
parameter can be specified for separate
evaluation steps by providing a parameter value in a named list with data
elements, e.g. list("auc_data"="ensemble", "model_performance"="hybrid")
.
This parameter can be set for the following data elements: auc_data
,
decision_curve_analyis
, model_performance
, permutation_vimp
,
ice_data
, prediction_data
and confusion_matrix
.
estimation_type
(optional) Sets the type of estimation that should be possible. This has the following options:
point
: Point estimates.
bias_correction
or bc
: Bias-corrected estimates. A bias-corrected
estimate is computed from (at least) 20 point estimates, and familiar
may
bootstrap the data to create them.
bootstrap_confidence_interval
or bci
(default): Bias-corrected
estimates with bootstrap confidence intervals (Efron and Hastie, 2016). The
number of point estimates required depends on the confidence_level
parameter, and familiar
may bootstrap the data to create them.
As with detail_level
, a non-default estimation_type
parameter can be
specified for separate evaluation steps by providing a parameter value in a
named list with data elements, e.g. list("auc_data"="bci", "model_performance"="point")
. This parameter can be set for the following
data elements: auc_data
, decision_curve_analyis
, model_performance
,
permutation_vimp
, ice_data
, and prediction_data
.
confidence_level
(optional) Numeric value for the level at which
confidence intervals are determined. In the case bootstraps are used to
determine the confidence intervals bootstrap estimation, familiar
uses the
rule of thumb \(n = 20 / ci.level\) to determine the number of required
bootstraps.
The default value is 0.95
.
bootstrap_ci_method
(optional) Method used to determine bootstrap confidence intervals (Efron and Hastie, 2016). The following methods are implemented:
percentile
(default): Confidence intervals obtained using the percentile
method.
bc
: Bias-corrected confidence intervals.
Note that the standard method is not implemented because this method is often not suitable due to non-normal distributions. The bias-corrected and accelerated (BCa) method is not implemented yet.
familiar_data_names
Names of the dataset(s). Only used if the object
parameter is one or more familiarData
objects.
collection_name
Name of the collection.
Data is usually collected from a familiarCollection
object.
However, you can also provide one or more familiarData
objects, that will
be internally converted to a familiarCollection
object. It is also
possible to provide a familiarEnsemble
or one or more familiarModel
objects together with the data from which data is computed prior to export.
Paths to the previous files can also be provided.
All parameters aside from object
and dir_path
are only used if object
is not a familiarCollection
object, or a path to one.
Performance of individual and ensemble models is exported. For ensemble models, a credibility interval is determined using bootstrapping for each metric.