class sklearn.linear_model.LogisticRegression(penalty='l2', class_weight=None,solver='liblinear',multi_class='ovr')
这里只列出了几个经常设置的参数
1. penalty
正则化参数:’l1’,’l2’.默认是’l2’。
在调参时如果我们主要的目的只是为了解决过拟合,一般penalty选择L2正则化就够了。但是如果选择L2正则化发现还是过拟合,即预测效果差的时候,就可以考虑L1正则化。另外,如果模型的特征非常多,我们希望一些不重要的特征系数归零,从而让模型系数稀疏化的话,也可以使用L1正则化。
penalty参数的选择会影响我们损失函数优化算法的选择。即参数solver的选择。
2. solver
‘newton-cg’:坐标轴下降法来迭代优化损失函数
‘lbfgs’:, ‘liblinear’:牛顿法变种
‘sag’:随机梯度下降
其中‘newton-cg’, ‘lbfgs’, ‘sag’只适用于L2惩罚项的优化,liblinear两种都适用。因为L1正则化的损失函数不是连续可导的,而{‘newton-cg’, ‘lbfgs’,‘sag’}这三种优化算法时都需要损失函数的一阶或者二阶连续导数。而‘liblinear’并没有这个依赖。
当样本数目比较大时,使用sag效果较好,因为它只使用一部分样本进行训练。
3. multi_class
{‘ovr’, ‘multinomial’}, default: ‘ovr’
OvR的思想很简单,无论你是多少元逻辑回归,我们都可以看做二元逻辑回归。multinomial相对复杂。
本文介绍了sklearn库中LogisticRegression类的三个关键参数:penalty、solver和multi_class。详细解释了这些参数的作用及如何选择合适的参数以解决过拟合问题、特征稀疏化以及针对不同规模的数据集选取最优的优化算法。
915

被折叠的 条评论
为什么被折叠?



