Karoo GP is a Genetic Programming (GP) suite, a subset of Machine Learning written in Python. GP provides both symbolic regression and classification analysis. Karoo GP is a scalable platform with multicore and GPU support (via TensorFlow), designed to readily work with realworld data. No programming required. As a teaching tool, it enables instructors to share step-by-step how an evolutionary algorithm arrives to its solution. As a hands-on learning tool, Karoo GP supports rapid, repeatable experimentation.
Karoo GP includes a Desktop application with an intuitive user interface, a fully scriptable Server application with user defined default parameters, command-line arguments, and automatically generate evolutionary population and parameter archives; a stand-alone Python script which generates randomly constructed subsets of larger datasets and another which normalises datasets; and a toy model which shows the inner workings of multiclass classification.
The included User Guide (PDF) offers system requirements, a crash-course in Genetic Programming, and use of Karoo GP for both the novice and advanced user.
- written in Object Oriented Python with a hierarchical naming scheme for all methods
- multicore and GPU support through the TensorFlow library
- Desktop script provides a simple user interface with menu, 5 display modes (see below), and runtime reconfiguration of parameters
- Server script enables configurable runs via command-line arguments
- anticipates datasets as standard .csv files
- automatically archives the population of each generation and runtime parameters
- supports customised seed populations
- relatively simple framework for preparing custom fitness functions and evaluation routines
Karoo GP was developed during Staats' MSc research at the University of Cape Town / African Institute for Mathematical Sciences and the Square Kilometre Array (SKA), South Africa, and owes its foundation to the "Field Guide to Genetic Programming" by Poli, Langdon, McPhee, and Koza. The Field Guide and many more GP publications and software packages are showcased at www.geneticprogramming.com