Skip to main content
 首页 » 编程设计

python之如何使用 matplotlib 绘制多元线性回归模型

2025年05月04日10zhengyun_ustc

我尝试拟合多元线性回归模型

Y= c + a1.X1 + a2.X2 + a3.X3 + a4.X4 +a5X5 +a6X6

如果我的模型只有 3 个变量,我会使用 3D 绘图来绘图。 我该如何绘制这个。我基本上想看看最佳拟合线的样子,或者我应该绘制多个散点图并查看单个变量的影响 Y = a1X1 当所有其他都为零并看到最佳拟合线时。 这些模型的最佳方法是什么。我知道不可能想象更高的维度想知道什么应该是最好的方法。我迫切希望看到最佳拟合线

请您参考如下方法:

我发现这篇文章更有帮助并已关注
https://stats.stackexchange.com/questions/73320/how-to-visualize-a-fitted-multiple-regression-model . 根据建议 我目前只是绘制散点图,例如因变量与第一个自变量,然后与第二个自变量等我在做同样的事情。我可能无法看到完整模型的最佳拟合线,但我知道它如何依赖于单个变量

from sklearn.linear_model import LinearRegression 
train_copy = train[['OverallQual', 'AllSF','GrLivArea','GarageCars']] 
train_copy =pd.get_dummies(train_copy) 
train_copy=train_copy.fillna(0) 
linear_regr_test = LinearRegression() 
 
fig, axes = plt.subplots(1,len(train_copy.columns.values),sharey=True,constrained_layout=True,figsize=(30,15)) 
 
for i,e in enumerate(train_copy.columns): 
  linear_regr_test.fit(train_copy[e].values[:,np.newaxis], y.values) 
  axes[i].set_title("Best fit line") 
  axes[i].set_xlabel(str(e)) 
  axes[i].set_ylabel('SalePrice') 
  axes[i].scatter(train_copy[e].values[:,np.newaxis], y,color='g') 
  axes[i].plot(train_copy[e].values[:,np.newaxis],  
  linear_regr_test.predict(train_copy[e].values[:,np.newaxis]),color='k')