编码实现

image.pngimage.png
X2的第1列为1,代表项02 scikit-learn中的多项式回归 - 图3,第2列代表项02 scikit-learn中的多项式回归 - 图4,第3列代表项02 scikit-learn中的多项式回归 - 图5

多项式特征

image.png

  • 第1列代表项02 scikit-learn中的多项式回归 - 图7
  • 第2列代表项02 scikit-learn中的多项式回归 - 图8
  • 第3列代表项02 scikit-learn中的多项式回归 - 图9
  • 第4列代表项02 scikit-learn中的多项式回归 - 图10
  • 第5列代表项02 scikit-learn中的多项式回归 - 图11
  • 第6列代表项02 scikit-learn中的多项式回归 - 图12

当特征有两个,3次幂组成的多项式如下:
image.png

Pipeline

作用:简化PolynomialFeatures语法
因为只需要掌握Pipeline语法即可,因此只给出这块代码。

  1. x = np.random.uniform(-3, 3, size=100)
  2. X = x.reshape(-1, 1)
  3. y = 0.5 * x**2 + x + 2 + np.random.normal(0, 1, 100)
  4. from sklearn.pipeline import Pipeline
  5. from sklearn.preprocessing import StandardScaler
  6. # 初始化配置
  7. poly_reg = Pipeline([
  8. ("poly", PolynomialFeatures(degree=2)),
  9. ("std_scaler", StandardScaler()),
  10. ("lin_reg", LinearRegression())
  11. ])
  12. # 建模
  13. poly_reg.fit(X, y)
  14. y_predict = poly_reg.predict(X)
  15. # 可视化
  16. plt.scatter(x, y)
  17. plt.plot(np.sort(x), y_predict[np.argsort(x)], color='r')
  18. plt.show()

image.png