如何在 matplotlib 中绘制多项式回归

How to plot a polynomial regression in matplotlib

我有一个像这样的 2 次多项式矩阵。

print(X)

[[  1.   5.  25.]
 [  1.   6.  36.]
 [  1.   7.  49.]
 [  1.   8.  64.]
 [  1.   9.  81.]
 [  1.  10. 100.]
 [  1.  11. 121.]
 [  1.  12. 144.]
 [  1.  13. 169.]
 [  1.  14. 196.]]

还有一个矩阵 W,我的矩阵 X 的截距和系数值如下所示:

W = np.linalg.inv( X.T @ X ) @ X.T @ Y
print(W)
[73.55928788 -8.88859848  0.82670455]

我也有我的 y_P(为我的整个矩阵预测的值)。像这样。

Y_p = W @ X.T
Y_p

array([ 49.78390909,  49.98906061,  51.84762121,  55.35959091,
        60.5249697 ,  67.34375758,  75.81595455,  85.94156061,
        97.72057576, 111.153     ])

我有 X 和 Y 的真实数据图。

# --- Showing the plot (2)
plt.plot(X, Y, c='orange', linestyle='dashed', 
         marker='o', markerfacecolor='#ac00e6')
plt.xlabel('Year')
plt.ylabel('Av_claims')
plt.legend('Claims')
plt.grid(True)

所以我想绘制由每个 X 值预测的每个 Y 的线在之前的图中,以便可视化我的模型有多成功。但我不确定该由谁来做。你可以帮帮我吗?谢谢!

数据:

和情节

蓝线是线性回归,现在我想用我的多项式回归做同样的事情。

你的意思是这样的?

plt.plot(X, Y, c='orange', linestyle='dashed', 
         marker='o', markerfacecolor='#ac00e6')
plt.plot(X, Y_p)
plt.xlabel('Year')
plt.ylabel('Av_claims')
plt.legend('Claims')
plt.grid(True)