用Sklearn和Statsmodels来做linear_regression和Logistic_regression注意事项,区别。主要在于 intercept 项,和 regularization。
X = np.array([-1, 0, 1]) # 自变量
Y = np.array([-2, 0, 5]) # 因变量
一、Linear regression 的截距项
又叫 intercept, constant, bias
- 在使用 statsmodels 进行线性回归时,
(1) 通常需要手动添加常数项(即截距),因为 statsmodels 的 OLS 默认不包括截距。这可以通过使用 statsmodels.tools.add_constant 函数来实现。例如,如果你有一个因变量 y 和一个自变量 X,你可以这样添加常数项:
import statsmodels.api as sm
X = sm.add_constant(X) # 添加常数项
model = sm.OLS(Y, X).fit()
这样,X 中就会包含一个值全为