import numpy as np
from sklearn.preprocessing import PolynomialFeatures
from sklearn.linear_model import LinearRegression
import matplotlib.pyplot as plt
m = 100
X = 6 * np.random.rand(m, 1) - 3
y = 0.5 * X**2 + X + 2 + np.random.randn(m, 1)
plf = PolynomialFeatures(degree=2, include_bias=False)
X_poly = plf.fit_transform(X)
# print(X_poly)
n = np.linspace(-3,3,100).reshape(m, 1)
x_2 = plf.fit_transform(n)
lr_estimator = LinearRegression()
lr_estimator.fit(X_poly, y)
y_pre = lr_estimator.predict(x_2)
print(lr_estimator.intercept_)
print(lr_estimator.coef_)
# 图像展示
plt.figure(figsize=(20, 8))
plt.scatter(X, y)
plt.plot(n, y_pre)
plt.show()
多项式回归
最新推荐文章于 2024-07-22 08:39:18 发布