当前位置: 首页 > news >正文

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

概念

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

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

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

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

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

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

代码实现

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()
http://www.lryc.cn/news/144562.html

相关文章:

  • java八股文面试[多线程]——什么是线程安全
  • Redis 介绍
  • 冠达管理:核污染防治板块热度不减,建工修复等多只个股涨停
  • Unity关键概念
  • JDK配置环境变量(超详细)
  • 抢先体验|乐鑫推出 ESP32-S3-BOX-3 新一代开源 AIoT 开发套件
  • Java 语言实现归并排序算法
  • 【Python编程】将同一种图片分类到同一文件夹中
  • Web安全测试(四):XML注入和代码注入
  • 如何通过内网穿透实现外部网络对Spring Boot服务端接口的HTTP监听和调试?
  • 深入理解c++特殊成员函数
  • RecyclerView面试问答
  • Redis 7 教程 数据持久化
  • 【ArcGIS微课1000例】0072:如何生成空间权重矩阵
  • 【芯片设计封装与测试】芯片测试目的、方法、分类及案例
  • k8s集群证书过期解决
  • Linux学习之Ubuntu 20.04在github下载源码安装Openresty 1.19.3.1
  • bootloader串口更新程序[瑕疵学习板]
  • 浅谈视频汇聚平台EasyCVR视频平台在城市安全综合监测预警台风天气中的重要作用
  • GaussDB技术解读系列:高级压缩之OLTP表压缩
  • 管理类联考——英语二——实战篇——大作文——图表——静态图表——第一段
  • https 的ssl证书过期处理解决方案(lighthttpd)
  • 【java】【idea2023版】Springboot模块没有.iml文件的问题
  • Qt QScrollArea使用
  • Unity3d:GameFramework解析:实体,对象池,资源管理,获取计数,引用计数,自动释放
  • Django基础6——数据模型关系
  • 【chrome扩展开发】如何在项目中判断插件是否已安装
  • Centos 7.6 安装mongodb
  • Ubuntu下安装nginx服务,实现通过URL读取ubuntu下图片
  • 本地部署 Stable Diffusion(Mac 系统)