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

Popular posts from this blog

2

1

3