FeatureObject {flacco} | R Documentation |
Create a Feature Object
Description
Create a FeatureObject
, which will be used as input for all
the feature computations.
Usage
createFeatureObject(
init,
X,
y,
fun,
minimize,
lower,
upper,
blocks,
objective,
force = FALSE
)
Arguments
init |
[data.frame ]
A data.frame , which can be used as initial design. If not provided,
it will be created either based on the initial sample X and the
objective values y or X and the function definition fun .
|
X |
[data.frame or matrix ]
A data.frame or matrix containing the initial sample. If not
provided, it will be extracted from init .
|
y |
[numeric or integer ]
A vector containing the objective values of the initial design.
If not provided, it will be extracted from init .
|
fun |
[function ]
A function, which allows the computation of the objective values. If it is
not provided, features that require additional function evaluations, can't
be computed.
|
minimize |
[logical(1) ]
Should the objective function be minimized? The default is TRUE .
|
lower |
[numeric or integer ]
The lower limits per dimension.
|
upper |
[numeric or integer ]
The upper limits per dimension.
|
blocks |
[integer ]
The number of blocks per dimension.
|
objective |
[character(1) ]
The name of the feature, which contains the objective values. The
default is "y" .
|
force |
[logical(1) ]
Only change this parameter IF YOU KNOW WHAT YOU ARE DOING! Per default
(force = FALSE ), the function checks whether the total number of
cells that you are trying to generate, is below the (hard-coded) internal
maximum of 25,000 cells. If you set this parameter to TRUE , you
agree that you want to exceed that internal limit.
Note: *Exploratory Landscape Analysis (ELA)* is only useful when you are
limited to a small budget (i.e., a small number of function evaluations)
and in such scenarios, the number of cells should also be kept low!
|
Value
[FeatureObject
].
Examples
# (1a) create a feature object using X and y:
X = createInitialSample(n.obs = 500, dim = 3,
control = list(init_sample.lower = -10, init_sample.upper = 10))
y = apply(X, 1, function(x) sum(x^2))
feat.object1 = createFeatureObject(X = X, y = y,
lower = -10, upper = 10, blocks = c(5, 10, 4))
# (1b) create a feature object using X and fun:
feat.object2 = createFeatureObject(X = X,
fun = function(x) sum(sin(x) * x^2),
lower = -10, upper = 10, blocks = c(5, 10, 4))
# (1c) create a feature object using a data.frame:
feat.object3 = createFeatureObject(iris[,-5], blocks = 5,
objective = "Petal.Length")
# (2) have a look at the feature objects:
feat.object1
feat.object2
feat.object3
# (3) now, one could calculate features
calculateFeatureSet(feat.object1, "ela_meta")
calculateFeatureSet(feat.object2, "cm_grad")
library(plyr)
calculateFeatureSet(feat.object3, "cm_angle", control = list(cm_angle.show_warnings = FALSE))
[Package
flacco version 1.8
Index]