matplotlib 如何绘制多项式回归

8oomwypt  于 2023-10-24  发布在  其他
关注(0)|答案(1)|浏览(105)

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

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的线在前面的图上,以便可视化我的模型有多成功。但我不知道谁来做。你能帮助我吗?谢谢!
数据类型:

和情节

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

cfh9epnr

cfh9epnr1#

你是说像这样的事吗

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)

相关问题