第一次接触LogisticRegressionCV ,记录一下。
Logistic回归是分类算法,不能应用于回归中(传入模型的y值,不能是float类型,必须是int类型)
正则化选择参数 :penalty
——> L1 / L2 默认是L2的正则化,一般使用L2就可以了,但是如果还是过拟合,就可以用 L1,如果特征较多希望略去不重要特征,就有L1。
参数优化方式 :solver
——> 当penalty为l1的时候,参数只能是:liblinear(坐标轴下降法),lbfgs和cg都是关于目标函数的二 阶泰勒展开,当penalty为l2的时候,参数可以是:lbfgs(拟牛顿法)、newton-cg(牛顿法变种), seg(minibatch) 、而liblinear通吃L1正则化和L2正则化
维度<10000时,lbfgs法比较好, 维度>10000时, cg法比较好,显卡计算的时候,lbfgs和cg都比seg快
1. liblinear:使用了坐标轴下降法来迭代优化损失函数。
2. lbfgs:拟牛顿法的一种,利用损失函数二阶导数矩阵即海森矩阵来迭代优化损失函数。
3. newton-cg:也是牛顿法家族的一种,利用损失函数二阶导数矩阵即海森矩阵来迭代优化损失函数。
4. sag:即随机平均梯度下降,是梯度下降法的变种,和普通梯度下降法的区别是每次迭代仅仅用一部分的样本来计 算梯度,适合于样本数据多的时候,SAG是一种线性收敛算法,这个速度远比SGD快。关于SAG的理解.
分类方式参数 :multi_class
——>ovr(默认)、multinomial;这两种方式在二元分类问题中,效果是一样的,在多元分类问题中, 效果不一样
1. ovr :one-vs-rest, 对于多元分类的问题,先将其看做二元分类,分类完成后,再迭代对其中一类继续进行二元 分类
2.multinomial: many-vs-many(MVM),即Softmax分类效果
类型权重参数 :class_weight
——>权重一样可以不输入、可以选择balanced让类库自己计算类型权重、或自己输入 <class_weight={0:0.9, 1:0.1},这样类型0的权重为90%,而类型1的权重为10%>,
1.选择balanced,那么类库会根据训练样本量来计算权重。某种类型样本量越多,则权重越低,样本量越少,则 权重越高。
2.
样本权重参数: sample_weight
由于样本不平衡,导致样本不是总体样本的无偏估计,调用fit函数时,通过sample_weight来自己调节每个样本权 重
如果上面两种方法都用到了,那么样本的真正权重是class_weight*sample_weight.
交叉验证参数 : cv
——> 默认None,使用三折交叉验证。指定fold数量,默认为3,也可以是yield训练/测试数据的生成器。
并行数 : n_jobs
——> int:个数,-1:跟CPU核数一致, 1:默认值。
迭代终止判据的误差范围 :tol
---------------------
作者:一个有文化的暴发户
来源:CSDN
原文:https://blog.csdn.net/wangyuhao07/article/details/86152183
版权声明:本文为博主原创文章,转载请附上博文链接!