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

问题描述 投票:0回答:1

我有一个像这样的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的截距和coef值如下:

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的线,以可视化模型的成功程度。但是我不确定谁去做。你可以帮帮我吗?谢谢!

数据:

enter image description here

和情节

enter image description here

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

python matplotlib plot polynomials
1个回答
0
投票

您的意思是这样的?

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)
© www.soinside.com 2019 - 2024. All rights reserved.