I have a pandas data frame and I have done single linear regression on it. Using the following code I have predicted the response values for some selected predictor values.
X = df['predictor1'].tolist()
y = df['response'].tolist()
X = sm.add_constant(X)
reg = sm.OLS(y, X).fit()
reg.predict(pd.DataFrame({'predictor1': 1, 'response': [12, 89, 90]}),'prediction')
Then, I have done multiple linear regression on the same data frame using the code below:
def multiple_lin_reg(df, predictors, response):
y = dataset[response]
X = dataset[predictors]
X = sm.add_constant(X)
reg = sm.OLS(y, X).fit()
print(reg.summary())
multiple_lin_reg(df, ["predictor1","predictor2"], "response")
And everything works fine. Now, I just want to predict the response value for selected values for more that one predictor. Let's say for predictor1 = [12,22,33] and predictor2 = [90,21,23]
How can I write the similar code to the single linear regression for solving this issue?
Note: I know that in R, it can be done by using the following commands but I want to do it in Python.
pridictor1C=c(12,22,33)
predictor2C=c(90,21,23)
selected_predictor_values = expand.grid(predictor1 = pridictor1C, predictor2 = pridictor2C)
lm.fit=lm(response~predictor1+predictor2 ,data=df)
predict(lm.fit, selected_predictor_values, interval ="prediction")
from How to predicted the response values for some selected predictors values in multiple linear regression?
No comments:
Post a Comment