lab7

 import numpy as np

import pandas as pd

import matplotlib.pyplot as plt

from sklearn.datasets import fetch_california_housing

from sklearn.model_selection import train_test_split

from sklearn.linear_model import LinearRegression

from sklearn.preprocessing import PolynomialFeatures, StandardScaler

from sklearn.pipeline import make_pipeline

from sklearn.metrics import mean_squared_error, r2_score


def plot_results(X_test, y_test, y_pred, xlabel, ylabel, title):

    plt.scatter(X_test, y_test, color="blue", label="Actual")

    plt.plot(X_test, y_pred, color="red", label="Predicted")

    plt.xlabel(xlabel)

    plt.ylabel(ylabel)

    plt.title(title)

    plt.legend()

    plt.show()

    print(f"{title}")

    print("Mean Squared Error:", mean_squared_error(y_test, y_pred))

    print("R^2 Score:", r2_score(y_test, y_pred))

def linear_regression():

    data = fetch_california_housing(as_frame=True)

    X, y = data.data[["AveRooms"]], data.target

    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

    model = LinearRegression().fit(X_train, y_train)

    plot_results(

        X_test, y_test, model.predict(X_test),

        "AveRooms", "Median Home Value ($100K)",

        "Linear Regression - California Housing"

    )

def polynomial_regression():

    url = "https://archive.ics.uci.edu/ml/machine-learning-databases/auto-mpg/auto-mpg.data"

    cols = ["mpg", "cyl", "disp", "hp", "wt", "acc", "yr", "origin"]

    data = pd.read_csv(url, sep=r'\s+', names=cols, na_values="?").dropna()

    X, y = data[["disp"]], data["mpg"]

    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

    model = make_pipeline(

        PolynomialFeatures(2),

        StandardScaler(),

        LinearRegression()

    ).fit(X_train, y_train)

    plot_results(

        X_test, y_test, model.predict(X_test),

        "Displacement", "MPG",

        "Polynomial Regression - Auto MPG"

    )

if __name__ == "__main__":

    linear_regression()

    polynomial_regression()


Comments

Popular posts from this blog

lab9

lab2

lab10