目录

符号回归Symbolic Regression

misaraty 更新 | 2025-07-27
前言
介绍常见的符号回归symbolic regression程序;其采用遗传算法genetic algorithm搜索函数解析式,可用于数据分析。

常用软件

Eureqa

  • GUI操作,直观。

  • 商业化之后,虽科研用途免费,但只能在线操作。

gplearn

  • gplearn

  • Github Stars看,Star增速不如PySR,且2022年5月3日之后不再更新。

./2024-11-15_093840.jpg
Github Star趋势

PySR

          对于Windows:

          运行Julia(v1.9.4)

1
2
3
4
using Pkg; Pkg.add("PyCall")
ENV["PYTHON"]="C:/Users/lenovo/anaconda3/python.exe"
Pkg.build("PyCall")
using PyCall

          重新安装Pysr

1
pip install pysr
警告
若切换Julia版本之后不重新安装pysr,则会报dll缺失的错误。

          最后运行脚本。


          对于Linux:

          先安装Pysr

1
pip install pysr

          再安装PythonCallSymbolicRegression

1
2
3
4
5
using Pkg
Pkg.add("PythonCall")
Pkg.instantiate()

Pkg.add("SymbolicRegression")

          然后直接运行脚本。

警告
root账号和本地账号下面需要分别安装库,因为调用的是账号下面的.julia
注意
其实,在Windows环境下,先安装Julia,然后在Python中运行pip install pysr即可,会自动调用Julia并安装相关库。
  • SRBench显示,PySR性能不错。

  • 依赖SymbolicRegression.jl

./Synthetic_Track_Rankings.jpg
Synthetic Track Rankings

QLattice/Feyn

1
pip install feyn

DEAP

1
pip install deap

      geppy

1
pip install geppy

uDSR/Deep Symbolic Optimization/DSO

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
conda create -n tf1 python=3.6 # 因为TensorFlow 1.15.5需要Python 3.6。
conda env list # 查看虚拟环境
conda activate tf1 # 激活虚拟环境
conda config --set ssl_verify False # 禁用SSL验证

# 先关闭代理
pip install pysocks
set HTTP_PROXY=socks5://127.0.0.1:7890
set HTTPS_PROXY=socks5://127.0.0.1:7890

# 接着打开代理
git clone https://github.com/dso-org/deep-symbolic-optimization
conda install -c conda-forge box2d-py # 否则会报错:Failed to build box2d-py opencv-python
pip install -e ./dso[all]

PhySO

1
2
git clone https://github.com/WassimTenachi/PhySO
pip install -e .

SISSO

Mathematica

Matlab

Julia

C++

Go

Python

1
pip install rils-rols

性能对比