mosmafs (version 0.1.2)

makeBaselineObjective: Create mlrMBO Objective Function

Description

"Baseline" performance measure: Creates an objective function that performs normal parameter optimization by evaluating filters with additional parameters: mosmafs.nselect (how many features to select), mosmafs.iselect (vector integer parameter that selects explicit features that are not necessary the best according to filter values) and mosmafs.select.weights (numeric parameter vector that does weighting between filter values to use.

Usage

makeBaselineObjective(
  learner,
  task,
  filters,
  ps,
  resampling,
  measure = NULL,
  num.explicit.featsel = 0,
  holdout.data = NULL,
  worst.measure = NULL,
  cpo = NULLCPO,
  numfeats = getTaskNFeats(task)
)

Value

function that can be used for mlrMBO; irace possibly needs some adjustments.

Arguments

learner

[Learner] the base learner to use.

task

[Task] the task to optimize.

filters

[character] filter values to evaluate and use.

ps

[ParamSet] the ParamSet of the learner to evaluate. Should not include selector.selection etc., only parameters of the actual learner.

resampling

[ResampleDesc | ResampleInstance] the resampling strategy to use.

measure

[Measure] the measure to evaluate. If measure needs to be maximized, the measure is multiplied by -1, to make it a minimization task.

num.explicit.featsel

[integer(1)] additional number of parameters to add for explicit feature selection.

holdout.data

[Task | NULL] the holdout data to consider.

worst.measure

[numeric(1)] worst value to impute for failed evals.

cpo

[CPO] CPO pipeline to apply before feature selection.

numfeats

[integer(1)] number of features to consider. Is extracted from the task but should be given if cpo changes the number of features.