逻辑回归(Logistic Regression)详解:从原理、模型评价到 Python 实战
一、逻辑回归简介1. 什么是逻辑回归逻辑回归Logistic Regression是一种经典的机器学习分类算法主要用于解决二分类和多分类问题。虽然名字中包含回归但逻辑回归本质上是一种分类模型。常见应用银行贷款风险预测医疗疾病检测垃圾邮件分类用户流失预测信用评分例如银行需要判断用户是否存在贷款风险0正常用户 1违约用户输入用户信息年龄 收入 负债情况 信用评分 历史还款记录模型输出用户违约概率例如正常概率0.2 违约概率0.8由于违约概率大于 0.5最终预测用户 违约二、逻辑回归的数学原理1. 线性计算逻辑回归首先计算输入特征的线性组合z w₁x₁ w₂x₂ ... wₙxₙ b其中符号含义x输入特征w模型权重b偏置z线性结果例如贷款预测z w₁ × 年龄 w₂ × 收入 w₃ × 信用评分 b但是z 的范围(-∞, ∞)无法直接作为概率。因此需要使用2. Sigmoid 函数Sigmoid 函数σ(z) 1 / (1 e⁻ᶻ)作用将任意数值转换到0 ~ 1例如z概率50.9900.5-50.006最终输出一个概率值。三、逻辑回归模型评价指标在实际项目中不能只看准确率。1. 为什么准确率不可靠例如银行贷款预测10000 个用户正常用户9990 个 违约用户10 个模型所有用户预测正常结果预测正确9990 个准确率9990 / 10000 99.9%但是10 个违约用户全部漏掉。这种模型没有实际价值。因此需要混淆矩阵PrecisionRecallF1-score四、混淆矩阵混淆矩阵用于比较真实结果 VS 模型预测结果。预测正类预测负类真实正类TPFN真实负类FPTN1. TPTrue Positive真正例。含义真实 1 预测 1例如用户确实违约模型判断违约。2. TNTrue Negative真负例。真实 0 预测 0例如正常用户被正确识别。3. FPFalse Positive假正例。真实 0 预测 1也叫误报。例如正常用户被认为违约。4. FNFalse Negative假负例。真实 1 预测 0也叫漏报。例如违约用户没有被发现。五、分类评价指标1. Precision精确率公式Precision TP / (TP FP)含义模型预测为正类的数据中有多少是真的正类。例如模型预测 100 人违约其中 80 人真的违约。Precision80%关注减少误报。2. Recall召回率公式Recall TP / (TP FN)含义所有真实正类中有多少被模型找到。例如实际有 100 个违约用户模型发现 90 个。Recall90%关注减少漏报。3. 为什么业务更关注 Recall医疗场景疾病检测误诊健康人被判断患病。影响需要复查。漏诊患者没有发现疾病。可能导致严重后果。所以医疗更关注 Recall。银行风控预测贷款违约漏掉一个老赖损失 100 万元。误拒一个正常用户损失 5 万元。因此银行更关注Recall。4. F1-scorePrecision 和 Recall 存在矛盾。因此使用F1-score。公式F1 2PR / (P R)它综合考虑精确率召回率六、Python 实现逻辑回归1. 导入库import pandas as pd from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split from sklearn.linear_model import LogisticRegression from sklearn.metrics import classification_report from sklearn.metrics import confusion_matrix七、加载数据使用 sklearn 自带鸢尾花数据集。iris load_iris() X iris.data y iris.target数据X: 花萼长度 花萼宽度 花瓣长度 花瓣宽度 y: 花的类别八、划分训练集和测试集X_train, X_test, y_train, y_test train_test_split( X, y, test_size 0.2, random_state 42 )作用80% 训练20% 测试九、训练逻辑回归模型创建模型model LogisticRegression()训练model.fit( X_train, y_train )训练过程中模型学习每个特征的重要程度也就是权重 w。十、模型预测y_pred model.predict(X_test)得到预测类别。十一、模型评价1. 混淆矩阵cm confusion_matrix( y_test, y_pred ) print(cm)输出[[10 0 0] [0 9 1] [0 0 10]]表示模型大部分预测正确。2. 分类报告print( classification_report( y_test, y_pred ) )输出precision recall f1-score support说明模型综合表现。十二、过拟合与正则化1. 什么是过拟合过拟合模型在训练数据上表现很好训练准确率99%但是测试数据准确率70%原因模型记住了训练数据中的噪声。十三、正则化解决过拟合正则化思想在损失函数中加入惩罚项。公式Loss 原始损失 λR(W)目的限制模型复杂度。十四、L1 和 L2 正则化L1 正则化公式R(W) ∑|w|特点部分权重变为 0。作用自动选择重要特征。L2 正则化公式R(W) ∑w²特点让权重整体变小。优点模型更加稳定。sklearn 默认penalty l2十五、LogisticRegression 重要参数1. penalty正则化方式penalty l22. C 参数C 表示正则化强度的倒数。关系C 值正则化小强大弱例如LogisticRegression(C 0.1)正则化更强。3. solver优化算法solver特点liblinear小数据lbfgs默认sag大数据saga大数据4. max_iter最大迭代次数max_iter 1000防止模型无法收敛。5. class_weight解决类别不平衡class_weight balanced自动提高少数类别权重。十六、交叉验证进行参数优化为什么不能使用测试集调参错误测试不同 C 值 选择测试集效果最高的问题测试集参与模型选择。相当于提前看答案。十七、K 折交叉验证例如10 折交叉验证。步骤数据分 10 份1 2 3 4 5 6 7 8 9 10循环第一次训练1-9验证10第二次训练1-8 10验证9最终计算平均结果。十八、完整机器学习流程数据收集 ↓ 数据清洗 ↓ 划分训练集测试集 ↓ 建立逻辑回归模型 ↓ 交叉验证调参 ↓ 训练最终模型 ↓ 测试模型 ↓ 上线应用

相关新闻

让大模型学会“动手”:LangChain Tool + Agent 实战指南

让大模型学会“动手”:LangChain Tool + Agent 实战指南

1. 本章目标前面几章中,模型主要做两类事情:根据 Prompt 生成内容根据知识库资料回答问题但真实业务中,模型经常需要调用外部能力。例如:查询订单状态查询商品库存计算优惠价格查询用户等级调用知识库检索这些外部能力在 LangChai…

2026/10/10 1:55:00 阅读更多 →
Forza-Mods-AIO:重新定义极限竞速地平线游戏修改的革命性开源框架

Forza-Mods-AIO:重新定义极限竞速地平线游戏修改的革命性开源框架

Forza-Mods-AIO:重新定义极限竞速地平线游戏修改的革命性开源框架 【免费下载链接】Forza-Mods-AIO Free and open-source FH4 & FH5 mod tool 项目地址: https://gitcode.com/gh_mirrors/fo/Forza-Mods-AIO 极限竞速地平线游戏玩家和技术爱好者们&#…

2026/10/12 3:25:04 阅读更多 →
Python 权限校验装饰器与 Logging 日志模块完全指南

Python 权限校验装饰器与 Logging 日志模块完全指南

大家好,在Web开发、后台管理系统以及任何需要用户身份验证的场景中,权限校验和日志记录都是不可或缺的组成部分。权限校验确保只有授权用户才能访问特定功能,而日志记录则帮助我们追踪程序的运行状态、排查问题。这两者在实际项目中几乎总是配…

2026/10/6 11:05:12 阅读更多 →

最新新闻

89C52单片机驱动旋转LED的POV显示原理与实战

89C52单片机驱动旋转LED的POV显示原理与实战

1. 项目概述:为什么旋转LED至今仍是单片机入门的“试金石”你有没有在科技展会、校园创新实验室,甚至某家咖啡馆的角落里,见过那种悬空漂浮、自带呼吸感的LED文字?它没有屏幕,却能清晰显示“HELLO”“2024”甚至简单动…

