回归分析加不加常数项_sklearn做线性回归的时候,如何让回归模型不包含常数项?...

#导入库

import pandas as pd

import numpy as np

#模拟一些数据

data=pd.DataFrame(np.random.randn(10,3),columns=["y","x1","x2"])

#导入线性回归类

from sklearn.linear_model import LinearRegression

#开始建模估计回归系数

#实例化一个回归模型

regmodel = LinearRegression()

#给模型传入测试集数据x和y

regmodel.fit(data.loc[:,["x1","x2"]],data["y"])#线性回归训练

regmodel.intercept_ #常数项

regmodel.coef_ #斜率系数

#计算模型的可决系数

regmodel.score(data.loc[:,["x1","x2"]],data["y"])

#通过help(regmodel.score)可以看到这个方法返回的是回归方程的可决系数

#如果想估计不带常数项的回归方程该怎么办呢?

#在实例化模型的时候设定fit_intercept参数值为False就可以,具体代码如下

regmodel = LinearRegression(fit_intercept=False)

regmodel.fit(data.loc[:,["x1","x2"]],data["y"])#线性回归训练

regmodel.intercept_ #结果为0

regmodel.coef_ #斜率系数


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部