逻辑回归计算过程与调参

1 逻辑回归计算过程

(1)导入相关模块

在这里插入图片描述

(2)二分类

a 导入二分类的数据

在这里插入图片描述

b 逻辑回归计算概率

在这里插入图片描述

c 手动计算概率

在这里插入图片描述

d 比较两次计算的结果

在这里插入图片描述

(2)多分类

a 导入数据

不对数据进行筛选,鸢尾花数据标签有 0,1,2,因此有三类,这是一个三分类的问题
在这里插入图片描述

b 逻辑回归计算概率

在这里插入图片描述
solver表示优化算法

c 使用数学公式计算概率

在这里插入图片描述

d 比较两次的计算结果

在这里插入图片描述

(3)关于 multi_class 参数

如果指定为 ‘ovr’,则对每个类别都进行分类算它的概率,具体怎么操作呢?
比如有5个类别需要预测,那么对第一个类别是 1 还是 0 进行一次二分类,计算为1的概率,对后面的四个类别也做同样的处理,其实就是对one-hot矩阵的每一列都预测一次,所以要做 5 次二分类计算。然后让这5个概率归一化,即让它们之和为1,概率最大的那一列就是预测的类别。
对每个类别:线性计算——代入sigmoid函数
然后:概率归一化——预测

multinomial不能翻译为多项式,而应该译为“多项的”,意思是多个类别,其计算的过程如下:
对每个类别:线性计算——代入softmax函数,然后预测

注意 ‘ovr’ 没有使用 softmax 函数, ‘multinomial’ 没有使用 sigmoid 函数,两者都可以用于多分类。multi_class 参数默认为 ‘auto’,意思是:二分类时使用 ‘ovr’,多分类时使用 ‘multinamial’。

multi_class = ‘ovr’ 用于多分类的情况
在这里插入图片描述

2 逻辑回归调参

可以导入自带交叉验证的逻辑回归方法

from sklearn.linear_model import LogisticRegressionCV
LogisticRegressionCV(Cs = [0.001,0.01,0.1,1,5,10,100])

Cs 是要调整的正则化力度的倒数,默认使用 L2 正则化
如果 CS 是整数,则以 1e-4 和 1e4 之间的对数标度选择Cs值网格
例如,当 CS=10时,先从[-4, 4] 中产生10个等距点 [-4. , -3.11, -2.22, -1.33, -0.44, 0.44, 1.33, 2.22, 3.11, 4.]
然后产生10个要调的参数 [10^(-4), 10^(-3.11), …, 10^4]

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值