penalty、C(损失函数)
可选参数:L1、L2,默认使用L2
若选择L1,则solver只能使用 liblinear 和 saga
<span class="equation-text" contenteditable="false" data-index="0" data-equation="用来衡量参数为\theta的模型拟合训练集时产生的信息损失大小,并以此来衡量参数的优劣"><span></span><span></span></span>
不求解参数的模型是没有损失函数的,比如:决策树,KNN。大多数机器学习算法是没有损失函数的
<span class="equation-text" contenteditable="false" data-index="0" data-equation="J(\theta)=-\sum_{i=1}^n[y_i*log(y_\theta(x_i))+(1-y_i)*log(1-y_\theta(x_i))]"><span></span><span></span></span>
为了防止模型过拟合,使用正则化
L1正则化
<span class="equation-text" contenteditable="false" data-index="0" data-equation="J(\theta)_{L1}=C*J(\theta)+\sum_{j=1}^n|\theta_j|(j>=1)"><span></span><span></span></span>
L2正则化
<span class="equation-text" contenteditable="false" data-index="0" data-equation="J(\theta)_{L1}=C*J(\theta)+\sqrt{\sum_{i=1}^n\theta_i^2}(j>=1)"><span></span><span></span></span>
L1会将参数压缩到0,L2会将参数尽量小,但不会为0
C越小,损失函数会越小,模型对损失函数的惩罚项越重,正则化的效果越强,参数会被压缩的越小
max_iter(随机梯度最大的迭代次数)
随机一个初始点,前进的方向就是该点的梯度方向
梯度:对其自变量求偏导构成的向量
<span class="equation-text" contenteditable="false" data-index="0" data-equation="逻辑回归的损失函数J(\theta_1,\theta_2)对其自变量\theta_1和\theta_2求偏导,而这两个自变量正好是逻辑回归模型的参数"><span></span><span></span></span>
如果没有达到最佳的次数,sklearn会报警告
如果超过最佳参数,迭代会停止
lr.n_iter_ 查看最佳次数
multi_class(分类)
ovr(二分类或者一对多)、multinormal(多对多分类)、auto(自动),默认为auto
class_weight(样本不平衡)
标签中的某一类占有很大比例,比如:违约与不违约,犯罪与未犯罪
给少量的标签添加更高的权重,默认为None
balanced,对标签进行均衡
主流使用采样法:重复样本采样,将样本标签比例一致(上采样)