Ressources
This directory includes open source codes of SR methods and useful online resources.
Open source codes
For method category, we use: EA=EVOLUTIONARY ALGORITHM (E.G., GP), DL=DEEP LEARNING, MIX=COMBINATION OF MULTIPLE CLASSES.
Method |
Category |
Code |
Implementation |
Year |
Brief description |
---|---|---|---|---|---|
SINDy_AE | Mix | URL | Python | 2019 | Formulates the SR problem as a system of linear equations built using the set of allowable operators and learns the coefficients of candidate functions using a deep autoencoder (AE) network. This is an extendable version of the SINDy that learns a coordinate transformation of a reduced space where the dynamics are sparsely represented. |
EQL\(\div\) | DL (NN) | URL | Python | 2018 | A fully differentiable shallow neural network with non-linear activation functions (e.g., algebraic operators and analytical functions) instead of traditional ones (e.g., sigmoid, relu, softmax, etc.). This is an extendable version of the original EQL that includes the division among candidate activation functions. |
Eureqa | EA | URL | 2009 | It is a closed-source code that uses genetic programming to learn mathematical expressions. It was developed in 2009 and popularized as the scientific discovery machinery but dismisses its mission. | |
PySR | EA | URL | Pyhton/Julia | 2023 | Fast and parallelized symbolic regression in Python/Julia based on evolutionary algorithms (EA). Treats mathematical expressions as trees and uses tournament selection. |
PSTree | EA | URL | Python | 2022 | Consists of an automated piece-wise non-linear regression method based on decision tree and genetic programming techniques. |
gplearn | EA | URL | Pyhton | - | Koza-style symbolic regression in python. It includes a SymbolicRegressor, SymbolicClassifier, and SymbolicTransformer for different tasks. |
Operon | EA | URL | C++ | 2020 | GP-based |
DSR | Mix | URL | Pyhton | 2021 | Consists of a generative RNN model of symbolic expressions trained using reinforcement learning. |
NeSymReS | DL (TNN) | URL | Pyhton | 2021 | A pre-trained transformer that predicts SR models directly from the data. Predicted models are then fine-tuned and the best is returned. |
E2ET | DL (TNN) | URL | Pyhton | 2022 | A pre-trained transformer that predicts SR models directly from the data. Predicted models are then fine-tuned and the best is returned. |
\(\phi\)-SO | DL (RL) | URL | Python | 2023 | Consists of a generative RNN model of symbolic expressions trained using reinforcement learning (DSR method) while fully leveraging physical units (of measurement) constraints in the search space at two levels, external (in situ physical units constraints) and internal (during RNN training). |
AIFeynman | Mix | URL | Pyhton | 2019 | A physics-informed SR method that uses NN to learn symmetries in data (translational, rotational, vibrational) to simply the global SR problem into simpler SR subproblems. |
SRBench | - | URL | Python | 2021 | A benchmark consisting of 14 SR methods (among which DSR, BSR, AIFeynman, and FFX are non-EA-based methods). |
uDSR | Mix | URL | Python | 2022 | A unified SR framework that includes AIFeynamn, DSR, linear model (LM), large-scale pre-training (LSPT), and GP altogether. This method takes the strength of each class of symbolic regression. |