This page describes the Generator Language.
Objective
The Generator Language's main objective is to configure data creation. This generated data can be used for several things and can be created in several ways.
Usage of created data
Maybe the most important usage of the Generator Language is the generation of training, testing and validation data for Machine Learning Models (see Machine Learning Language). Besides that, it can be used to visualize function landscapes if they're not known beforehand or generate initialisation data for stochastic optimisation algorithms.
Creation of data
There are several possibilities for creating data.
- Simply generate data that follows some statistical distribution. You can do this for as many dimensions as you want and choose a different statistical distribution for every dimension. Up to this point, you cannot create dependencies between dimensions with different statistical distributions.
- Generate function data. In this case, you generate input data with the first step and then specify the function to which they should be the input. This will give you the function values of your input data.
- Generate noised data. You can add this step to either of both steps above. You can see the statistical distribution from which your noise is drawn and the variables it should add to. This will then change the specified data according to the specified noise. This is especially helpful when mimicking experimental data or training resilient machine learning models.
Structure of Language
Files written in the Generator Language always have the ending .generator
.
Each file written in the Generator Language consists of an Import
section and a module
section. The import
section includes all necessary files for EvoAl to be able to understand this file. They are included via import <filetype> from <filesource>;
. Further details can be found at Explaining the Import-Structure.
The module
section will be explained shortly.