MilesCranmer / PySR

High-Performance Symbolic Regression in Python and Julia

Home Page:https://astroautomata.com/PySR

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

How force algorithm make an equation with all inputs?

danial1995 opened this issue · comments

Hi,
I used the algorithm its unique and fine, but I have a problem,
I.e I have some data, including 1000 row, and 4 columns, it has 3 inputs (x1,x2,x3) and one output (y) when I run the algorithm it makes an equation like: y=10x1+2x3 , (it just includes x1 and x3)
The problem is that the result equation don't use x2 as input, including best equation and all other generated equations. or the equation just contains x1 and x2, but x3 not exist in equation or something similar...
Although I need to an equation than contains all inputs (x1,x2,x3)
How can I force the algorithm to to make an equation that uses all inputs including x1,x2,x3?

Thanks in advance

Hi @danial1995,

The algorithm is already searching for equations using all inputs. The ones it returns to you are the equations satisfying the following.

image

If it doesn't give you equations with x2, that means none of the equations with x2 satisfy that constraint. i.e., they are overly complex. Does this make sense? There is no current way of including such a "prior" on the equations to artificially lower the complexity if all features are included.

Cheers,
Miles