Machine Learning lab

Program

7. Develop a program to demonstrate the working of Linear Regression and Polynomial Regression. Use Boston Housing Dataset for Linear Regression and Auto MPG Dataset (for vehicle fuel efficiency prediction) for Polynomial Regression.



📌LINEAR REGRESSION (California Housing Dataset)


import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import PolynomialFeatures
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error
from sklearn.datasets import fetch_california_housing

housing = fetch_california_housing()
X_housing = pd.DataFrame(housing.data, columns=housing.feature_names)
y_housing = housing.target  

X_train, X_test, y_train, y_test = train_test_split(X_housing[['MedInc']], y_housing, test_size=0.2, random_state=42)

lin_reg = LinearRegression()
lin_reg.fit(X_train, y_train)
y_pred = lin_reg.predict(X_test)


plt.scatter(X_test, y_test, color="blue", label="Actual Data", alpha=0.5)
plt.plot(X_test, y_pred, color="red", linewidth=2, label="Linear Regression")
plt.xlabel("Median Income (MedInc)")
plt.ylabel("House Price")
plt.legend()
plt.title("Linear Regression on California Housing Dataset")
plt.show()



  

Output:
output


📌POLYNOMIAL REGRESSION (Auto MPG Dataset)


import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import PolynomialFeatures
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error
from sklearn.datasets import fetch_california_housing


auto_mpg = pd.read_csv("https://raw.githubusercontent.com/mwaskom/seaborn-data/master/mpg.csv")
auto_mpg.dropna(inplace=True)  # Remove missing values

auto_mpg = auto_mpg[auto_mpg['horsepower'] != '?']
auto_mpg['horsepower'] = auto_mpg['horsepower'].astype(float)

X_auto = auto_mpg[['horsepower']]
y_auto = auto_mpg['mpg']

X_train, X_test, y_train, y_test = train_test_split(X_auto, y_auto, test_size=0.2, random_state=42)

poly = PolynomialFeatures(degree=2)
X_train_poly = poly.fit_transform(X_train)
X_test_poly = poly.transform(X_test)

poly_reg = LinearRegression()
poly_reg.fit(X_train_poly, y_train)
y_pred_poly = poly_reg.predict(X_test_poly)

plt.scatter(X_test, y_test, color="blue", label="Actual Data", alpha=0.5)
plt.scatter(X_test, y_pred_poly, color="red", label="Predicted Data", alpha=0.5)
plt.xlabel("Horsepower")
plt.ylabel("MPG")
plt.legend()
plt.title("Polynomial Regression on Auto MPG Dataset")
plt.show()





  

Output:
output