7
import numpy as np, pandas as pd, seaborn as sns, matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import PolynomialFeatures
from sklearn.metrics import mean_squared_error, r2_score
from sklearn.datasets import fetch_openml
boston = fetch_openml(name='boston', version=1, as_frame=True)
X, y = boston.data.values, boston.target.values
Xt, Xs, yt, ys = train_test_split(X, y, test_size=0.2)
m = LinearRegression().fit(Xt, yt)
yp = m.predict(Xs)
print("Linear R²=%.2f" % r2_score(ys, yp))
plt.scatter(Xs[:,5], ys, c='b'); plt.scatter(Xs[:,5], yp, c='r'); plt.title("Boston"); plt.show()
df = sns.load_dataset('mpg').dropna()
df['horsepower'] = pd.to_numeric(df['horsepower'], errors='coerce')
df = df.dropna()
X, y = df[['horsepower', 'weight']], df['mpg']
Xt, Xs, yt, ys = train_test_split(X, y, test_size=0.2)
p = PolynomialFeatures(3).fit(Xt)
Xt_, Xs_ = p.transform(Xt), p.transform(Xs)
m = LinearRegression().fit(Xt_, yt)
yp = m.predict(Xs_)
print("Poly R²=%.2f" % r2_score(ys, yp))
plt.scatter(Xs['horsepower'], ys, c='b'); plt.scatter(Xs['horsepower'], yp, c='r'); plt.title("MPG"); plt.show()
Comments
Post a Comment