High-performance symbolic regression and equation discovery in Python and Julia.
High-performance genetic algorithms for interpretable machine learning in Python and Julia.
PySR is an open-source tool for symbolic regression that searches for interpretable mathematical expressions fitting your data. It suits data scientists and researchers who need explainable models rather than opaque black-box predictions.
The tool uses evolutionary algorithms backed by a high-performance Julia search engine to discover explicit analytic equations. It features scikit-learn compatible syntax, custom operators, loss functions, and outputs formulas in SymPy, JAX, or PyTorch formats.
It suits data scientists working on low-dimensional datasets or performing symbolic distillation of neural networks. It does not suit teams looking for traditional gradient-boosting tables or those unable to manage mixed Python and Julia runtime dependencies.
Fits models using standard fit and predict syntax familiar to Python developers.
Converts discovered equations directly into SymPy, JAX, or PyTorch formats.
Supports user-defined mathematical operators and custom loss functions written in Julia syntax.
Converts trained neural networks into analytic equations to interpret deep learning models.
Free under its Apache-2.0 license. The only cost is the local compute power and time required to run the evolutionary search.
876 open remote AI-training roles, updated November 15, 2026; most pay $20–$170 an hour. Zekai lists them free; the application goes to the employer’s platform.
PySR uses a high-performance Julia library called SymbolicRegression.jl as its underlying search engine to execute millions of genetic algorithm mutations rapidly.
You can call model.jax() or model.pytorch() on a fitted model to get differentiable expressions ready for deep learning pipelines.
See Zekai first in Google