7
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.datasets import fetch_california_housing
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error, r2_score
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import PolynomialFeatures, StandardScaler
def linear_regression_california():
data = fetch_california_housing(as_frame=True)
X = data.data[["AveRooms"]]
y = data.target
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
model = LinearRegression()
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
sorted_idx = X_test.values.flatten().argsort()
plt.scatter(X_test, y_test, color="blue", label="Actual")
plt.plot(X_test.values[sorted_idx], y_pred[sorted_idx], color="red", label="Predicted")
plt.xlabel("AveRooms")
plt.ylabel("Median Value")
plt.title("Linear Regression - California Housing")
plt.legend()
plt.show()
print("Linear Regression - California Housing")
print("MSE:", mean_squared_error(y_test, y_pred))
print("R^2:", r2_score(y_test, y_pred))
def polynomial_regression_auto_mpg():
url = r"C:\Users\NEHA\Downloads\auto-mpg.data-original.csv"
cols = ["mpg", "cyl", "disp", "hp", "wt", "acc", "yr", "origin"]
data = pd.read_csv(url, sep='\s+', names=cols, na_values="?").dropna()
X = data[["disp"]]
y = data["mpg"]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
model = make_pipeline(PolynomialFeatures(2), StandardScaler(), LinearRegression())
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
plt.scatter(X_test, y_test, color="blue", label="Actual")
plt.scatter(X_test, y_pred, color="red", label="Predicted")
plt.xlabel("Displacement")
plt.ylabel("MPG")
plt.title("Polynomial Regression - Auto MPG")
plt.legend()
plt.show()
print("Polynomial Regression - Auto MPG")
print("MSE:", mean_squared_error(y_test, y_pred))
print("R^2:", r2_score(y_test, y_pred))
linear_regression_california()
polynomial_regression_auto_mpg()
Comments
Post a Comment