统计学补充概念-13-逻辑回归

概念

逻辑回归(Logistic Regression)实际上是一种用于解决分类问题的统计学习方法,尽管其名称中带有"回归"一词,但它主要用于处理分类任务。逻辑回归用于预测一个事件发生的概率,并将其映射到一个特定的输出类别。

逻辑回归的基本思想是,通过一个线性组合的方式将输入特征与权重相乘,然后通过一个称为"逻辑函数"或"Sigmoid函数"的激活函数将结果映射到一个0到1之间的概率值。这个概率值可以被解释为样本属于某个类别的概率。Sigmoid函数的公式为:

在训练逻辑回归模型时,通常使用的是最大似然估计方法。模型会尝试寻找一组权重

w,使得观测数据中样本被正确分类的概率最大化。这可以通过最小化损失函数来实现,常用的损失函数是"交叉熵损失"(Cross-Entropy Loss)。

逻辑回归在广泛的领域中应用,如医学、金融、自然语言处理等。它可以用于二分类问题(如判断邮件是否为垃圾邮件)和多分类问题(如图像分类)。虽然逻辑回归是一个线性模型,但它也可以通过特征工程、多项式特征、正则化等技术来应对复杂的分类任务。

需要注意的是,尽管逻辑回归在名称上与线性回归类似,但它们是不同的方法。线性回归用于解决回归问题,旨在预测连续数值输出,而逻辑回归用于分类问题,预测的是概率或离散的类别输出。

代码实现

python 复制代码
import numpy as np
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score

# 生成虚拟数据集
np.random.seed(42)
X = np.random.randn(100, 2)  # 100个样本,每个样本有2个特征
y = (X[:, 0] + X[:, 1] > 0).astype(int)  # 标签,根据特征和阈值生成

# 划分数据集为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

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

# 在训练集上训练模型
model.fit(X_train, y_train)

# 在测试集上进行预测
y_pred = model.predict(X_test)

# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print(f"Accuracy: {accuracy:.2f}")

# 可视化决策边界
plt.figure(figsize=(10, 6))
plt.scatter(X[:, 0], X[:, 1], c=y, cmap=plt.cm.Paired)
plt.xlabel('Feature 1')
plt.ylabel('Feature 2')

# 生成决策边界
coef = model.coef_
intercept = model.intercept_
x_boundary = np.linspace(X[:, 0].min(), X[:, 0].max(), 100)
y_boundary = -(coef[0, 0] * x_boundary + intercept) / coef[0, 1]
plt.plot(x_boundary, y_boundary, 'k--')

plt.title("Decision Boundary")
plt.show()
相关推荐
B站_计算机毕业设计之家8 分钟前
豆瓣电影数据可视化分析系统 | Python Flask框架 requests Echarts 大数据 人工智能 毕业设计源码(建议收藏)✅
大数据·python·机器学习·数据挖掘·flask·毕业设计·echarts
Dovis(誓平步青云)11 分钟前
《滑动窗口算法:从 “暴力遍历” 到 “线性高效” 的思维跃迁》
运维·服务器·数据库·算法
weixin_3954489124 分钟前
cursor日志
人工智能·python·机器学习
_OP_CHEN37 分钟前
【算法基础篇】(五十七)线性代数之矩阵乘法从入门到实战:手撕模板 + 真题详解
线性代数·算法·矩阵·蓝桥杯·c/c++·矩阵乘法·acm/icpc
魔乐社区38 分钟前
MindSpeed LLM适配Qwen3-Coder-Next并上线魔乐社区,训练推理教程请查收
人工智能·深度学习·机器学习
天天爱吃肉821842 分钟前
【跨界封神|周杰伦×王传福(陶晶莹主持):音乐创作与新能源NVH测试,底层逻辑竟完全同源!(新人必看入行指南)】
python·嵌入式硬件·算法·汽车
im_AMBER43 分钟前
Leetcode 114 链表中的下一个更大节点 | 删除排序链表中的重复元素 II
算法·leetcode
xhbaitxl1 小时前
算法学习day38-动态规划
学习·算法·动态规划
多恩Stone1 小时前
【3D AICG 系列-6】OmniPart 训练流程梳理
人工智能·pytorch·算法·3d·aigc
历程里程碑1 小时前
普通数组----轮转数组
java·数据结构·c++·算法·spring·leetcode·eclipse