getNormalizationRanges | R Documentation |
Executes an independent stochastic hill-climbing search (random descent) per objective to approximate the optimal solution for each objective, from which a suitable normalization range is inferred based on the Pareto minima/maxima. These normalization searches are executed in parallel.
getNormalizationRanges(
data,
obj,
size = 0.2,
always.selected = integer(0),
never.selected = integer(0),
mode = c("default", "fast"),
time = NA,
impr.time = NA,
steps = NA,
impr.steps = NA
)
data |
Core Hunter data ( |
obj |
List of objectives ( |
size |
Desired core subset size (numeric). If larger than one the value is used as the absolute core size after rounding. Else it is used as the sampling rate and multiplied with the dataset size to determine the size of the core. The default sampling rate is 0.2. |
always.selected |
vector with indices (integer) or ids (character) of items that should always be selected in the core collection |
never.selected |
vector with indices (integer) or ids (character) of items that should never be selected in the core collection |
mode |
Execution mode ( |
time |
Absolute runtime limit in seconds. Not used by default ( |
impr.time |
Maximum time without improvement in seconds. If no explicit
stop conditions are specified, the maximum time without improvement defaults
to ten or two seconds, when executing Core Hunter in |
steps |
Maximum number of search steps. Not used by default ( |
impr.steps |
Maximum number of steps without improvement. Not used by
default ( |
For an objective that is being maximized, the upper bound is set to the value of the best solution for that objective, while the lower bound is set to the Pareto minimum, i.e. the minimum value obtained when evaluating all optimal solutions (for each single objective) with the considered objective. For an objective that is being minimized, the roles of upper and lower bound are interchanged, and the Pareto maximum is used instead.
Because Core Hunter uses stochastic algorithms, repeated runs may produce different
results. To eliminate randomness, you may set a random number generation seed using
set.seed
prior to executing Core Hunter. In addition, when reproducible
results are desired, it is advised to use step-based stop conditions instead of the
(default) time-based criteria, because runtimes may be affected by external factors,
and, therefore, a different number of steps may have been performed in repeated runs
when using time-based stop conditions.
Numeric matrix with one row per objective and two columns:
lower
Lower bound of normalization range.
upper
Upper bound of normalization range.
coreHunterData
, objective
data <- exampleData()
# maximize entry-to-nearest-entry distance between genotypes and phenotypes (equal weight)
objectives <- list(objective("EN", "MR"), objective("EN", "GD"))
# get normalization ranges for default size (20%)
ranges <- getNormalizationRanges(data, obj = objectives, mode = "fast")
# set normalization ranges and sample core
objectives <- lapply(1:2, function(o){setRange(objectives[[o]], ranges[o,])})
core <- sampleCore(data, obj = objectives)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.