Helpers for Parameters in Black-Box Optimization, Tuning and Machine Learning

Functions for parameter descriptions and operations in black-box optimization, tuning and machine learning. Parameters can be described (type, constraints, defaults, etc.), combined to parameter sets and can in general be programmed on. A useful OptPath object (archive) to log function evaluations is also provided.


News

ParamHelpers_1.9:

  • Many parameters can now be expressions which can be evaluated later while providing a lookup dictionary.
  • make*Param now accepts special.vals which are always feasible
  • getParamLengths, getLower, getUpper, getValues were made S3 to also work on normal Parameter objects
  • new functions -- evaluateParamExpressions -- hasExpression

ParamHelpers_1.8:

  • removed soobench from SUGGESTS and removed function extractParamSetFromSooFunction
  • hasDiscrete: added arg "include.logical"
  • getParamSet has become a generic
  • OptPath: it is possible to log non-scalar values under "extras" now by starting the extra-name with a dot. These elements wll not be contained is as.data.frame(opt.path) when converted.
  • make*Param argument 'requires' now accepts expressions and quote'd expressions.
  • getParamIds is now S3 and also callable on type "Param"
  • filterParams: has new arg "check.requires"
  • isFeasible: new args "use.defaults" and "filter"
  • trafoValue: slightly robustify arg handling
  • new functions -- isNumericStrict -- getTypeStringsNumeric, getTypeStringsNumericStrict, getTypeStringsInteger, getTypeStringsDiscrete -- filterParamsNumeric, filterParamsDiscrete -- updateParVals

ParamHelpers_1.7:

  • dfRowsToList, dfRowToList: added arg enforce.col.types
  • UntypedParam also got the "tunable" flag

ParamHelpers_1.6:

  • added new character parameter types, see new functions below
  • added property 'tunable' to make*Param
  • isFeasible supports named lists for unordered checks
  • numeric and numericvector Params and LearnerParams have a new arg 'allow.inf'
  • filterParams can now filter based on 'ids' and 'tunable'
  • convertParamSetToIrace: removed argument 'digits' to keep maximum precision of boundaries
  • added renderOptPathPlot and plotOptPath for plotting of optimization paths.
  • added plotEAF and plotYTraces to compare singlecrit and bicrit optimization paths.
  • new functions -- isRequiresOk -- plotEAF -- plotYTraces -- renderOptPathPlot, plotOptPath -- makeCharacterParam, makeCharacterVectorParam -- isCharacter, hasCharacter

ParamHelpers_1.5:

  • added constr.clip to print.ParamSet and related internal functions to make prints more readable
  • getDefaults: new option include.null

ParamHelpers_1.4:

  • sampleValue(s): 'discrete.names' now only affects discrtete params and not logicals anymore. logical params always result in R data type 'logical'
  • Vector params (num, int and log) can now have component names
  • many more OptPath getter methods allow the selection option 'dob' and 'eol' to subset the result
  • new functions -- getOptPathX -- generateRandomDesign

ParamHelpers_1.3:

  • sampleValue(s): 'discrete.names' now only affects discrtete params and not logicals anymore. logical params always result in R data type 'logical'
  • Vector params (num, int and log) can now have component names Functions that produce such vector values (e.g. sampleValue or dfRowsToList) will name the components of this vector automatically. The user can also call setValueCNames in his own code.
  • new functions -- getOptPathCols -- setValueCNames -- repairPoint

ParamHelpers_1.2:

  • normal parameters can now have a default value
  • parameter spaces can now define a forbidden region of infeasibility. all operations on the set respect this, although a few are disallowed and produce an exception.
  • rewrote generateDesign and dfRowsToList in C to greatly increase speed in the case of dependent parameters
  • generateDesign and generateGridDesign do not support type conversion anymore. See help page.
  • generateDesign now ensures that no duplicted settings are produced in rarer cases
  • Added option to log error messages, execution time and extra info in the optimization path.
  • slightly change interface of getOptPathY, so one can now return a matrix of multiple measures.
  • paramValueToString produces better readable output
  • sampleValue(s) have new option "trafo"
  • getLower and getUpper have with.nr argument now
  • getTypes renamed to getParamTypes
  • new functions -- isNumeric, isDiscrete, isInteger, isLogical -- hasNumeric, hasInteger, hasDiscrete, hasLogical -- getParamNr -- getDefaults -- hasTrafo, hasRequires -- isForbidden, hasForbidden -- generateGridDesign -- getOptPathExecTimes, getOptPathErrorMessages -- getOptPathParetoFront -- getOptPathCol

ParamHelpers_1.1-35:

  • concept of dependent parameters was introduced (argument "requires")
  • as.data.frame.OptPath: discretes.as.factor option
  • all arguments "length" renamed to len
  • new functions -- convertParamSetToIrace -- dfRowToList, dfRowsToList -- getOptPathDOB, getOptPathEOL -- hasRequires -- removeMissingValues

ParamHelpers_1.0-55:

  • disabled one unreasonable unit test for CRAN
  • some dependencies are now imports like they should be

ParamHelpers_1.0-54:

  • First submit to CRAN.

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("ParamHelpers")

1.10 by Bernd Bischl, a year ago


https://github.com/berndbischl/ParamHelpers


Report a bug at https://github.com/berndbischl/ParamHelpers/issues


Browse source code at https://github.com/cran/ParamHelpers


Authors: Bernd Bischl [aut, cre], Michel Lang [aut], Jakob Bossek [aut], Daniel Horn [aut], Karin Schork [ctb], Jakob Richter [aut], Pascal Kerschke [aut]


Documentation:   PDF Manual  


BSD_2_clause + file LICENSE license


Imports BBmisc, checkmate, methods

Suggests akima, eaf, emoa, GGally, ggplot2, gridExtra, grid, irace, lhs, plyr, reshape2, testthat


Imported by CEGO, OpenML, aslib, metagen.

Depended on by cmaesr, ecr, mlr, mlrMBO, smoof.

Suggested by bnclassify, flacco, llama.

Enhanced by liquidSVM.


See at CRAN