Fit and evaluate simple and multiple linear regression models using scikit-learn.
import numpy as np
from sklearn.linear_model import LinearRegression
from sklearn.metrics import r2_score
# Simple Linear Regression
X = np.array([[1],[2],[3],[4],[5]])
y = np.array([2,4,6,8,10])
model = LinearRegression().fit(X, y)
yhat = model.predict(X)
print("Simple: coef=", model.coef_, "intercept=", model.intercept_, "R2=", r2_score(y, yhat))
# Multiple Linear Regression
X_multi = np.array([[1,2],[2,3],[3,4],[4,5],[5,6]])
y_multi = np.array([5,7,9,11,13])
multi_model = LinearRegression().fit(X_multi, y_multi)
yhat2 = multi_model.predict(X_multi)
print("Multiple: coefs=", multi_model.coef_, "intercept=", multi_model.intercept_, "R2=", r2_score(y_multi, yhat2))
Simple: coef= [2.] intercept= 0.0 R2= 1.0
Multiple: coefs= [1. 1.] intercept= 2.0 R2= 1.0