我正在使用 scikit learn 学习线性回归和多项式回归。我生成了 2 次多项式数据集,并训练了 3 次多项式模型。我希望与原始数据过度拟合。但该图看起来并不像 3 度曲线。如果我将度数更改为 1,它会显示一条很好的线。我在这里缺少什么?
# over fit
poly_features_3 = PolynomialFeatures(degree=3, include_bias=False)
X_poly_3 = poly_features_3.fit_transform(X)
lin_reg_3 = LinearRegression()
lin_reg_3.fit(X_poly_3, y)
y_predict = lin_reg_3.predict(X_poly_3)
plt.scatter(X, y, color='black')
plt.plot(X, y_predict, color='red')
plt.show()
最佳答案
这些值未排序,因此绘图会来回跳转。
我猜你想绘制
plt.plot(np.sort(X), y_predict[np.argsort(X)], color='red')
关于matplotlib - 为什么我画的 3 次多项式这么奇怪?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44990386/