I'm using linear regression to predict a price which is obviously positive. I have only one feature which is gross_area. I standardized it (z-score) I got this kind of value:
array([[ 1. , -0.48311432], [ 1. , 0.68052306], [ 1. , 2.1426852 ], [ 1. , -1.17398593], [ 1. , -0.16265712]])
Where the 1 is the constant for the intercept term. I predict the parameters(predictors) and I got this:
array([[ 31780004.85045217], [ 27347542.4693376 ]])
Where the first cell is the intercept term and the second cell correspond to the parameter found for my feature gross_area.
My problem is the following, when I take for example the fourth line and I compute the matrix multiplication XB to get my prediction, I got this:
In : np.dot(training, theta) Out: array([-325625.35640697])
Which is totally wrong since I cannot have negative value for my dependent variable. It seems like because of my normalization where I got negative value for my feature, I ended up with a negative predicted value for some tuple. How can is it possible and how can I fix this ? Thank you.
This is what I have predict graphically:
with y=price , x =gross area