A one dimensional grid search calculates a performance metric for a model at evenly spaced values for a model input parameter. The "optimum" value for the parameter is suggested as the one which maximises performance, or minimises error (whichever is appropriate for the chosen metric)
Usage
grid_search_1d(
param_to_optimise,
search_values,
model_index,
factor_name,
max_min = "min",
...
)
Arguments
- param_to_optimise
(character) The name of the model input parameter that is the focus of the search.
- search_values
(ANY) The values of the input parameter being optimised.
- model_index
(numeric, integer) The index of the model in the sequence that uses the parameter being optimised.
- factor_name
(character) The name of a sample-meta column to use.
- max_min
(character) Maximise or minimise. Allowed values are limited to the following:
"max"
: The optimium parameter value is suggested based on maximising the performance metric."min"
: The optimium parameter value is suggested based on minimising the performance metric.
The default is
"min"
.- ...
Additional slots and values passed to
struct_class
.
Value
A grid_search_1d
object with the following output
slots:
results | (data.frame) |
metric | (data.frame) |
optimum_value | (numeric) |
Inheritance
A grid_search_1d
object inherits the following struct
classes: [grid_search_1d]
>> [resampler]
>> [iterator]
>> [struct_class]
Examples
M = grid_search_1d(
param_to_optimise = character(0),
search_values = numeric(0),
model_index = numeric(0),
factor_name = "V1",
max_min = "min")
D = MTBLS79_DatasetExperiment()
# some preprocessing
M = pqn_norm(qc_label='QC',factor_name='Class') +
knn_impute() +
glog_transform(qc_label='QC',factor_name='Class') +
filter_smeta(factor_name='Class',levels='QC',mode='exclude')
M=model_apply(M,D)
D=predicted(M)
# reduce number of features for this example
D=D[,1:10]
# optmise number of components for PLS model
I = grid_search_1d(param_to_optimise='number_components',search_values=1:5,
model_index=2,factor_name='Class') *
(mean_centre()+PLSDA(factor_name='Class'))
I = run(I,D,balanced_accuracy())