如何绘制多项式回归

问题描述 投票: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 的截距和系数值如下:

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 的线,以便直观地显示我的模型有多成功。但我不确定该由谁来做。你可以帮帮我吗?谢谢!

数据:

还有剧情

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

python matplotlib plot polynomials
1个回答
1
投票

你的意思是这样的吗?

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.