pushgpΒΆ

PushGP is really a collection of various interlocking piece, enabling you to run symbolic regression using the Push programming language.

At the most high level is pushgp.estimators.PushGPRegression, built on scikit-learn. This allows you to use genetic programming in your machine learning toolchain, as you would any other technique, such as linear regression.

Then there is pushgp.ec.ec.PushGP which performs the actual evolution of Push programs. This is implemented as an evolutionary computation engine for Inspyred.

That module, in turn, makes use of pushgp.push.interpreter.Push, which handles all of the language logic.

Right now, the only part to be fully implemented and test is the Push interpreter.