2026/10/12 19:29:10 阅读更多 →
AM5平台ECC支持真相:静默SEC-DED与固件门禁机制解析

AM5平台ECC支持真相:静默SEC-DED与固件门禁机制解析

1. 为什么AM5平台的ECC支持成了“薛定谔的猫”?在某实验室搭建一套用于长期数据校验的计算节点时,我遇到一个典型困境:手头有块华硕ROG STRIX X670E-E GAMING WIFI主板、一颗锐龙7 7800X3D处理器,以及几条标称支持ECC的DDR5内存。…

2026/10/12 19:29:10 阅读更多 →
DMA总读旧数据?CPU与Cache一致性问题的三种解决策略

DMA总读旧数据?CPU与Cache一致性问题的三种解决策略

做DMA相关开发久了,迟早会遇到这么个诡异的现象:代码明明先把新数据写到了缓冲区,DMA把数据搬出去,接收端拿到的却是上一批内容。反过来也一样,DMA搬进来一批数据,CPU读到的偏偏是改动前的旧值。我最近在某…

2026/10/12 19:29:10 阅读更多 →
smart-doc + showdoc:接口文档自动化生成与协作管理实战

smart-doc + showdoc:接口文档自动化生成与协作管理实战

1. 接口文档管理的痛点与方案选型但凡带过团队、跟过中大型项目的人,大概都经历过接口文档那点糟心事。后端改了一个字段类型,前端拿着三天前的文档联调,结果字段对不上,两边互相甩锅;测试同学照着文档写用例&#xff…

2026/10/12 19:29:09 阅读更多 →
基于机器学习的URL恶意性检测系统落地实践与踩坑指南

基于机器学习的URL恶意性检测系统落地实践与踩坑指南

简介:一套基于机器学习的URL恶意性检测系统,通过提取URL字符串自身特征并结合sklearn库构建分类模型,用于识别网络钓鱼、恶意软件下载等恶意链接,适合网络安全学习者、算法工程师及数据挖掘爱好者参考与二次开发。压缩包内共24个文…

2026/10/12 19:28:08 阅读更多 →
Naoqi库函数深度解析:Python控制Nao机器人的核心技巧与避坑指南

Naoqi库函数深度解析:Python控制Nao机器人的核心技巧与避坑指南

1. 为什么naoqi这层封装值得单独拿出来聊很多人第一次接触Nao机器人,注意力都放在动作编排和外观上,觉得会调几个挥手、走路、说话的接口就算入门了。真正上手做项目才会发现,naoqi这套库函数才是决定项目能不能跑稳的关键。它本质上是一组运…

2026/10/12 19:28:08 阅读更多 →

日新闻

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

在数码相机、高清显示屏与现代矢量图形技术高度发达的今天,画面可以做到绝对的锐利、平滑与无瑕。然而,当一张秋日手账插画或拍立得照片过于“平整无瑕”时,往往会散发出一种冰冷生硬的“数码塑料感(Digital Plasticity&#xff0…

2026/10/12 0:00:59 阅读更多 →
活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

在现代网页与移动端设计中,横排(Horizontal Layout)早已经成为了绝对的主流。然而,当我们翻开泛黄的线装古籍、宋版木刻诗集,或是欣赏一张茶道雅集的手写便签时,那种**自上而下纵向书写、自右向左逐列铺展&…

2026/10/12 0:00:59 阅读更多 →
周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

每到周日的晚上八点到十点,很多人心里都会悄悄亮起一盏警示灯。 在心理学上,这种现象有一个专门的称谓——“周日夜晚焦虑症(Sunday Scaries)”。明天又是周一,闹钟又要重新在七点响彻卧房;脑海里仿佛有一个…

2026/10/12 0:00:59 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/12 0:16:30 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/12 0:16:43 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 10:45:37 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 14:48:49 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →