pyoperon
pyoperon copied to clipboard
Python bindings and scikit-learn interface for the Operon library for symbolic regression.
pyoperon
pyoperon is the python bindings library of Operon, a modern C++ framework for symbolic regression developed by Heal-Research at the University of Applied Sciences Upper Austria.
A scikit-learn regressor is also available:
from pyoperon.sklearn import SymbolicRegressor
The example folder contains sample code for using either the Python bindings directly or the pyoperon.sklearn module.
Installation
Due to ABI incompatiblity, the PyOperon version on PyPI is outdated. The wheels are instead released on github: https://github.com/heal-research/pyoperon/releases/
Building from source
Conda/Mamba
- Clone the repository
git clone https://github.com/heal-research/pyoperon.git
cd pyoperon
- Install and activate the environment (replace micromamba with your actual program)
micromamba env create -f environment.yml
micromamba activate pyoperon
- Install the dependencies
export CC=${CONDA_PREFIX}/bin/clang
export CXX=${CONDA_PREFIX}/bin/clang++
./script/dependencies.sh
- Install
pyoperon
pip install .
Nix
Use this environment created with poetry2nix
nix develop github:foolnotion/poetryenv --no-write-lock-file
This will install operon and dependencies. Modify the flake file if you need additional python libraries (see https://github.com/nix-community/poetry2nix#how-to-guides)
Contributing
See the CONTRIBUTING document.