加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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

发布时间:2020-12-17 17:38:45 所属栏目:Python 来源:网络整理
导读:我有一组数据,其中经度和纬度是自变量,温度是因变量.我希望能够执行外推以获取超出经纬度范围的温度值.我认为做到这一点的最佳方法是执行多元回归. 我知道sklearn具有从linear_model库执行线性多元回归的功能. from sklearn import linear_modelregr = linea

我有一组数据,其中经度和纬度是自变量,温度是因变量.我希望能够执行外推以获取超出经纬度范围的温度值.我认为做到这一点的最佳方法是执行多元回归.

我知道sklearn具有从linear_model库执行线性多元回归的功能.

from sklearn import linear_model
regr = linear_model.LinearRegression()
regr.fit('independent data','dependent data') 

但是,我的温度似乎与纬度或经度没有线性关系.因此,我推断的某些值似乎不正确.

我当时以为我可以通过执行多项式多元回归而不是线性回归来改善外推法.

已经有一些提供此功能的库了吗?

最佳答案
可能最简单的方法是进行线性回归,但执行一些基本的“特征工程”并创建自己的多项式特征.您可以看一下PolynomialFeatures,它可以帮助构造多项式特征.

作为一个基本示例,请考虑以下内容:

# 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,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()

结果图如下:

linear_regression_with_poly_features

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读