{"id":13570403,"url":"https://github.com/trevorstephens/gplearn","last_synced_at":"2025-05-14T16:02:39.661Z","repository":{"id":29365224,"uuid":"32899829","full_name":"trevorstephens/gplearn","owner":"trevorstephens","description":"Genetic Programming in Python, with a scikit-learn inspired API","archived":false,"fork":false,"pushed_at":"2023-11-29T15:04:03.000Z","size":7990,"stargazers_count":1683,"open_issues_count":27,"forks_count":298,"subscribers_count":52,"default_branch":"main","last_synced_at":"2025-05-11T19:07:06.748Z","etag":null,"topics":["genetic-programming","machine-learning","python","scikit-learn","symbolic-regression"],"latest_commit_sha":null,"homepage":"http://gplearn.readthedocs.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/trevorstephens.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2015-03-26T01:01:14.000Z","updated_at":"2025-05-09T08:41:34.000Z","dependencies_parsed_at":"2022-07-06T16:12:15.870Z","dependency_job_id":"500db306-fca9-4b3b-9aee-a675861083f1","html_url":"https://github.com/trevorstephens/gplearn","commit_stats":{"total_commits":160,"total_committers":10,"mean_commits":16.0,"dds":0.0625,"last_synced_commit":"64517a85fd6d6c50f9ee9e5599f97458da278951"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trevorstephens%2Fgplearn","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trevorstephens%2Fgplearn/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trevorstephens%2Fgplearn/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trevorstephens%2Fgplearn/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/trevorstephens","download_url":"https://codeload.github.com/trevorstephens/gplearn/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254179903,"owners_count":22027884,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["genetic-programming","machine-learning","python","scikit-learn","symbolic-regression"],"created_at":"2024-08-01T14:00:52.026Z","updated_at":"2025-05-14T16:02:39.615Z","avatar_url":"https://github.com/trevorstephens.png","language":"Python","funding_links":[],"categories":["Tools","Genetic Programming","Python Libraries","Machine Learning Framework","Others","Python","\u003cspan id=\"head60\"\u003e3.9. Data Driven Methods (Equation Searching Methods)\u003c/span\u003e","Genetic Algorithms","Technical Resources","Machine Learning Frameworks"],"sub_categories":["Physics-inspired","Others","Hyperparameter Search \u0026 Gradient-Free Optimization","\u003cspan id=\"head61\"\u003e3.9.1. Symbolic Regression\u003c/span\u003e","NLP","Open Source/Access Responsible AI Software Packages"],"readme":".. image:: https://img.shields.io/pypi/v/gplearn.svg\n    :target: https://pypi.python.org/pypi/gplearn/\n    :alt: Version\n.. image:: https://img.shields.io/pypi/l/gplearn.svg\n    :target: https://github.com/trevorstephens/gplearn/blob/main/LICENSE\n    :alt: License\n.. image:: https://readthedocs.org/projects/gplearn/badge/?version=stable\n    :target: http://gplearn.readthedocs.io/\n    :alt: Documentation Status\n.. image:: https://github.com/trevorstephens/gplearn/actions/workflows/build.yml/badge.svg?branch=master\n    :target: https://github.com/trevorstephens/gplearn/actions/workflows/build.yml\n    :alt: Test Status\n.. image:: https://coveralls.io/repos/trevorstephens/gplearn/badge.svg\n    :target: https://coveralls.io/r/trevorstephens/gplearn\n    :alt: Test Coverage\n.. image:: https://app.codacy.com/project/badge/Grade/02506317148e41a4b68a66e4c4e2b035\n    :target: https://app.codacy.com/gh/trevorstephens/gplearn/dashboard\n    :alt: Code Health\n\n|\n\n.. image:: https://raw.githubusercontent.com/trevorstephens/gplearn/master/doc/logos/gplearn-wide.png\n    :target: https://github.com/trevorstephens/gplearn\n    :alt: Genetic Programming in Python, with a scikit-learn inspired API\n\n|\n\nWelcome to gplearn!\n===================\n\n`gplearn` implements Genetic Programming in Python, with a `scikit-learn \u003chttp://scikit-learn.org\u003e`_ inspired and compatible API.\n\nWhile Genetic Programming (GP) can be used to perform a `very wide variety of tasks \u003chttp://www.genetic-programming.org/combined.php\u003e`_, gplearn is purposefully constrained to solving symbolic regression problems. This is motivated by the scikit-learn ethos, of having powerful estimators that are straight-forward to implement.\n\nSymbolic regression is a machine learning technique that aims to identify an underlying mathematical expression that best describes a relationship. It begins by building a population of naive random formulas to represent a relationship between known independent variables and their dependent variable targets in order to predict new data. Each successive generation of programs is then evolved from the one that came before it by selecting the fittest individuals from the population to undergo genetic operations.\n\ngplearn retains the familiar scikit-learn `fit/predict` API and works with the existing scikit-learn `pipeline \u003chttps://scikit-learn.org/stable/modules/compose.html\u003e`_ and `grid search \u003chttp://scikit-learn.org/stable/modules/grid_search.html\u003e`_ modules. The package attempts to squeeze a lot of functionality into a scikit-learn-style API. While there are a lot of parameters to tweak, `reading the documentation \u003chttp://gplearn.readthedocs.io/\u003e`_ should make the more relevant ones clear for your problem.\n\ngplearn supports regression through the SymbolicRegressor, binary classification with the SymbolicClassifier, as well as transformation for automated feature engineering with the SymbolicTransformer, which is designed to support regression problems, but should also work for binary classification.\n\ngplearn is built on scikit-learn and a fairly recent copy is required for `installation \u003chttp://gplearn.readthedocs.io/en/stable/installation.html\u003e`_. If you come across any issues in running or installing the package, `please submit a bug report \u003chttps://github.com/trevorstephens/gplearn/issues\u003e`_.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrevorstephens%2Fgplearn","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftrevorstephens%2Fgplearn","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrevorstephens%2Fgplearn/lists"}