回归分析加不加常数项_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_ #斜率系数

# 导入numpy和pandas等必要的库 import numpy as np import pandas as pd # 读取Excel文件中的数据 data=pd.read_excel('yqcctz.xlsx') # 在数据中选取自变量x和因变量y x=data.iloc[:,1:6].values y=data.iloc[:,6].values # 导入线性回归模型 from sklearn.linear_model import LinearRegression as LR # 初始化线性回归器 lr=LR() # 对数据进行训练,建立回归模型 lr.fit(x,y) # 对训练成功的模型进行评估,得到回归系数和判定系数 Slr=lr.score(x,y) c_x=lr.coef_ c_b=lr.intercept_ # 构建一个新的测试数据集 x1=np.array([4,1.5,10,17,9]) x1=x1.reshape(1,5) # 对测试数据进行预测 R1=lr.predict(x1) r1=x1*c_x R2=r1.sum() # 输出回归系数、回归系数常数、判定系数和预测值等信息 print('x回归系数为:',c_x) print('回归系数常数:',c_b) print('判定系数:',Slr) print('样本预测值:',R1) 注释: - 上面代码是对一个 Excel 数据文件 yqcctz.xlsx 进行线性回归分析并进行预测的程序。 - 首先,我们需要读取Excel文件中的数据,选取其中的自变量 x 和因变量 y。 - 然后,使用scikit-learn库中的LinearRegression()函数来初始化线性回归器,并对数据进行训练,建立出回归模型。 - 接着,我们可以对模型进行评估,得到回归系数、回归系数常数和判定系数等信息。 - 最后,我们可以构建一个新的测试数据集,并使用 predict() 函数对该数据进行预测,得到样本预测值。输出回归系数、回归系数常数、判定系数和预测值等信息。 注意:以上代码仅供参考,具体使用时需要根据实际情况进行调整和修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值