运用逻辑回归进行二分类及多分类

本文深入探讨了逻辑回归模型,包括模型简介、sigmoid函数的原理和应用,以及如何使用逻辑回归进行二分类和多分类任务的实现。通过实例展示了模型训练、预测、结果可视化和决策边界的绘制,强调了逻辑回归在概率预测上的价值。
摘要由CSDN通过智能技术生成


目标:

  • 能够清晰理解逻辑回归模型的原理。
  • 掌握sigmooid函数的作用
  • 能够使用逻辑回归模型实现二分类以及多分类任务

知识要点

一、逻辑回归模型

模型简介:

逻辑回归实际上是一个分类算法,其应用于对样本数据进行分类的场景中。例如,给定如下的鸢尾花数据集:

花萼长度 花萼宽度 花瓣长度 花瓣宽度 类别
5.4 3.9 1.3 0.4 山鸢尾
5.1 3.5 1.4 0.3 山鸢尾
5.8 2.7 4.1 1.0 杂色鸢尾
6.2 2.2 4.5 1.5 杂色尾
6.3 2.5 5.0 1.9 维吉尼亚鸢尾
6.5 3.0 5.2 2.0 维吉尼亚鸢尾
5.6 3.1 3.8 0.7

我们就可以基于一致的数据集,建立模型,从而对位置的样本数据进行预测。

算法的分类思想

逻辑回归实现分类的思想:将每条样本进行‘打分’,然后设置一个阈值,达到这个阈值的,分为一个类别,没有达到这个阈值的,分为另外一个类别。对于阈值,划分为哪个类别都可以,但是,要保证阈值划分的一致性。

算法模型

对于逻辑回归,模型的前面于线性回归类似:
在这里插入图片描述
不过,Z的值是一个连续的值,取值方位为(-∞,+∞),我们可以将阈值设置为中间的位置,也就是0,当Z>0时,模型将样本判定为一个类别(正例),Z≦0时,模型将样本判定为另一个类别(负例),这样模型就实现了二分类任务。

sigmoid函数

函数原型

对于分类任务来说,如果仅仅给出分类的结果,在某些场景下,提供的信息可能并不充足,这就会带来一定的局限。因此,我们建立分类模型,不仅应该能够进行分类,同时,也应该能够提供样本属于该类别的概率。这在现实中非常使用。例如,某人患病的概率,明天下雨的概率等。
因此,我们需要将Z值转换为概率值,逻辑回归使用sigmoid函数来实现转换,该函数的原型为:
在这里插入图片描述
当Z的值从-∞向+∞过渡时,sigmoid函数的取值范围为(0,1),这正好是概率的取值范围,当Z=0时,sigmoid(0)的值为0.5. 因此,模型就可以将sigmoid的输出值p作为正例的概率,而1一p作为负例的概率。以阈值0.5作为两个分类的阅值,就是看p与1 一p哪个类别的概率值更大,预测的结果就为哪个类别。
假设真实的分类y的值为1与0,则:
在这里插入图片描述

sigmoid函数图像

现在我们通过Python程序来绘制sigmoid函数在[-10,10]区间的图像。

import numpy as np
import matplotlib.pyplot as plt 

plt.rcParams["font.family"] = "SimHei"
plt.rcParams["axes.unicode_minus"] = False
plt.rcParams["font.size"] = 12

#定义sigmoid函数。
def sigmoid(z):
	return 1/(1+ np.exp(-z))

z = np.linspace(-10, 10, 200)
plt.plot(z, sigmoid(z))
#绘制水平线与垂直线。
plt.axvline(x=0, ls="-", c="k")
plt.axhline(ls=":", c="k")
plt.axhline(y=0.5, ls=":", c="k")
plt.axhline(y=1, ls=":", c="k")
p1t.x1abel("z值")
plt.y1abel("sigmoid(z)值")
Text(0, 0.5, 'sigmoid(z)值')

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值