逻辑回归_1
sklearn.linear_model.LogisticRegression
penalty=l2, # 惩罚项,L1作用是产生少量的特征,而其他特征都是0,常用于特征选择;L2作用是选择较多的特征,使他们都趋近于0。
dual=False, # 对偶方法(原始问题和对偶问题),用于求解线性多核(liblinear)的L2的惩罚项上。样本数大于特征数时设置False
tol=0.0001, # 迭代停止的条件,小于等于这个值停止迭代,损失迭代到的最小值。
C=1.0, # 正则化系数λ的倒数,越小表示越强的正则化,默认为0。
solver=’liblinear’, # 优化算法的参数,包括newton-cg,lbfgs,liblinear,sag,saga,对损失的优化的方法
multi_class=’ovr’,# 多分类方式,有‘ovr','mvm'
penalty:
主要的目的只是为了解决过拟合,选择L2正则化。
如果还是过拟合,即预测效果差的时候,就可以考虑L1正则化。
如果模型的特征非常多,我们希望一些不重要的特征系数归零,从而让模型系数稀疏化的话,也可以使用L1正则化。
liblinear:坐标轴下降法来迭代优化损失函数
lbfgs:利用损失函数二阶导数矩阵即海森矩阵来迭代优化损失函数
newton-cg:利用损失函数二阶导数矩阵即海森矩阵来迭代优化损失函数。
sag:即随机平均梯度下降
multi_class:和
OVR(one-vs-rest):无论你是多少元逻辑回归,我们都可以看做二元逻辑回归。
对于第K类的分类决策,我们把所有第K类的样本作为正例,除了第K类样本以外的所有样本都作为负例,然后在上面做二元逻辑回归,得到第K类的分类模型。
其他类的分类模型获得以此类推。
MVM(many-vs-many):举MvM的特例one-vs-one(OvO)作讲解。如果模型有T类,我们每次在所有的T类样本里面选择两类样本出来,不妨记为T1类和T2类,
把所有的输出为T1和T2的样本放在一起,把T1作为正例,T2作为负例,进行二元逻辑回归,得到模型参数。我们一共需要T(T-1)/2次分类
L1 L2 OVR MVM
liblinear 是 是 是 否
lbfgs 否 是 是 是
sag 否 是 是 是
newton-cg 否 是 是 是
二元 没区别
多元 有区别
posted on 2018-10-29 15:49 happygril3 阅读(154) 评论(0) 收藏 举报
浙公网安备 33010602011771号