/SimpleGP

Simple Genetic Programming for Symbolic Regression in Python3

Primary LanguagePythonMIT LicenseMIT

Note

This repo will most likely no longer be extended. Please take a look at genepro instead. genepro attempts to be an overall better version of a simple GP baseline in python, which goes beyond regression alone.

Simple Genetic Programming

For Symbolic Regression

This Python 3 code is a simple implementation of genetic programming for symbolic regression, and has been developed for educational purposes.

Dependencies

numpy & sklearn. The file test.py shows an example of usage.

Installation

You can install it with pip using python3 -m pip install --user simplegp, or locally by downloading the code and running python3 setup.py install --user.

Reference

If you use this code, please support our research by citing one (or more) of our works for which this code was made or adopted:

M. Virgolin, A. De Lorenzo, E. Medvet, F. Randone. "Learning a Formula of Interpretability to Learn Interpretable Formulas". Parallel Problem Solving from Nature -- PPSN XVI, pp. 79--93, Springer (2020). (arXiv preprint arXiv:2004.11170)

M. Virgolin. "Genetic Programming is Naturally Suited to Evolve Bagging Ensembles". Genetic and Evolutionary Computation Conference -- GECCO 2021, pp. 830--839, ACM (2021). (arXiv preprint arXiv:2009.06037)

Multi-objective

For a multi-objective version, see pyNSGP.