This is the code implemetation of paper accepted at ECML-PKDD 2023 with title: Symbolic Regression via Control Variable Genetic Programming.
pip install deap
- data: the generated dataset. Every file represent a ground-truth expression.
- dso: public code implementation from https://github.com/brendenpetersen/deep-symbolic-optimization.
- plots: the jupter notebook to generate our figures in the paper.
- result: contains all the output of all the programs, the training logs.
- src: the inplemenattion of the our proposed control variable genetic programming algorithm and the classic genetic programming algorithm.
Run the CVGP, GP model on the Noiseless [inv, sincos, sincosinv] dataset with configurations (5,5,8).
./src/scripts/run_gp_cvgp.sh
Assume we want to run CVGP, GP the Noisy [inv, sincos, sincosinv] dataset with configurations (5,5,8).
./src/scripts/noisy_run_gp_cvgp.sh
- install python environment 3.6.13:
conda create -n py3613 python=3.6.13
. - use the enviorment
conda env py3613
. - install
dso
cd ./dso
pip install --upgrade setuptools pip
export CFLAGS="-I $(python -c "import numpy; print(numpy.get_include())") $CFLAGS"
pip install -e ./dso
- create the
.csv
data file and.json
model configuration file
If you
# generate the **Noiseless** **[inv, sincos, sincosinv]** dataset with configurations *(5,5,8)*.
./dso/dataset/gen_data.sh
# generate the **Noisy** **[inv, sincos, sincosinv]** dataset with configurations *(5,5,8)*.
./dso/dataset/noisy_gen_data.sh
- run DSR, PQT, VPG, GPMeld models by If you want to run DSR, PQT, VPG, GPMeld on Noiseless datasets.
./dso/scripts/run_dsr_pqt_vpg_gpmeld.sh
If you want to run DSR, PQT, VPG, GPMeld on Noisy datasets.
./dso/scripts/noisy_run_dsr_pqt_vpg_gpmeld.sh
Just open the plots
folder
./result/summary_output.sh
If you want to reuse this material, please considering citing the following:
@InProceedings{10.1007/978-3-031-43421-1_11,
author="Jiang, Nan
and Xue, Yexiang",
title="Symbolic Regression via Control Variable Genetic Programming",
booktitle="Machine Learning and Knowledge Discovery in Databases: Research Track",
year="2023",
publisher="Springer Nature Switzerland",
address="Cham",
pages="178--195",
isbn="978-3-031-43421-1"
}