Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rethinking default behavior for number of iterations #483

Open
MilesCranmer opened this issue Dec 13, 2023 · 0 comments
Open

Rethinking default behavior for number of iterations #483

MilesCranmer opened this issue Dec 13, 2023 · 0 comments
Labels
community input Interested in input from users before working on this. priority: high

Comments

@MilesCranmer
Copy link
Owner

MilesCranmer commented Dec 13, 2023

Something I have noticed is that many users expect the result of .fit(X, y) to be converged for the default parameters, and are surprised that running it a second time results in a different equation. This is a reasonable assumption given that converged solutions are the typical behavior for other ML models or optimization routines!

So, I think the default behavior for PySR should be a bit more clear that "convergence" is not really well-defined for symbolic regression. Perhaps we could leave the same behavior, but basically show a warning to the user if niterations is not set explicitly, such as:

No stopping criteria given, so will exiting after 40 iterations. Increase `niterations` to search for longer.

This seems like a simple solution which would make it clear to users that they shouldn't expect the equations to be converged.

We might also think about renaming niterations to max_iterations to be more clear about this. We should make this in line with the other stopping criteria: https://astroautomata.com/PySR/api/#stopping-criteria

@MilesCranmer MilesCranmer added priority: mid community input Interested in input from users before working on this. priority: high and removed priority: mid labels Dec 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
community input Interested in input from users before working on this. priority: high
Projects
None yet
Development

No branches or pull requests

1 participant