# Generating numerical output based on multiple inputs

I have been trying to use a linear regression with Turicreate to predict the a certain number based on a variety of input numbers. My process is pretty simple: I have four columns in my training dataset (csv file). The columns are numbers 1, 2, 3 and the output. There isn't necessarily a mathematical relationship between the numbers in the sense that you can't just say n1 + n2*n3 = the output.

I have realized that the more I train the model, the less accurate it becomes. I think this is because the data doesn't really fit a regression: as I said, you can't just perform a mathematical equation on the numbers to get an output. Roughly speaking, the relationship between the numbers is that if n1 is less than 5, and if n2 is less than n3, then the output should be fairly high. The higher n1 is, the lower the output should be.

I believe that a multivariable nonlinear regression is the best way to do this, but I am not completely sure. Is that the best way to do this, or is there a different type of model that would be better?