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

Is it possible to specify a starting function #36

Open
jherbel opened this issue Jun 14, 2017 · 15 comments
Open

Is it possible to specify a starting function #36

jherbel opened this issue Jun 14, 2017 · 15 comments

Comments

@jherbel
Copy link

jherbel commented Jun 14, 2017

For a number of our problems, we have a rough of a functional form that should be close to the "right answer". Is there a way to feed this in as the initial starting point for the symbolic regression algorithm?

@trevorstephens
Copy link
Owner

No, this is not currently implemented. Will leave the issue open to determine if there's much interest in this.

@jherbel
Copy link
Author

jherbel commented Jun 22, 2017

Ok, thanks!

@SaremS
Copy link

SaremS commented Jul 1, 2017

Would be very helpful if this was implemented.

@pchankh
Copy link

pchankh commented Sep 15, 2017

Yes, I second this feature.

@AnaKolody
Copy link

I would also be interested in this feature.

@eggachecat
Copy link
Contributor

eggachecat commented Mar 26, 2019

Currently you can use some tricks mentioned in #39

@eggachecat
Copy link
Contributor

#17 related

@shiyu-syl
Copy link

Yes it would be really helpful.
btw, what can I do if I really need to specify a staring expression now?

@trevorstephens
Copy link
Owner

@sibylli If you really, really wanted to, you could run a single generation with the parameters you want to use, then replace all the individual Program objects with whatever you wanted to "seed" the population with, then continue evolution with warm_start. Check out the test suite for some undocumented examples on how to create Program objects from scratch, and the docs for warm starting: https://gplearn.readthedocs.io/en/stable/advanced.html#continuing-evolution

The Program API is not documented, so you're kind of on your own here if you wish to go down that path.

@Arya0815
Copy link

It would be very helpful!
BTW, could I generate the initial population by considering some prior-knowledge, e.g. the some feature of xdata corresponding to ydata, instead of randomly generating it? @trevorstephens

@ghost
Copy link

ghost commented Apr 21, 2020

"Is it possible to specify a starting function", yes @trevorstephens say how to with the seed param... but every version determine the result... so i mean is it possible and practical to train a model of ML to determine the seed produce the desired first element code... or can just use the "datamining" concept at start of program. and then, never mind the solution choose, use a CRC func to verify the precise version digital print and store in a temporary locate(to never run a 2nd start of verification of determinist specific function desired).

@trevorstephens
Copy link
Owner

I think I will create a notebook to show how this could be "hacked" into gplearn which will satisfy this request with no new code to maintain.

@acylam
Copy link

acylam commented Jul 5, 2023

@trevorstephens Checking if this feature is added or if there's a notebook showing the "hack"?

I think I will create a notebook to show how this could be "hacked" into gplearn which will satisfy this request with no new code to maintain.

1 similar comment
@gbarros92
Copy link

@trevorstephens Checking if this feature is added or if there's a notebook showing the "hack"?

I think I will create a notebook to show how this could be "hacked" into gplearn which will satisfy this request with no new code to maintain.

@Jatayu-u
Copy link

@trevorstephens Is this implemented? I am in a similar situation where I need to implement this with some starting functions. It would be great if anybody could help.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests