Logistic回归
Logistic回归模型:
适用于二分类或多分类问题,样本特征是数值型(否则需要转换为数值型)
策略:极大似然估计
算法:随机梯度 或 BFGS算法(改进的拟牛顿法)
线性回归表达式:
式子中;w为N个特征权重组成的向量,即
;b是第i个样本对应的偏置常数。
Sigmoid函数:
对数概率

Logistic 回归模型:
,
构造似然函数:
Logistic回归优化:梯度下降,分别对权重w,偏置b求导数:
综上,可归纳Logistic回归的过程:

实例:鸢尾花数据集划分:
class Logistic_Regression:def __init__(self):self.coef_ = Noneself.intercept_ = Noneself._theta = Nonedef _sigmoid(self,t):return 1./(1.+np.exp(-t)) def fit(self,X_train,y_train,eta = 0.01, n_iters =1e4):def J(theta,X_b,y):y_hat = self._sigmoid(X_b.dot(theta))try:return -np.sum(y*np.log(y_hat) +(1-y)*np.log(1-y_hat) )except:return float('inf')def dJ(theta,X_b,y):return X_b.T.dot(self._sigmoid(X_b.dot(theta))-y)def gradient_descent(initia_theta,X_b,y, eta,n_iters =1e4,epsilon =1e-8 ):theta = initia_thetacur_iter = 0while cur_iter < n_iters:gradient = dJ(theta,X_b, y)last_theta = thetatheta = theta - eta * gradientif (abs(J(theta,X_b, y)-J(last_theta,X_b, y)) < epsilon):breakcur_iter += 1return thetaX_b = np.hstack([np.ones(len(X_train)).reshape(-1,1),X_train])initia_theta = np.zeros(X_b.shape[1])self._theta = gradient_descent(initia_theta,X_b,y_train,eta,n_iters)self.intercept_ = self._theta[0]self.coef_ = self._theta[1:]return selfdef predict_proba(self,X_predict):X_b = np.hstack([np.ones(len(X_predict)).reshape(-1,1),X_predict])return self._sigmoid(X_b.dot(self._theta))def predict(self,X_predict):proba = self.predict_proba(X_predict)return np.array(proba >= 0.5,dtype = 'int')def score(self,X_test,y_test):y_predict = self.predict(X_test)return accuracy_score(y_test, y_predict)def __repr__(self):return "LogisticRegression()"
可视化划分:
from sklearn import datasets
iris = datasets.load_iris()
X = iris.data
y = iris.target
X = X[y<2,:2]
y = y[y<2]
plot_decision_boundary(log_reg,X_test)
plt.scatter(X_test[y_test==0,0],X_test[y_test==0,1])
plt.scatter(X_test[y_test==1,0],X_test[y_test==1,1])
plt.show()

