Closed isaac-you closed 5 years ago
There are some projects related to symbolic regression in github. such as: gplearn/glyph/SimpleGP...
and they are slow compared to karoo_gp which can support multicore CPU/GPU.
Thank you for the link.
But How can I define new Functions (Operators) in karoo_gp?
I find that your operators_list.txt just include some basic Functions, but when I want to do something about time Series, I want to use some functions such as:
1.delay(x, d) = value of x d days ago
2.correlation(x, y, d) = time-serial correlation of x and y for the past d days
3.delta(x, d) = today’s value of x minus the value of x d days ago
4.ts_min(x, d) = time-series min over the past d days
Can you give me some advice to define new functions in karoo_gp ?
What you have described above I would call "features" instead of operators. And given what you have shared above, you will need to create these.
Here's how--
Open your .csv dataset in a spreadsheet and build new columns that combine existing columns [x,y,d] to create 'delay', 'correlation', 'delta', and 'ts_min'. The time domain element of your specific needs can be built using programmable functions built-in to Excel or LibreOffice.
Assign new column headers (operands which become variables in the multi-variate expressions) such as "delta".
Now, your new features are part of the dataset itself and GP will use those new, higher-order columns (features) in place of or in addition to the original set.
You can leave the original columns in place, or remove them and save only the new, higher order features. I'd experiment with both as GP should over the course of several generations select only those features best suited to solve your given problem.
If you need more clarity, feel free to respond.
Cheers, kai
There are some project related to symbolic regression in github. such as: gplearn/glyph/SimpleGP... and they are slow compared to karoo_gp which can support multicore CPU/GPU.
But How can I define new Functions (Operators) in karoo_gp? I find that your operators_list.txt just include some basic Functions, but when I want to do something about time Series, I want to use some functions such as: 1.delay(x, d) = value of x d days ago 2.correlation(x, y, d) = time-serial correlation of x and y for the past d days 3.delta(x, d) = today’s value of x minus the value of x d days ago 4.ts_min(x, d) = time-series min over the past d days Can you give me some advice to define new functions in karoo_gp ? Thank you