【机器学习】什么是逻辑回归?

什么是逻辑回归?

逻辑回归(Logistic Regression)是一个用于分类问题的统计学模型,尽管名字里有"回归"二字,它其实是用来做分类的,不是做数值预测的。

通俗易懂的理解

我们可以通过一个简单的例子来理解逻辑回归。

例子:判断一个学生是否能通过考试

假设你是一个老师,想要通过学生的学习时间(每周学习的小时数)来预测他们是否能够通过考试(通过或不通过)。为了让问题更简单,我们假设一个学生的学习时间和是否通过考试之间存在某种关系。也就是说,学习时间越多,学生通过考试的几率就越大。

我们可以把这个问题转化为分类问题:

  • 学生通过考试:1
  • 学生没有通过考试:0

逻辑回归是如何工作的?

逻辑回归通过一个公式来预测一个学生通过考试的概率:

  • 假设有一个学生,每周学习了5个小时,逻辑回归模型会根据历史数据计算出他通过考试的概率,输出一个值在0和1之间。如果概率大于0.5,我们认为他通过考试;如果小于0.5,我们认为他没有通过考试。

逻辑回归的核心思想是概率,它预测的是某个事件发生的概率,因此它的输出值是一个介于0到1之间的数字,表示事件发生的可能性。

公式:

逻辑回归的数学公式是:

其中:

  • P(y = 1 | x)) 是事件发生的概率(例如学生通过考试的概率)。
  • w0, w1 是模型的参数,模型会根据历史数据来学习这些参数。
  • x 是输入特征(例如学习时间)。

这个公式是 Sigmoid函数,它会将任何一个输入值映射到0和1之间。

举个具体的例子

假设我们有以下的数据集:

学习时间(小时) 是否通过考试(0或1)
1 0
2 0
3 0
4 1
5 1
6 1

我们要根据这些数据来训练一个逻辑回归模型,预测一个学生学习5个小时是否能通过考试。

代码示例(Python)

我们可以使用 scikit-learn 库来实现逻辑回归。首先,你需要安装 scikit-learn

bash 复制代码
pip install scikit-learn

接下来是代码:

python 复制代码
import numpy as np
from sklearn.linear_model import LogisticRegression
import matplotlib.pyplot as plt
from matplotlib import rcParams

# 设置字体为支持中文的字体
rcParams['font.family'] = 'SimHei'
rcParams['axes.unicode_minus'] = False

# 学习时间(小时)和考试结果(通过或不通过)
X = np.array([[1], [2], [3], [4], [5], [6]])  # 学习时间
y = np.array([0, 0, 0, 1, 1, 1])  # 是否通过考试

# 创建逻辑回归模型
model = LogisticRegression()

# 训练模型
model.fit(X, y)

# 使用模型预测学习5小时的学生通过考试的概率
probability = model.predict_proba([[5]])[0, 1]  # 获取通过考试的概率

# 输出概率
print(f"学习5小时的学生通过考试的概率是:{probability:.2f}")

# 可视化数据
plt.scatter(X, y, color='red', label='实际数据')
plt.plot(X, model.predict_proba(X)[:, 1], color='blue', label='逻辑回归预测概率')
plt.xlabel('学习时间(小时)')
plt.ylabel('通过考试(0或1)')
plt.legend()
plt.show()

代码解释:

  1. 数据准备:X 是学习时间的数据,y 是是否通过考试的标签(0表示不通过,1表示通过)。
  2. 创建模型:LogisticRegression()创建了一个逻辑回归模型。
  3. 训练模型:model.fit(X, y) 通过数据 X 和 y 来训练模型。
  4. 预测:model.predict_proba([[5]])会返回一个数组,表示学习5小时学生通过考试的概率。我们取数组中的第二个值(通过考试的概率,第一个值是未通过的概率)。
  5. 可视化:我们用红色点表示实际数据,蓝色曲线表示逻辑回归模型预测的概率。

输出示例:

bash 复制代码
学习5小时的学生通过考试的概率是:0.84

解释结果:

  • 经过训练后,模型会输出一个概率值,例如0.84,表示学习5小时的学生有84%的概率通过考试。
  • 通过这类概率预测,我们可以做出决策,比如设定一个阈值(比如0.5),如果概率大于0.5,就认为学生通过考试;如果小于0.5,就认为学生没有通过考试。

总结:

  • 逻辑回归是一个用于分类的问题,它的输出是一个概率值。
  • 它可以帮助我们预测某个事件发生的概率,例如预测学生是否通过考试。
  • 逻辑回归的核心是 Sigmoid 函数,它会把预测值压缩到0和1之间。

希望这个例子和代码能帮助你更好地理解逻辑回归!

相关推荐
猫头虎8 分钟前
什么是AI+?什么是人工智能+?
人工智能·ai·prompt·aigc·数据集·ai编程·mcp
聚客AI9 分钟前
💡为什么你的RAG回答总是胡言乱语?致命瓶颈在数据预处理层
人工智能·langchain·llm
彭军辉20 分钟前
什么是AI宠物
人工智能
siliconstorm.ai31 分钟前
穿越周期:AIoT产业的真实突破口与实践路径
大数据·人工智能
爱喝奶茶的企鹅41 分钟前
Ethan独立开发新品速递 | 2025-08-27
人工智能
武子康1 小时前
AI-调查研究-59-机器人 行业职业地图:发展路径、技能要求与薪资全解读
人工智能·gpt·程序人生·ai·职场和发展·机器人·个人开发
大视码垛机1 小时前
大视码垛机器人:以技术优势撬动工业码垛升级
人工智能·机器人·自动化·制造
夜郎king1 小时前
基于高德地图的怀化旅发精品路线智能规划导航之旅
人工智能
MarkHD1 小时前
AI提示词30天入门培训计划
人工智能·chatgpt
xw33734095642 小时前
目标检测基础
人工智能·yolo