python逻辑回归优化参数_逻辑回归模型怎么调整超参?

题主标签有sklearn,就先默认你用得sklearn做逻辑回归。

调参 主要是防止过拟合,所以假定题主的目的防止过拟合为前提:

这里我简单提两个参数,penalty 惩罚项 sklearn 默认‘l2’

例如你修改惩罚项 下面是 l2为参数,需要改l1 可以写penalty=’l1’

再提一个参数solver 优化方法:

(1)liblinear:使用了开源的liblinear库实现,内部使用了坐标轴下降法来迭代优化损失函数。

(2)lbfgs:拟牛顿法的一种,利用损失函数二阶导数矩阵即海森矩阵来迭代优化损失函数。

(3)newton-cg:也是牛顿法家族的一种,利用损失函数二阶导数矩阵即海森矩阵来迭代优化损失函数。

(4)sag:即随机平均梯度下降,是梯度下降法的变种,和普通梯度下降法的区别是每次迭代仅仅用一部分的样本来计算梯度,适合于样本数据多的时候,SAG是一种线性收敛算法,这个速度远比SGD快。

注:从上面的描述可以看出,newton-cg, lbfgs和sag这三种优化算法时都需要损失函数的一阶或者二阶连续导数,因此不能用于没有连续导数的L1正则化,只能用于L2正则化。而liblinear通吃L1正则化和L2正则化。

出自sklearn的官方文档

以及该博主的贡献,你也可以查看了解一下,建议直接看下面sklearn的官方文档sklearn.linear_model--LogisticRegression调参小结 - code_caq的博客 - CSDN博客​blog.csdn.netsklearn.linear_model.LogisticRegression - scikit-learn 0.20.2 documentation​scikit-learn.org

你可能感兴趣的:(python逻辑回归优化参数)