我最近已经熟练掌握了使用Python/scipy的curve_fit进行线性回归。然而,在使用高阶多项式时,我的数据有时会出现过拟合的情况。
我该如何添加正则化来减少过拟合呢?
回答:
我想知道Lasso惩罚是否对你有帮助:
# 高阶项可以整合到X中(例如x1^2, x1*x2),然后再次将其变为线性回归问题
lasso.fit(X, y) # lambda的选择范围可以由你自己决定
LassoCV(lambda=array([ 2, 1,9, ..., 0.2 , 0.1]), copy_X=True, cv=None, eps=0.001, fit_intercept=True, max_iter=1000,n_alphas=100, normalize=False, precompute='auto', tol=0.0001,verbose=False)
最优的lambda值应该在交叉验证过程中选择。