import numpy as np
import os
import matplotlib
import matplotlib.pyplot as plt
plt.rcParams['axes.labelsize'] = 14
plt.rcParams['xtick.labelsize'] = 12
plt.rcParams['ytick.labelsize'] = 12
np.random.seed(42)
import warnings
warnings.filterwarnings('ignore')
x = 2np.random.uniform(-3, 3, size=100)
X = x.reshape(100, 1)
y = 0.5X2+X+np.random.randn(100,1)
plt.scatter(x, y)
plt.axis([-3,3,-10,10])
plt.show()
X_poly = np.hstack([X, X2])
#补全代码,生成一个多项式回归曲线, 注:不能修改此行之前代码,并对各行代码进行简单的注释
这样编辑代码,文本中一些运算符没了
你题目的解答代码如下:
import numpy as np
import os
import matplotlib
import matplotlib.pyplot as plt
plt.rcParams['axes.labelsize'] = 14
plt.rcParams['xtick.labelsize'] = 12
plt.rcParams['ytick.labelsize'] = 12
np.random.seed(42)
import warnings
warnings.filterwarnings('ignore')
x = 2*np.random.uniform(-3, 3, size=100)
X = x.reshape(100, 1)
y = 0.5*X**2+X+np.random.randn(100,1)
plt.scatter(x, y)
plt.axis([-3,3,-10,10])
X_poly = np.hstack([X, X**2])
from sklearn.linear_model import LinearRegression
lin_reg = LinearRegression()
lin_reg.fit(X_poly, y)
y_predict = lin_reg.predict(X_poly)
# 由于x是乱的,所以应该进行排序
plt.plot(np.sort(x), y_predict[np.argsort(x)], color='r')
plt.show()
如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!