线性回归逻辑回归-笔记

news2024/11/26 2:28:42

一、线性回归(Linear Regression)

1. 定义

线性回归是一种用于回归问题的算法,旨在找到输入特征与输出值之间的线性关系。它试图通过拟合一条直线来最小化预测值与真实值之间的误差。

2. 模型表示

线性回归模型假设目标变量(输出)和输入变量(特征)之间的关系是线性的,模型可以表示为:

其中:

  • y是目标变量(预测值)。
  • x1​,x2​,…,xn​ 是输入特征。
  • β0​ 是偏置项(截距)。
  • β1,β2,…,βn​ 是特征的系数(权重)。
  • ϵ是误差项。

3. 损失函数

线性回归的目标是最小化均方误差(Mean Squared Error, MSE),其损失函数定义为:

其中,yi 是真实值,y^i是模型预测值。

4. 解决方法

通过**最小二乘法(Ordinary Least Squares, OLS)**或梯度下降等方法,求解模型中的参数(权重和偏置项)。

二、逻辑回归(Logistic Regression)

1. 定义

逻辑回归是一种用于分类问题的算法,尽管名字中有“回归”一词,它本质上是一种分类算法,特别适用于二分类问题(如0/1、是/否、真/假等)。它通过估计事件发生的概率来进行分类。

2. 模型表示

逻辑回归的模型形式与线性回归类似,但它的输出是一个概率值,通过将线性回归结果输入到Sigmoid函数中,得到的值在0到1之间:

 其中,P(y=1∣x)P(y=1 | x)P(y=1∣x) 是类别为1的概率。

  • Sigmoid函数定义为:

 Sigmoid函数将线性回归的结果(可能为任意实数)映射到0和1之间,便于表示概率。

3. 损失函数

逻辑回归使用交叉熵损失(Cross-Entropy Loss),其损失函数为:

 其中:

  • yi是真实的标签(0或1)。
  • y^i是模型的预测概率。

4. 解决方法

逻辑回归的参数可以通过梯度下降等优化算法来求解。

三、线性回归与逻辑回归的区别 

特征线性回归(Linear Regression)逻辑回归(Logistic Regression)
类型回归算法(用于预测连续值)分类算法(用于预测类别)
目标变量连续型变量(如价格、温度等)二分类变量(0/1, 是/否等)
模型输出实数(可能在正无穷到负无穷之间)概率(0到1之间)
使用的函数线性函数Sigmoid函数
损失函数均方误差(MSE)交叉熵损失(Cross-Entropy)
应用场景回归问题,如房价预测、销量预测等分类问题,如信用违约预测、疾病诊断
解决方法最小二乘法或梯度下降梯度下降等优化方法
输出解释直接预测一个值预测某个事件发生的概率
特征之间的关系假设特征与目标值之间存在线性关系假设特征与分类概率之间有线性关系

主要区别总结

  1. 问题类型:线性回归用于解决回归问题,预测连续变量,而逻辑回归用于解决分类问题,通常是二分类问题。
  2. 输出值:线性回归的输出是一个实数,可能范围从负无穷到正无穷;逻辑回归的输出是一个0到1之间的概率值。
  3. 模型函数:线性回归直接使用线性函数进行预测,而逻辑回归将线性回归的结果通过Sigmoid函数转化为概率。
  4. 损失函数:线性回归使用均方误差(MSE)作为损失函数,而逻辑回归使用交叉熵损失(Cross-Entropy)。

 四、具体实践:Python代码示例

线性回归

from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
from sklearn.datasets import load_boston
from sklearn.metrics import mean_squared_error

# 加载数据
boston = load_boston()
X = boston.data
y = boston.target

# 分割数据
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

# 训练模型
model = LinearRegression()
model.fit(X_train, y_train)

# 预测
y_pred = model.predict(X_test)

# 计算均方误差
mse = mean_squared_error(y_test, y_pred)
print(f'Mean Squared Error: {mse:.2f}')

 逻辑回归

