统计学补充概念-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()
相关推荐
心中有国也有家几秒前
hixl:昇腾分布式推理的「快递专线」
人工智能·经验分享·笔记·分布式·学习·算法
爱睡懒觉的焦糖玛奇朵7 小时前
【从视频到数据集:焦糖玛奇朵的魔法工具使用说明】
人工智能·python·深度学习·学习·算法·yolo·音视频
Runawayliquor7 小时前
opbase:CANN 所有算子的公共地基
大数据·数据库·人工智能·算法
徐安安ye7 小时前
FlashAttention 为什么对序列长度这么“敏感”?
人工智能·算法
黎阳之光9 小时前
黎阳之光:以视频孪生重构智能监盘,为燃机打造新一代智慧电厂大脑
大数据·人工智能·算法·安全·数字孪生
绝知此事9 小时前
【算法突围 02】树形结构与数据库索引:树形结构与数据库索引:从 BST 到 B+ 树的演化与 MySQL 优化
数据库·mysql·算法·面试·b+树
清木!10 小时前
排序算法比较
数据结构·算法·排序算法
cookqq10 小时前
Palantir Foundry 核心建模体系:构建企业级智能知识图谱的基石
人工智能·机器学习·知识图谱·ai编程
吴可可12310 小时前
用Teigha修改并保存CAD文件
数据库·算法·c#
gjhave11 小时前
jetson上trtexec模型转换
人工智能·机器学习