Add GP_ELITE (pure-Python GP with Levenberg-Marquardt constants)#212
Open
ariel95500-create wants to merge 10 commits into
Open
Add GP_ELITE (pure-Python GP with Levenberg-Marquardt constants)#212ariel95500-create wants to merge 10 commits into
ariel95500-create wants to merge 10 commits into
Conversation
Implement GPEliteSRBench for symbolic regression with max time constraint.
Added metadata for GP_ELITE project including authors, description, and URL.
Added metadata for GP_ELITE project including authors, description, and URL.
Implement GPEliteSRBench class for symbolic regression with time constraints and multiple restarts. Includes methods for fitting the model, generating symbolic expressions, and evaluating complexity.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR adds GP_ELITE, a pure-Python symbolic regression library
(pip install gp-elite, MIT).
Method: genetic programming with island parallelism, Levenberg-Marquardt
constant optimization, native multi-restart with merged archives, and a
complexity/accuracy Pareto front. The regressor passes scikit-learn's
check_estimator, implements max_time via time-boxed sequential restarts,
and model() returns a sympy-compatible string using the dataset column
names, with input normalization folded in (the string reproduces
est.predict on raw features to ~1e-12).
Internal run of the SRBench ground-truth protocol on the 119 Feynman
datasets (10k rows, 75/25 split, 3 seeds, R2_test>0.999): 60.2% of runs
solved, 69% of datasets solved by at least one seed, median R2 0.99973.
Raw jsonl logs and the runner are available in the project repo.
Repo: https://github.com/ariel95500-create/gp-elite
Happy to adjust anything to fit the harness.