from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn.datasets import load_breast_cancer
from sklearn.metrics import accuracy_score

# 加载数据
cancer = load_breast_cancer()
X = cancer.data
y = cancer.target

# 分割数据
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

# 训练模型
model = LogisticRegression(max_iter=10000)
model.fit(X_train, y_train)

# 预测
y_pred = model.predict(X_test)

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2202092.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vue3浮动按钮(FloatButton)

效果如下图:在线预览 APIs FloatButton 参数说明类型默认值left按钮定位的左边距,单位 pxnumber | stringundefinedright按钮定位的右边距,单位 pxnumber | string24top按钮定位的上边距,单位 pxnumber | stringundefinedbottom…

优惠点餐api接口对接的具体步骤是什么?

优惠点餐API接口对接的具体步骤通常包括以下几个阶段: 需求分析:明确对接的目标和需求,例如实现在线点餐、订单管理、支付集成等 。选择API服务提供商:根据业务需求选择合适的点餐API服务提供商 。注册和获取API密钥:…

channel是pypi与 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-f的区别。

pypi.org 是 PyPI 的默认源https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-f 是清华大学开源软件镜像站提供的 Anaconda 镜像源之一。 pypi.org:通常通过 pip 工具来使用。 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-f:…

力扣HOT100合集

力扣HOT100 - 1. 两数之和 解题思路&#xff1a; 解法一&#xff1a;暴力 class Solution {public int[] twoSum(int[] nums, int target) {int n nums.length;for (int i 0; i < n; i)for (int j i 1; j < n; j) {if (target nums[i] nums[j])return new int[] …

docker compose一键部署容器监控 CAdvisor+InfluxDB+Granfana

docker compose一键部署容器监控 CAdvisorInfluxDBGranfana CAdvisor监控收集InfluxDB存储数据Granfana展示图表 1、原生命令 通过docker stats 命令可以查看当前宿主机上所有创建的容器的CPU,内存和网络流量等信息 docker stats 缺点&#xff1a;只能查看当前宿主机的全部…

Pymysql cur.fetchall() 返回 None

大家在pymysql 的 cur.fetchall() 函数通常用于获取执行 SQL 查询后的所有结果。该函数返回一个包含查询结果的元组列表。如果 cur.fetchall() 返回 None&#xff0c;可能是由于以下多种问题导致的。 1、问题背景 在使用 Pymysql 库连接到 MySQL 数据库时&#xff0c;遇到这样…

革新锂电池PACK线:重塑生产效能新高度

背景&#xff1a; 在新能源产业的浪潮中&#xff0c;锂电池作为电动汽车、储能系统的核心部件&#xff0c;其生产效率与质量直接关系到整个产业链的竞争力。然而&#xff0c;在锂电池PACK线的生产、运输、检测这一完整流程中&#xff0c;运输环节往往面临着诸多挑战&#xff0…

探索多模态大模型的最佳技术路线

视觉-语言模型&#xff08;Vision-Language Models, VLMs&#xff09;领域正迅速发展&#xff0c;但在数据、架构和训练方法等关键方面还未达成共识。本文旨在为构建VLM提供指南&#xff0c;概述当前的最先进方法&#xff0c;指出各自的优缺点&#xff0c;解决该领域的主要挑战…

AD的多边形覆铜挖空

针对多层板中没有网络的焊盘&#xff0c;需要覆铜挖空&#xff0c;避免与GND连接。同时&#xff0c;大多数情况下&#xff0c;我们的板子上都有定位孔&#xff0c;如果覆铜边界和定位孔边界距离过近&#xff0c;当拧螺丝时&#xff0c;螺丝会压在覆铜上&#xff0c;甚至在螺丝旋…

漫途以产品为导向,为集成商客户提供稳定、可靠的物联网终端设备!

无锡漫途科技有限公司成立于2014年8月至今已经十年有余&#xff0c;在这期间公司始终把“1344”战略作为核心指导方向。 “1”代表只做一件事&#xff0c;即以“物联网基础大数据服务商”为主要业务定位&#xff0c;围绕中国制造 2025&#xff0c;推动中国工业智能化转型升级&…

