热线电话:13121318867

登录
2020-12-01 阅读量: 1270
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_ #斜率系数


0.2068
0
关注作者
收藏
评论(0)

发表评论

暂无数据