-
Notifications
You must be signed in to change notification settings - Fork 65
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
forcing variables to regression #87
Comments
If you only have two variables, then 6000 points is overkill. I would try with ~100 points. It is likely the equations are taking too long to evaluate and it simply has not tried very many.
Alternatively,
(1) (only if you are using the PySR frontend; not available in Julia)
if your data is very noisy, which is why you are using 6000, you could
turn on denoising with (denoise=True). If you are doing this, you would
want to pass Xresampled as an array of random ~100 points within the domain
of your data.
Xresampled = np.random.rand(100, 2)
Xresampled[:, 0] = Xresampled[:, 0] * (xmax - xmin) + xmin
Xresampled[:, 1] = Xresampled[:, 1] * (ymax - ymin) + ymin
model = PySRRegressor(..., denoise=True, Xresampled=Xresampled)
(2) You could try turning on batching (batching=True), and set some
batchSize to some small number. This way it will still evaluate on all 6000
points at the final stages, but will evaluate on a random selection during
the search.
|
Thanks for your patient reply. I am trying to run my julia script again. The variable x back to my formular. |
Your (2) is very useful, by setting the batching true my x back again. |
Awesome, glad to hear it works. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
i have a function like f(x,y).
but the regression result only have f(y).
the MSE is about 1.0 of 6000 points sample.
The text was updated successfully, but these errors were encountered: