Lab 6: Simple & Multiple Linear Regression

CILO: 2
Weeks: 24–25
Lab #6

Aim

Fit and evaluate simple and multiple linear regression models using scikit-learn.

Objectives

Algorithm / Procedure

  1. Prepare simple regression dataset X, y.
  2. Fit LinearRegression and print coefficients.
  3. Prepare multi-feature dataset X_multi, y_multi.
  4. Fit and print coefficients and R².

Python Code

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))

Sample Output (expected)

Simple: coef= [2.] intercept= 0.0 R2= 1.0
Multiple: coefs= [1. 1.] intercept= 2.0 R2= 1.0