Skip to contents

In a nutshell this evolve method will select the parents using 2 methods (elite and random). Then it tags every selected individual with the index of it's mate in the population. Then the individuals which are randomly selected and tagged as to be mutated. For each individual of the population we check if they need to be crossed and/or mutated and the we apply the operations and create a new individual for each operation applied. If two parents are of different languages the algorithm will produce two children that are the same with each having one of the languages. This as been as a pipeline that could be paralellized with the most efficiency. We could summarize it the following way : IN -> Evaluation -> initialisation of the tags -> Tagging -> Crossing and mutation -> OUT (newpop)

Usage

evolve3m(X, y, clf, pop, featEval)

Arguments

X:

dataset to classify

y:

variable to predict

clf:

an object containing the different parameters of the classifier

pop:

the population to be evolved

featEval:

a dataset with the evaluation of each variable of the dataset, used for some mutator.

Value

A list with every new individuals