PySR Turns Neural Networks Into Readable Equations
Symbolic Learning in Python and Julia
PySR is an open-source symbolic regression tool that searches for interpretable mathematical expressions fitting a dataset, using a Julia engine called SymbolicRegression.jl under a scikit-learn-style Python interface. It supports custom operators, loss functions, and complexity constraints, and exports learned equations to SymPy, JAX, and PyTorch. The authors also describe "symbolic distillation," which converts a trained neural network into an analytic equation, making deep models interpretable.
Here, one essentially uses symbolic regression to convert a neural net to an analytic equation.
- brumar
How do we measure and compare prediction quality in a symbolic/deterministic context that also punish for complexity? I struggled on this in my phd thesis and had to brew my own Minimum Description Length implementation because I found nothing applicable. The statisticians I interrogated were like "don't try to do model selection on symbolic models, make them probabilistic and work from there"
- jgalt212
Has anyone thrown the n-body problem at this?
- JanisErdmanis
Is the Julia part here compiled via JuliaC and if not what would it take to do so?