trevorstephens/gplearn

Genetic Programming in Python, with a scikit-learn inspired API

What it solves

It provides a way to find mathematical expressions that describe the relationship between variables. Instead of traditional machine learning models that are "black boxes," this tool uses symbolic regression to discover a readable formula that best fits the data.

How it works

The library implements Genetic Programming (GP). It starts with a population of random mathematical formulas. It then evolves these formulas over multiple generations, selecting the fittest individuals based on their performance and applying genetic operations to create new, improved versions until an optimal expression is found.

Who it’s for

Data scientists and machine learning practitioners who use the scikit-learn ecosystem and want to perform symbolic regression, binary classification, or automated feature engineering.

Highlights

  • Scikit-learn compatible API using the familiar fit/predict pattern.
  • Supports symbolic regression via the SymbolicRegressor.
  • Supports binary classification via the SymbolicClassifier.
  • Enables automated feature engineering through the SymbolicTransformer.
  • Integrates with scikit-learn pipelines and grid search modules.

Related

  • Project
  • Project
  • Project
  • Project
  • Project