cavalab / ellyn

python-wrapped version of ellen, a linear genetic programming system for symbolic regression and classification.
http://cavalab.org/ellyn
Other
54 stars 12 forks source link

ellyn

Docs

ellyn is a Python-wrapped version of ellenGP that allows ellenGP to play nice with scikit-learn. ellyn's parameter settings are totally accessible from the commandline, whereas ellenGP relies on a parameter file. This can make batch jobs less tedious.

ellyn is a genetic programming tool for symbolic regression and multi-class classification that incorporates epigenetic learning and uses a stack-based, linear representation.

ellyn also inherits the BaseEstimator class used by sklearn's supervised learning modules. That means that ellyn can be used with that environment of tools, including the hyperparameter optimization tools and cross validation tools.

ellyn is also very fast due to its c++ underpinning. As a consequence, there are two library dependencies: Boost and Eigen, that need to be installed in order to make the ellyn library for python usage.

Quick Install

Using conda and the included environment file is easiest.


git clone https://github.com/cavalab/ellyn

cd ellyn

conda env create environment.yml

conda activate ellyn-env

python setup.py install

FYI

ellyn Copyright (C) 2016 William La Cava

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License (License.txt) for more details.