"cm_angle", "cm_conv",
"cm_grad")
"ela_conv",
"ela_curv", "ela_distr", "ela_level",
"ela_local", "ela_meta")
"gcm")
"bt")
"ic")
"basic")
"disp")
"limo")
"nbc")
"pca")calculateFeatureSet(feat.object, set, control, ...)calculateFeatures(feat.object, control, ...)
FeatureObject]
A feature object as created by createFeatureObject.character(1)]
Name of the feature set, which should be computed. All possible feature
sets can be listed using listAvailableFeatureSets.list]
A list, which stores additional control arguments.
For further information, see details.list of (numeric) features:
cm_angle-- angle features (10)dist_ctr2{best, worst}.{mean, sd}angle.{mean, sd}y_ratio_best2worst.{mean, sd}costs_{fun_evals, runtime}cm_conv -- cell mapping convexity features (6)cm_grad -- gradient homogeneity features (4)ela_conv -- ELA convexity features (6)ela_curv -- ELA curvature features (23)ela_distr -- ELA y-distribution features (5)ela_level -- ELA levelset features (20)ela_local -- ELA local search features (15)ela_meta -- ELA meta model features (11)gcm -- general cell mapping (GCM) features (75)bt -- barrier tree features (90)ic -- information content features (7)basic -- basic features (16)disp -- dispersion features (18)limo -- linear model features (14)nbc -- nearest better (clustering) features (7)pca -- principal component (analysis) features (10)cm_conv.dist_methodcm_conv.minkowski_pcm_conv.fast_kcm_grad.dist_methodcm_grad.minkowski_pcm_grad.show_warningsela_conv.thresholdela_distr.modemass_thresholdela_distr.skewness_typeela_distr.kurtosis_typeela_level.classif_methodsela_level.resample_methodela_level.resample_iterationsela_level.resample_infoela_level.parallelizeela_level.parallel.modeela_level.parallel.cpusela_level.parallel.levelela_level.parallel.loggingela_level.parallel.show_infoela_local.optim_methodela_local.optim_method_controlela_local.sample_seedela_local.clust_methodela_local.clust_cut_functiongcm.cf_powergcm.cf_powerbt.basebt.max_depthic.sortingic.sample.generateic.sample.dimensionsic.sample.sizeic.sample.loweric.sample.upperic.aggregate_duplicatedic.show_warningsic.seedic.nn.startic.nn.neighborhoodic.settling_sensitivityic.info_sensitivitydisp.dist_methoddisp.minkowski_pnbc.minkowski_pnbc.dist_tie_breakernbc.cor_nanbc.fast_k{convex, concave}.hard{convex, concave}.softcosts_{fun_evals, runtime}{mean, sd}costs_{fun_evals, runtime}convex.nsample
(per default 1000) times and will then be aggregated:
{convex_p, linear_p}linear_dev.{orig, abs}costs_{fun_evals, runtime}curv.sample_size samples (per default
100 * d with d being the number of features) are randomly
chosen. Then, the gradient and hessian of the function are estimated
based on those points and the following features are computed:
grad_norm.{min, lq, mean, median, uq, max, sd}grad_scale.{min, lq, mean, median, uq, max, sd}hessian_cond.{min, lq, mean, median, uq, max, sd}costs_{fun_evals, runtime}skewnesskurtosisnumber_of_peakscosts_{fun_evals, runtime}mmce_{methods}_{quantiles}{method1}_{method2}_{quantiles}costs_{fun_evals, runtime}ela_local.local_searches)
are executed. Their optima are then clustered (using hierarchical
clustering), assuming that local optima that are located close to each
other, likely belong to the same basin. Given those basins, the
following features are computed:
n_loc_opt.{abs, rel}best2mean_contr.origbest2mean_contr.ratiobasin_sizes.avg_{best, non_best, worst}fun_evals.{min, lq, mean, median, uq, max, sd}costs_{fun_evals, runtime}objective ~ features are created. Both versions are created
with and without simple interactions (e.g., x1:x2). Based on
those models, the following features are computed:
lin_simple.{adj_r2, intercept}lin_simple.coef.{min, max, max_by_min}{lin_w_interact, quad_simple, quad_w_interact}.adj_r2quad_simple.condcosts_{fun_evals, runtime}min) or average (mean) objective value of
a cell or the closest observation (near) to a cell as
representative. For each of these approaches the following 25 features
are computed:
attractors, pcells, tcells, uncertainbasin_prob.{min, mean, median, max, sd}basin_certain.{min, mean, median, max, sd}basin_uncertain.{min, mean, median, max, sd}best_attr.{prob, no}costs_{fun_evals, runtime}min) or
average (mean) objective value of a cell or the closest
observation (near) to a cell as representative. For each of these
approaches the following 31 features are computed:
levelsleavesdepthdepth_levels_ratiolevels_nodes_ratiodiffs.{min, mean, median, max, sd}level_diffs.{min, mean, median, max, sd}attractor_dists.{min, mean, median, max, sd}basin_ratio.{uncertain, certain, most_likely}basin_intersection.{min, mean, median, max, sd}basin_rangecosts_{fun_evals, runtime}h.maxeps.seps.maxeps.s, but in contrast to the
former eps.max guarantees non-missing values
eps.ratio0.5
m0costs_{fun_evals, runtime}{dim, observations}{lower, upper, objective, blocks}_{min, max}cells_{filled, total}{allows_cm, minimize_fun}FeatureObject allows cell mapping and
whether the optimization function should be minimized
costs_{fun_evals, runtime}{ratio, diff}_{mean, median}_{02, 05, 10, 25}costs_{fun_evals, runtime}objective ~ features.
avg_length.{reg, norm}length_{mean, sd}cor.{reg, norm}ratio_{mean, sd}sd_{ratio, mean}.{reg, norm}costs_{fun_evals, runtime}nn_nb.{sd, mean}_rationn_nb.cordist_ratio.coeff_varnb_fitness.corcosts_{fun_evals, runtime}expl_var.{cov, cor}_{x, init}x) or the entire initial design
(init)
expl_var_PC1.{cov, cor}_{x, init}x) or the entire initial design
costs_{fun_evals, runtime}pca.{cov, cor}_{x, init}0.9parallelMap package or to
Furthermore, please consider adapting the feature computation to your
needs. Possible control arguments are:
show_progressTRUE.
subsetallow_cellmappingTRUE.
allow_costsTRUE if the feature object provides a function,
otherwise FALSE.
blacklistNULL, i.e. none of the features will be excluded.# (1) create a feature object:
X = t(replicate(n = 2000, expr = runif(n = 5, min = -10, max = 10)))
feat.object = createFeatureObject(X = X, fun = function(x) sum(x^2))
# (2) compute all non-cellmapping features
ctrl = list(allow_cellmapping = FALSE)
features = calculateFeatures(feat.object, control = ctrl)
# (3) in order to allow the computation of the cell mapping features, one
# has to provide a feature object that has knowledge about the number of
# cells per dimension:
f = function(x) sum(x^2)
feat.object = createFeatureObject(X = X, fun = f, blocks = 3)
features = calculateFeatures(feat.object)
# (4) if you want to compute a specific feature set, you can use
# calculateFeatureSet:
features.angle = calculateFeatureSet(feat.object, "cm_angle")
# (5) as noted in the details, it might be useful to compute the levelset
# features parallelized:
library(parallelMap)
library(parallel)
n.cores = detectCores()
parallelStart(mode = "multicore", cpus = n.cores,
logging = FALSE, show.info = FALSE)
system.time((levelset.par = calculateFeatureSet(feat.object, "ela_level")))
parallelStop()
system.time((levelset.seq = calculateFeatureSet(feat.object, "ela_level")))Run the code above in your browser using DataLab