Welcome to culebra’s documentation!

Culebra was born as a DEAP-based evolutionary computation library designed to solve feature selection problems. However, it has been redesigned to support different kind of problems and also different metaheuristics.

Experiments and experiment batchs are automatized by means of the Experiment and Batch classes, both in the tools module. Statistical analysis of the Results is also provided by the ResultsAnalyzer class.

Culebra is structured in the following modules:

  • The abc module, which defines the abstract base classes that support culebra

  • The checker module, which provides several checker functions used within culebra to prevent wrong arguments to functions and methods

  • The solution module, which define solutions and solution species for several problems

  • The fitness_function module, which provides fitness functions for several problems

  • The trainer module, which implement several training algorithms

  • The tools module, which implements several tools to handle data and make easier the experimentation and the analysis of the obtained results

Attributes:

DEFAULT_MAX_NUM_ITERS = 100

Default maximum number of iterations.

PICKLE_FILE_EXTENSION = '.gz'

Extension for files containing pickled objects.

DEFAULT_CHECKPOINT_ENABLE = True

Default checkpointing enablement for a Trainer.

DEFAULT_CHECKPOINT_FREQ = 10

Default checkpointing frequency for a Trainer.

DEFAULT_CHECKPOINT_BASENAME = 'checkpoint'

Default basename for checkpointing files.

DEFAULT_CHECKPOINT_FILENAME = 'checkpoint.gz'

Default checkpointing file name for a Trainer.

DEFAULT_VERBOSITY = True

Default verbosity for a Trainer.

DEFAULT_INDEX = 0

Default Trainer index. Only used within a distributed approaches.

Indices and tables

References

[Gonzalez2019]

J. González, J. Ortega, M. Damas, P. Martín-Smith, John Q. Gan. A new multi-objective wrapper method for feature selection - Accuracy and stability analysis for BCI. Neurocomputing, 333:407-418, 2019. https://doi.org/10.1016/j.neucom.2019.01.017.

[Gonzalez2021]

J. González, J. Ortega, J. J. Escobar, M. Damas. A lexicographic cooperative co-evolutionary approach for feature selection. Neurocomputing, 463:59-76, 2021. https://doi.org/10.1016/j.neucom.2021.08.003.