繁体   English   中英

如何为 Python 中的 3D 散点图编写普通最小二乘线性回归代码?

[英]How to code ordinary least squares linear regression for a 3D scatterplot in Python?

这是一个 3D 散点图。 指令 state:既然我们已经拟合了我们的 model,这意味着我们已经计算出了最优的 model 参数,我们可以使用我们的 model 到 plot 数据的回归线。 下面,我为您提供x_fity_fit ,它们分别代表回归线的 x 和 y 数据。 接下来我们需要做的就是通过调用模型的predict()方法让 model 预测每个x_fity_fit对的z_fit值。 当您考虑用于计算z_fit的普通最小二乘线性回归方程时,这应该是有意义的:

在此处输入图像描述

在哪里在此处输入图像描述 是计算出的 model 参数。 您必须使用x_fity_fit作为要作为 DataFrame 一起传递给模型的 predict() 方法的特征,该方法将返回由上述等式确定的z_fit 获得z_fit ,您就可以通过针对x_fity_fit绘制回归线 plot 了。 到目前为止我的代码是:

features = df[['x', 'y']]
response = df['z']

#perform linear regression model fitting

from sklearn.linear_model import LinearRegression

model = LinearRegression().fit(features, response)
model


print("Model Coefficients: ", model.coef_)
print("Model Intercept : ", model.intercept_)

Output:

Model Coefficients:  [ 8.02602396 15.95639323]
Model Intercept :  -8.632876775060822

这就是我被困的地方:

# Plot Curve Fit
x_fit = np.linspace(0,21,1000)
y_fit = x_fit

#ENTER CODE HERE#
# Plot Curve Fit
x_fit = np.linspace(0,21,1000)
y_fit = x_fit

#ENTER CODE HERE#

假设

theta1, theta2 = model.coef_
theta3 = model.intercept_

方程

z_fit = (theta1 * x_fit) + (theta2 * y_fit) + theta3

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM