你说的方式都可以缓解过拟合问题。
使用 L1 正则化项来解决过拟合问题(使用 statsmodels.formula.logit 函数中的 L1_wt 参数来设置 L1 正则化项,或者使用 L2_wt 参数来设置 L2 正则化项。):
import statsmodels.api as sm
import statsmosels.formula.api as smf
formula = 'target ~ sex + grade'
lg = smf.logit(formula = formula, data = data, L1_wt = 0.5).fit()
划分训练集并训练模型(使用 statsmodels.formula.logit 函数中的 data 参数指定训练数据,然后使用 fit 方法来训练模型):
import statsmodels.api as sm
import statsmosels.formula.api as smf
formula = 'target ~ sex + grade'
train_data = data[:800]
test_data = data[800:]
lg = smf.logit(formula = formula, data = train_data).fit()