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)


暂无数据