sklearn学习笔记9:逻辑回归

linear_model.LogisticRegression

①penalty & C

penalty:可以输入‘l1’或‘l2’来指定使用哪一种正则化方式,不填写默认‘l2’。注意,若选择‘l1’正则化,参数solver仅能够使用求解方式‘liblinear’和‘saga’,若使用‘l2’正则化,参数solver中所有求解方式都可以使用

C:正则化强度的倒数,必须是一个大于0的浮点数,不填写默认1.0,即默认正则项与损失函数的比值是1:1。C越小,损失函数就越小,模型对损失函数的惩罚越重,正则化的效力越强,参数theta会逐渐被压缩的越来越小

L1正则化和L2正则化虽然都可以控制过拟合,但它们的效果并不相同。当正则化强度逐渐增大(即C逐渐变小),参数theta的取值会逐渐变小,但L1正则化会将参数压缩为0,L2正则化只会让参数尽量小,不会取到0

两种正则化下C的取值,都可以通过学习曲线来进行调整

②max_iter

设置参数max_iter最大迭代次数来代替步长,帮助我们控制模型的迭代速度并适时地让模型停下。max_iter越大,代表步长越小,模型迭代时间越长,反之,则代表步长设置很大,模型迭代时间很短

③solver & multi_class

使用参数multi_class来告诉模型,我们的预测标签是什么样的类型

输入‘ovr’,‘multinomial’,‘auto’来告知模型,我们要处理的分类问题的类型,默认是‘ovr’

ovr:表示分类问题是二分类,或让模型使用‘一对多’的形式来处理多分类问题

multinomial:表示处理多分类问题,这种输入在参数solver是liblinear时不可用

auto:表示会根据数据的分类情况和其他参数来确定模型要处理的分类问题的类型,比如数据是二分类,或者solver的取值为liblinear,auto会默认选择ovr,反之,选择multinomial

④class_weight

使用参数class_weight对样本标签进行一定的均衡,给少量的标签更多的权重,让模型更偏向少数类,向捕获少数类的方向建模。该参数默认none,此模式表示自动给与数据集中的所有标签相同的权重,当误分类的代价很高的时候,我们使用balanced模式,我们只是希望对标签进行均衡的时候,什么都不填就可以解决样本不均衡问题

你可能感兴趣的:(sklearn,sklearn,逻辑回归)