Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python中进行三次或更高多项式多元回归?_Python_Regression_Linear Regression_Extrapolation - Fatal编程技术网

如何在Python中进行三次或更高多项式多元回归?

如何在Python中进行三次或更高多项式多元回归?,python,regression,linear-regression,extrapolation,Python,Regression,Linear Regression,Extrapolation,我有一组数据,其中经度和纬度是自变量,温度是因变量。我希望能够进行外推,得到纬度和经度范围之外的温度值。我认为最好的方法是进行多元回归 我知道sklearn具有从其线性模型库执行线性多元回归的功能 from sklearn import linear_model regr = linear_model.LinearRegression() regr.fit('independent data', 'dependent data') 然而,我的温度似乎和纬度或经度并没有线性关系。因此,我推断的

我有一组数据,其中经度和纬度是自变量,温度是因变量。我希望能够进行外推,得到纬度和经度范围之外的温度值。我认为最好的方法是进行多元回归

我知道sklearn具有从其线性模型库执行线性多元回归的功能

from sklearn import linear_model
regr = linear_model.LinearRegression()
regr.fit('independent data', 'dependent data') 
然而,我的温度似乎和纬度或经度并没有线性关系。因此,我推断的一些值似乎不正确

我在想,我也许可以通过执行多项式多元回归而不是线性回归来改进外推


是否已有一些库提供此功能

最简单的方法可能是进行线性回归,但要执行一些基本的“特征工程”,并制作自己的多项式特征。您可以看看哪些可以帮助构建多项式特征数组

作为一个基本的例子,考虑如下:

# make example data
x = np.linspace(0, 10, 10)
y = x**2 + np.random.rand(len(x))*10

# make new polynomial feature
x_squared = x**2

# perform LR
LR = LinearRegression()
LR.fit(np.c_[x, x_squared], y) # np.c_ stacks the feature into a 2D array.

# evaulate the model
eval_x = np.linspace(0, 10, 100)
eval_x_squared = eval_x**2
y_pred = LR.predict(np.c_[eval_x, eval_x_squared])

# plot the result
plt.plot(x, y, 'ko')
plt.plot(eval_x, y_pred, 'r-', label='Polynomial fit')
plt.legend()
结果图如下所示:

当然,在本例中,我们必须手动构建我们的功能,但希望它能向您展示如何实际实现它。

可能的重复