flacco is a collection of features for Explorative Landscape Analysis (ELA) of single-objective, continuous (Black-Box-)Optimization Problems. It allows the user to quantify characteristics of an (unknown) optimization problem’s landscape.
Features, which used to be spread over different packages and platforms (R, Matlab, python, etc.), are now combined within this single package. Amongst others, this package contains feature sets, such as ELA, Information Content, Dispersion, (General) Cell Mapping or Barrier Trees.
Furthermore, the package provides a unified interface for all features – using a so-called feature object and (if required) control arguments. In total, the current release (1.7) consists of 17 different feature sets, which sum up to approximately 300 features.
In addition to the features themselves, this package also provides visualizations, e.g. of the cell mappings, barrier trees or information content:
If you want to get started quickly, have a look at the flacco tutorial.
library(flacco)
## (1) Create some example-data
X = createInitialSample(n.obs = 500, dim = 2)
f = function(x) sum(sin(x) * x^2 + (x - 0.5)^3)
y = apply(X, 1, f)
## (2) Compute the feature object
feat.object = createFeatureObject(X = X, y = y)
## (3) Have a look at feat.object
print(feat.object)
## (4) Check, which feature sets are available
listAvailableFeatureSets()
## (5) Calculate a specific feature set, e.g. the ELA meta model
featureSet = calculateFeatureSet(feat.object, set = "ela_meta")
If you want to use the version from CRAN, you should download it from here and ideally install it along with all its dependencies:
install.packages("flacco", dependencies = TRUE)
However, if you want to use the development version, you can download it with the following command:
devtools::install_github("kerschke/flacco")
We have started to implement a graphical user interface (GUI) for our package. Its online-version is hosted here.
Alternatively, you can start it from within R:
library(flacco)
runFlaccoGUI()
BSD_2_clause + file LICENSE