v2.0.0a1
Pre-release
Pre-release
This is an alpha release of v2.0.0. There will still be changes before the release of v2.0.0, likely including new hyperparameter defaults.
What's Changed
Major changes
Multiple features (update backend to 2.0) (#999)
This PR updates the backend to SymbolicRegression.jl 2.0.0-alpha.8 and exposes several major new features:
- N-ary operators: Support for operators with arbitrary arity (not just unary/binary)
- Added 3-arity operators:
fma(fused multiply-add),clamp, etc. - This can be used via a new
operatorsparameter dictionary:operators={1: ["sin"], 2: ["+", "*"], 3: ["clamp"]}
- Added 3-arity operators:
- Equation guesses: Pass initial equation guesses to guide the search using the
guessesparameter tofit- For example:
guesses=["sin(x0 * 2.1 - 0.5)", "x0 * 3.0 + x2"]provides two guesses - Control injection rate with
fraction_replaced_guesses
- For example:
- Advanced autodiff backends: Experimental support for Mooncake.jl and Enzyme.jl
- Enzyme.jl support via
autodiff_backend="Enzyme"(fragile/experimental) - Mooncake.jl (experimental - currently disabled pending upstream fix)
- Enzyme.jl support via
- Feature node mutation: New mutation operator that directly modifies which features are used
- Control mutation weight with
weight_mutate_feature
- Control mutation weight with
- Worker management:
worker_imports: specify Julia packages to import on workersworker_timeout: control timeout for worker processes
Automatic batching for big data (#1045)
Other changes
- docs: add vector expression example by @MilesCranmer in #1041
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1008
- chore(deps): bump actions/checkout from 4 to 5 by @dependabot[bot] in #1009
- ci: update Dockerfile image by @MilesCranmer in #1022
- test: update docker versions by @MilesCranmer in #1023
- chore(deps): bump actions/setup-python from 5 to 6 by @dependabot[bot] in #1027
- deps: update min python to 3.9 by @MilesCranmer in #1052
- deps: bump juliacall requirement by @dependabot[bot] in #1035
- chore(deps): bump actions/checkout from 4 to 5 by @dependabot[bot] in #1049
- chore(deps): bump github/codeql-action from 3 to 4 by @dependabot[bot] in #1050
- chore(deps): bump actions/setup-python from 5 to 6 by @dependabot[bot] in #1051
- chore(deps): update beartype requirement from <0.22,>=0.19 to >=0.19,<0.23 by @dependabot[bot] in #1047
- chore: update pyjuliacall requirement in environment.yml by @MilesCranmer in #1054
Full Changelog: v1.5.9...v2.0.0a1