Giter Site home page Giter Site logo

druidowm / srbench Goto Github PK

View Code? Open in Web Editor NEW

This project forked from cavalab/srbench

1.0 0.0 0.0 26.02 MB

A living benchmark framework for symbolic regression

Home Page: https://cavalab.org/srbench/

License: GNU General Public License v3.0

Shell 1.51% C++ 8.73% Python 17.73% Java 43.05% R 0.23% Makefile 0.09% Jupyter Notebook 28.40% Dockerfile 0.26%

srbench's Introduction

SRBench: A Living Benchmark for Symbolic Regression

The methods for symbolic regression (SR) have come a long way since the days of Koza-style genetic programming (GP). Our goal with this project is to keep a living benchmark of modern symbolic regression, in the context of state-of-the-art ML methods.

Currently these are the challenges, as we see it:

  • Lack of cross-pollination between the GP community and the ML community (different conferences, journals, societies etc)
  • Lack of strong benchmarks in SR literature (small problems, toy datasets, weak comparator methods)
  • Lack of a unified framework for SR, or GP

We are addressing the lack of pollination by making these comparisons open source, reproduceable and public, and hoping to share them widely with the entire ML research community. We are trying to address the lack of strong benchmarks by providing open source benchmarking of many SR methods on large sets of problems, with strong baselines for comparison. To handle the lack of a unified framework, we've specified minimal requirements for contributing a method to this benchmark: a scikit-learn compatible API.

Benchmarked Methods

This benchmark currently consists of 14 symbolic regression methods, 7 other ML methods, and 252 datasets from PMLB, including real-world and synthetic datasets from processes with and without ground-truth models.

Methods currently benchmarked:

  • Age-Fitness Pareto Optimization (Schmidt and Lipson 2009) paper , code

  • Age-Fitness Pareto Optimization with Co-evolved Fitness Predictors (Schmidt and Lipson 2009) paper , code

  • AIFeynman 2.0 (Udrescu et al. 2020) paper , code

  • Bayesian Symbolic Regression (Jin et al. 2020) paper , code

  • Deep Symbolic Regression (Petersen et al. 2020) paper , code

  • Fast Function Extraction (McConaghy 2011) paper , code

  • Feature Engineering Automation Tool (La Cava et al. 2017) paper , code

  • epsilon-Lexicase Selection (La Cava et al. 2016) paper , code

  • GP-based Gene-pool Optimal Mixing Evolutionary Algorithm (Virgolin et al. 2017) paper , code

  • gplearn (Stephens) code

  • Interaction-Transformation Evolutionary Algorithm (de Franca and Aldeia, 2020) paper , code

  • Multiple Regression GP (Arnaldo et al. 2014) paper , code

  • Operon (Burlacu et al. 2020) paper , code

  • Semantic Backpropagation GP (Virgolin et al. 2019) paper , code

Methods Staged for Benchmarking:

  • PySR (Cranmer 2020) code
  • PSTree (Zhang 2021) code

Contribute

We are actively updating and expanding this benchmark. Want to add your method? See our Contribution Guide.

References

A pre-print of the current version of the benchmark is available: v2.0 was reported in our Neurips 2021 paper:

La Cava, W., Orzechowski, P., Burlacu, B., de França, F. O., Virgolin, M., Jin, Y., Kommenda, M., & Moore, J. H. (2021). Contemporary Symbolic Regression Methods and their Relative Performance. Neurips Track on Datasets and Benchmarks. arXiv, neurips.cc

v1.0 was reported in our GECCO 2018 paper:

Orzechowski, P., La Cava, W., & Moore, J. H. (2018). Where are we now? A large benchmark study of recent symbolic regression methods. GECCO 2018. DOI, Preprint

Contact

William La Cava (@lacava), william dot lacava at childrens dot harvard dot edu

srbench's People

Contributors

lacava avatar milescranmer avatar folivetti avatar athril avatar foolnotion avatar marcovirgolin avatar hengzhe-zhang avatar aboisbunon avatar jmmcd avatar yoshitomo-matsubara avatar druidowm avatar ying531 avatar

Stargazers

Rumen Dangovski avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.