安卓投屏工具:QtScrapy

QtScrcpy可以通过USB(或通过TCP/IP)连接Android设备&#xff0c;并进行显示和控制。不需要root权限。   项目地址https://gitee.com/leihongping/QtScrcpy

Onebound代购系统丨系统建站丨返海淘系统用途

Onebound代购系统、系统建站以及返海淘系统的用途&#xff0c;可以详细阐述如下&#xff1a; Onebound代购系统 Onebound代购系统主要用于连接海外消费者与中国电商平台&#xff08;如1688、淘宝、天猫、京东等&#xff09;&#xff0c;为消费者提供商品搜索、下单、支付、物…

学习threejs,网格深度材质MeshDepthMaterial

&#x1f468;‍⚕️ 主页&#xff1a; gis分享者 &#x1f468;‍⚕️ 感谢各位大佬 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍⚕️ 收录于专栏&#xff1a;threejs gis工程师 文章目录 一、&#x1f340;前言1.1 ☘️网格深度材质MeshDepthMate…

Vert.x,Web - Router

Vert.x-Web简介 Vert.x-Web是用于构建Web应用程序的一系列模块&#xff0c;可以用来构建经典的服务端Web应用&#xff0c; RESTful应用&#xff0c; 实时的(服务端推送)Web应用&#xff0c;或任何您所能想到的Web应用类型。Vert.x Web的设计是强大的&#xff0c;非侵入式的&am…

电影选票选座系统|影院购票|电影院订票选座小程序|基于微信小程序的电影院购票系统设计与实现(源码+数据库+文档)

电影院订票选座小程序 目录 基于微信小程序的电影院购票系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、用户功能实现 2、管理员功能实现 &#xff08;1&#xff09;影院信息管理 &#xff08;2&#xff09;电影信息管理 &#xff08;3&#xff09;已完成…

ComfyUI 使用 LoRA 极简工作流

前言 ComfyUI的LoRA工作流相信大家都不陌生。开发者提供了大量基于默认节点功能搭建的工作流&#xff0c;其中就包括了如何使用LoRA。 仅仅使用一个LoRA也许还比较简单。只需要在基本工作流的基础上&#xff0c;再添加一个LoRA加载器的节点即可。如果要添加多个LoRA&#xff…

[C++ 核心编程]笔记 3 引用做函数参数

2.1 引用的基本使用 作用: 给变量起别名 语法: 数据类型 &别名 原名 2.2 引用注意事项 引用必须初始化引用在初始化后&#xff0c;不可以改变 #include<iostream> using namespace std;int main() {//引用基本语法int a 10;//创建引用int& b a;cout <&…

PHP智慧餐饮新风尚点餐系统

智慧餐饮新风尚点餐系统 —— 美食与科技的完美碰撞 &#x1f37d;️ 开篇&#xff1a;智慧餐饮的崛起 在快节奏的现代生活中&#xff0c;智慧餐饮正逐渐成为我们日常的一部分。随着科技的飞速发展&#xff0c;餐饮行业也在不断创新&#xff0c;力求为顾客提供更加便捷、高效…

中国象棋,Android小游戏开发

中国象棋&#xff0c;Android小游戏开发 A. 项目描述 本项目设计并开发了一款易于上手又富有挑战性的中国象棋应用。 用户界面与体验&#xff1a; 简洁与直观的设计&#xff0c;确保无论是新手还是老手&#xff0c;都能轻松使用。象棋主界面展示清晰的棋盘和操作选项&#x…

什么是DHCP Snooping?到底工作在第几层?

号主&#xff1a;老杨丨11年资深网络工程师&#xff0c;更多网工提升干货&#xff0c;请关注公众号&#xff1a;网络工程师俱乐部 中午好&#xff0c;我的网工朋友 对于企业和机构而言&#xff0c;保证内部网络的安全稳定运行不仅是日常运营的基础&#xff0c;更是防止敏感信息…