总结
注意:虽然 Logistic 回归的名字叫作回归,但其实它是一种分类方法!!!
优点
- 逻辑斯蒂回归模型基于简单的线性函数,易于理解和实现。
- Logistic 回归模型对一般的分类问题都可使用。
- Logistic 回归模型不仅可以预测出样本类别,还可以得到预测为某类别的近似概率,这在许多需要利用概率辅助决策的任务中比较实用。
- Logistic 回归模型中使用的对数损失函数是任意阶可导的凸函数,有很好的数学性质,可避免局部最小值问题。
缺点
- Logis ic 回归模型本质上还是种线性模型,只能做线性分类,不适合处理非线性的情况,一般需要结合较多的人工特征处理使用。
- Logistic 回归对正负样本的分布比较敏感,所以要注意样本的平衡性,即y=1的样本数不能太少。
- 模型不能自动捕捉特征之间的交互作用,需要手动进行特征工程。
相关文章:
Logistic回归
Logistic回归模型: 适用于二分类或多分类问题,样本特征是数值型(否则需要转换为数值型) 策略:极大似然估计 算法:随机梯度 或 BFGS算法(改进的拟牛顿法) 线性回归表达式…...
Langchain-Chatchat+Xinference集成部署
Langchain-ChatchatXinference集成部署 安装环境: 系统:Anolis OS 8.9 python版本:Python 3.9.19 Langchain-Chatchat版本:0.3.1.3 Xinference版本:v0.13.3 模型选择(下载时需要科学上网)&#…...
江协科技51单片机学习- p33 PWM呼吸灯和直流驱动电机调速
🚀write in front🚀 🔎大家好,我是黄桃罐头,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流 🎁欢迎各位→点赞👍 收藏⭐️ 留言📝…...
使用Jetbrains.Rider反编译Unity的DLL文件看源码
直接将dll文件的打开方式用Rider打开即可,打开BattleSeqGenertor.dll文件的效果如下:...
【学习笔记】决策单调性优化DP
背景 GDCPC还在发力,清华出题组出的牛客还是 4 题。 这次没有min25筛,不然我能5题(bushi 除了一道用 prufer 序列的恶心 DP 外,还有一道DP题是一个状态难想,并且还需要决策单调性优化的DP,被认为是偏简单…...
【每日一题】【二分图最大匹配】【经典板子题】有大家喜欢的零食吗 河南萌新联赛2024第(一)场:河南农业大学 C题 C++
河南萌新联赛2024第(一)场:河南农业大学 C题 有大家喜欢的零食吗 题目描述 在某幼儿园中共有 n n n个小朋友,该幼儿园的老师为这 n n n 个小朋友准备了 n n n 份不一样的零食大礼包。每个小朋友只能选择一个,但老…...
【python】OpenCV—Image Colorization
文章目录 1、CIELAB 色彩空间2、作色问题定义3、Caffe 模型4、代码实现——Image5、代码实现——Video6、参考 1、CIELAB 色彩空间 Lab颜色空间,也称为Lab色彩空间或CIELAB色彩空间,是一种基于人类视觉感知特性的颜色模型。它是在1931年国际照明委员会&…...
vue 学习笔记
模板语法 1. 插值语法 用于解析标签体内容 { { 表达式 } } ,可以直接读取到 data 中的所有属性 2. 指令语法 解析标签(标签属性, 标签内容, 绑定事件) v-bind : href " url " 或 : href &…...
武汉流星汇聚:‘中国制造’闪耀欧洲站,体育赛事成亚马逊增长点
随着2024年的欧洲体育赛事激情四溢,欧洲杯与奥运会的双重盛会不仅点燃了全球体育迷的热情,更为亚马逊欧洲站带来了前所未有的发展机遇。在这场体育盛宴的推动下,欧洲站正展现出其无限的发展潜力和广阔的市场前景,为中国卖家乃至全…...
RPA是什么?探讨RPA发展的最新趋势 | RPA研究
随着人工智能和自动化技术的飞速发展,机器人流程自动化(Robotic Process Automation,简称RPA)正逐渐成为企业数字化转型的关键工具。RPA通过模拟人类用户的操作行为,自动化执行重复性高、规则性强的任务,从…...
sqlalchemy时间范围查询
1、sqlalchemy时间范围查询 在 SQLAlchemy 中,进行时间范围查询可以通过比较日期或时间字段来实现。假设你有一个模型 Event,它包含一个 timestamp 字段,你想查询在某个时间范围内的所有事件。以下是如何使用 SQLAlchemy 来实现这个查询的示例。 首先,确保你有 SQLAlchem…...
电脑不小心删除的文件怎么恢复?教你文件恢复的绝招
在日常使用电脑的过程中,我们有时会因为误操作或不小心而删除了重要的文件。面对这种情况,很多人可能会感到焦虑和无助。但其实,通过一些专业的方法和工具,我们有可能恢复这些被误删的文件。本文将介绍两种常见的恢复方法…...
stm32:使用和学习--硬件和程序
一硬件 1. GPIO 1.FT, TT功能 ft:five tolerate tt:three tolerate 1. FT(Five-Volt Tolerant)引脚 FT 引脚能够容忍高于 VDD 的输入电压(例如 5V)。这些引脚通常不具有连接到 VDD 的保护二极管&…...
ARM知识点二
一、指令 指令的生成过程 指令执行过程示例 if (a 0) {x 0; } else {x x 3; } //翻译为 cmp r0,#0 MOVEQ R1,#0 ADDGT R1,R1,#3指令获取:从Flash中读取 CMP R0, #0,控制器开始执行。 指令解码:解码器解析 CMP 指令,ALU比较R…...
C# ?的使用
栏目总目录 可空类型标记符(?) 说明: 可空类型标记符?用于指示某个值类型(如int、float等)可以为null。这是C# 2.0引入的一个特性,用于处理数据库查询、JSON解析等场景中可能出现的空值。 示例代码&am…...
【unity小技巧】unity性能优化以及如何进行性能测试
文章目录 前言GPU性能优化打包素材 CPU性能优化代码执行优化 性能测试Vector2.Distance 和 sqrMagnitude哪个好?动画切换优化shader属性优化 URP渲染器资产优化对象池优化删除没必要的空函数图片、音乐音效、贴图等素材压缩ScriptableObject优化参数参考完结 前言 …...
算法参考改进点/知识点
1、clip文章中改进点 图像编码器image encoder: 将全局平均池化层替换为注意力池化机制。注意力池化机制:通过一个单层的“transformer式”多头QKV注意力,其中查询query是基于图像的全局平均池表示。改进VIT(Vision Transformer…...
electron 配置、打包 -报错解决
目录 一、配置途中遇到的问题: 二、 make 配置好后开始打包 三、Electron-builder 打包报错 一、配置途中遇到的问题: 1. 安装 yarn add electron -D 一直卡在这里失败 一直卡可以使用下面这个,然后再重新装依赖 1. 采用新的镜像地址 npm …...
基于STM32设计的智能鱼缸(华为云IOT)(200)
文章目录 一、前言1.1 项目介绍【1】项目功能介绍【2】设计实现的功能【3】项目硬件模块组成1.2 设计思路【1】整体设计思路【2】ESP8266工作模式配置【3】自动换水原理1.3 项目开发背景【1】选题的意义【2】可行性分析【3】参考文献1.4 开发工具的选择【1】设备端开发【2】上位…...
Django与数据库
目录 创建项目app 路由子表 数据库 创建数据库 什么是ORM 定义数据库表 Django Admin 管理数据 过滤条件 代码直接生成HTML 使用模板 前后端分离架构 对资源的增删改查处理 列出客户 添加客户 临时取消 CSRF 校验 修改客户信息 删除客户 Django中ORM的处理 数据模…...
从CPU指令到C++代码:拆解 std::atomic fetch_add 在 x86 和 ARM 平台上的底层实现与性能差异
从CPU指令到C代码:拆解 std::atomic fetch_add 在 x86 和 ARM 平台上的底层实现与性能差异 在现代高性能并发编程中,原子操作是构建无锁数据结构和线程安全代码的基石。std::atomic 的 fetch_add 操作看似简单,但其底层实现却因硬件架构差异而…...
企业级前端基建:如何将离线npm包(tgz)安全迁移到Nexus 3私库?
企业级前端基建:如何将离线npm包(tgz)安全迁移到Nexus 3私库? 当企业面临安全合规审计或网络隔离需求时,如何将分散在各处的npm离线包(tgz格式)安全、高效地迁移至Nexus私有仓库,成为…...
SlopeCraft终极指南:如何轻松将任何图片转换为Minecraft立体地图画
SlopeCraft终极指南:如何轻松将任何图片转换为Minecraft立体地图画 【免费下载链接】SlopeCraft Map Pixel Art Generator for Minecraft 项目地址: https://gitcode.com/gh_mirrors/sl/SlopeCraft 你是否曾梦想将心爱的照片、动漫角色或艺术作品搬进Minecra…...
视频转PPT智能提取工具:自动化幻灯片提取效率提升10倍的完整方案
视频转PPT智能提取工具:自动化幻灯片提取效率提升10倍的完整方案 【免费下载链接】extract-video-ppt extract the ppt in the video 项目地址: https://gitcode.com/gh_mirrors/ex/extract-video-ppt 在数字化学习和远程办公的时代,视频内容已成…...
别让你的 Coding Agent 瞎忙活,你最缺的可能是这套 Harness 规则
别让你的 Coding Agent 瞎忙活,你最缺的可能是这套 Harness 规则 团队把 Claude Code、Codex、Cursor 这类工具接进日常开发后,最先暴露出的瓶颈通常在协作环节。 一个简单的 bug fix 任务,agent 可能会扩出十几个文件的改动。 跑了一行测试…...
告别误报!用FR2V H00磁通门传感器搞定充电桩直流漏电检测(附IEC 62955标准解读)
破解充电桩直流漏电检测难题:FR2V H00磁通门传感器的工程实践 800V高压快充技术正在重塑电动汽车充电体验,但随之而来的直流漏电检测难题却让不少工程师夜不能寐。想象一下,一个价值百万的充电桩因为误报停机,或者更糟——漏报导致…...
MS5803-14BA I²C驱动开发:嵌入式压力传感器实战指南
1. MS5803-14BA压力传感器库深度解析:面向嵌入式工程师的IC驱动开发实践1.1 传感器核心特性与工程定位MS5803-14BA是TE Connectivity(原Measurement Specialties)推出的高精度数字压力/温度复合传感器,采用MEMS压阻式传感原理与Δ…...
PCtoLCD2002字模提取软件:从基础配置到高效应用
1. PCtoLCD2002基础功能解析 第一次接触PCtoLCD2002时,我被它简洁的界面和强大的功能所吸引。这款软件虽然体积小巧,但在嵌入式开发领域却是不可或缺的利器。它主要解决了一个核心问题:如何将我们熟悉的文字和图形,转换成单片机能…...
51单片机(九)—— 数码管动态扫描原理与实现
1. 数码管动态扫描原理揭秘 第一次接触多位数码管显示时,我盯着电路板百思不得其解:明明只有8个数据引脚,怎么能同时控制8位数码管显示不同内容?直到理解了动态扫描原理,才恍然大悟这背后的精妙设计。动态扫描本质上是…...
PROFINET通信进阶:S7-1200作为服务器与S7-200 SMART的高效数据交换
PROFINET通信进阶:S7-1200作为服务器与S7-200 SMART的高效数据交换 在工业自动化领域,PROFINET通信协议因其高实时性和稳定性而广受青睐。当S7-1200 PLC作为服务器与S7-200 SMART进行数据交换时,如何优化通信性能成为工程师们关注的焦点。本文…...
