深度学习基础 Week7 逻辑回归使用实例
目录摘要Abstract1实验目的2实验环境3实验原理简述4完整实验代码5程序运行结果展示5.1控制台文字输出结果6拓展小实验多分类 Softmax 逻辑回归7实验结论8实验收获摘要本实验通过Python和scikit-learn实现了逻辑回归模型的完整流程对比了原生线性逻辑回归与多项式特征变换后的非线性分类效果。实验使用环形数据集验证了特征变换的重要性结果显示二阶多项式变换将准确率从线性模型的50%提升至90%以上。实验还展示了决策边界可视化并拓展到Softmax多分类任务。结果表明特征工程对提升逻辑回归的非线性分类能力至关重要但需注意避免维度爆炸。该实验验证了逻辑回归的适用场景和局限性加深了对判别式模型和特征变换的理解。AbstractThis experiment implemented the full process of a logistic regression model using Python and scikit-learn, and compared the performance of original linear logistic regression with non-linear classification after polynomial feature transformation. A ring-shaped dataset was used to verify the importance of feature transformation, and the results showed that a second-order polynomial transformation increased accuracy from 50% with the linear model to over 90%. The experiment also demonstrated decision boundary visualization and extended to Softmax multi-class tasks. The results indicate that feature engineering is crucial for improving the non-linear classification ability of logistic regression, but its important to avoid dimensionality explosion. This experiment validated the applicable scenarios and limitations of logistic regression, and deepened the understanding of discriminative models and feature transformation.1实验目的理解逻辑回归建模完整流程数据加载、数据预处理、特征变换、模型训练、预测、效果评估对比原生逻辑回归线性分类局限 多项式特征变换后的非线性分类效果直观观测模型准确率、决策边界差异验证课堂理论知识掌握 Python scikit-learn 实现逻辑回归代码编写与结果解读。2实验环境编程语言Python 3.8依赖库numpy、matplotlib、scikit-learn实验数据集sklearn 内置环形二维数据集make_circles天然线性不可分适合验证特征变换作用3实验原理简述逻辑回归属于线性判别式分类器原生决策边界为直线无法划分环形数据通过多项式特征变换将二维特征映射至高维空间逻辑回归可学习非线性边界模型评价指标分类准确率 Accuracy4完整实验代码# 1. 导入所需工具包 import numpy as np import matplotlib.pyplot as plt from sklearn.datasets import make_circles from sklearn.linear_model import LogisticRegression from sklearn.preprocessing import PolynomialFeatures, StandardScaler from sklearn.metrics import accuracy_score # 设置图片中文正常显示 plt.rcParams[font.family] [SimHei, WenQuanYi Micro Hei] plt.rcParams[axes.unicode_minus] False # 2. 生成环形非线性数据集 # noise添加少量噪声因子随机种子固定保证每次运行结果一致 X, y make_circles(n_samples500, noise0.1, random_state20) # 3. 实验1原生逻辑回归无特征变换纯线性分类 # 3.1 标准化特征梯度下降收敛必备 scaler StandardScaler() X_scaled scaler.fit_transform(X) # 3.2 初始化并训练逻辑回归模型 lr_linear LogisticRegression(random_state20) lr_linear.fit(X_scaled, y) # 3.3 预测样本并计算准确率 y_pred_linear lr_linear.predict(X_scaled) acc_linear accuracy_score(y, y_pred_linear) print( 未做特征变换线性逻辑回归 ) print(f模型分类准确率{acc_linear:.4f}) # 4. 实验2添加二阶多项式特征变换构造非线性特征 poly PolynomialFeatures(degree2, include_biasFalse) X_poly poly.fit_transform(X) X_poly_scaled scaler.fit_transform(X_poly) # 训练多项式特征下的逻辑回归 lr_poly LogisticRegression(random_state20) lr_poly.fit(X_poly_scaled, y) y_pred_poly lr_poly.predict(X_poly_scaled) acc_poly accuracy_score(y, y_pred_poly) print(\n 二阶多项式特征变换后逻辑回归 ) print(f模型分类准确率{acc_poly:.4f}) # 5. 绘制两组模型决策边界对比图 def plot_decision_boundary(model, X, y, title): x_min, x_max X[:, 0].min() - 0.5, X[:, 0].max() 0.5 y_min, y_max X[:, 1].min() - 0.5, X[:, 1].max() 0.5 xx, yy np.meshgrid(np.arange(x_min, x_max, 0.02), np.arange(y_min, y_max, 0.02)) # 区分是否为多项式特征输入 if poly in title: grid poly.transform(np.c_[xx.ravel(), yy.ravel()]) grid scaler.transform(grid) else: grid scaler.transform(np.c_[xx.ravel(), yy.ravel()]) Z model.predict(grid) Z Z.reshape(xx.shape) plt.contourf(xx, yy, Z, alpha0.3) plt.scatter(X[:, 0], X[:, 1], cy, s30) plt.title(title) plt.xlabel(特征x1) plt.ylabel(特征x2) plt.figure(figsize(12, 5)) plt.subplot(1, 2, 1) plot_decision_boundary(lr_linear, X, y, f线性逻辑回归 准确率:{acc_linear:.2f}) plt.subplot(1, 2, 2) plot_decision_boundary(lr_poly, X, y, f多项式变换后 准确率:{acc_poly:.2f}) plt.tight_layout() plt.show()5程序运行结果展示5.1控制台文字输出结果6拓展小实验多分类 Softmax 逻辑回归from sklearn.datasets import load_iris # 鸢尾花3分类数据集 iris load_iris() X_iris, y_iris iris.data, iris.target # Softmax多分类逻辑回归 softmax_lr LogisticRegression(multi_classmultinomial, solverlbfgs, max_iter200) softmax_lr.fit(X_iris, y_iris) y_pre softmax_lr.predict(X_iris) acc accuracy_score(y_iris, y_pre) print(f\n鸢尾花3分类Softmax回归准确率{acc:.4f})运行输出验证逻辑回归拓展 Softmax 可轻松完成多分类任务。7实验结论原生逻辑回归是严格线性模型面对非线性分布数据分类效果很差必须依靠特征变换提升拟合能力多项式特征变换是弥补线性模型缺陷最常用手段但阶数过高易产生维度爆炸、引发过拟合逻辑回归结构简单、训练快速可解释性强适合风控、打分卡等需要输出概率的业务场景若数据非线性关系极度复杂人工特征工程成本过高可改用级联逻辑回归或者神经网络自动学习特征。8实验收获通过代码实操将之前学习的判别式模型、特征变换、决策边界、Softmax 多分类等理论知识落地直观看到每一步预处理和特征工程对模型精度的影响清晰掌握了逻辑回归的适用场景与局限性。

相关新闻

论文AI写作工具测评与学术规范实践指南

论文AI写作工具测评与学术规范实践指南

1. 论文写作AI工具现状与痛点分析 去年我在指导本科生毕业论文时,发现超过60%的学生都在使用各类AI写作工具。这个现象促使我系统测试了市面上主流的5款论文辅助工具,发现普遍存在三个致命问题: 第一是内容真实性危机。多数工具生成的文献综…

2026/10/15 13:04:15 阅读更多 →
手把手教你学 Simulink—— 飞机起落架收放系统电机的故障自诊断与容错控制仿真

手把手教你学 Simulink—— 飞机起落架收放系统电机的故障自诊断与容错控制仿真

目录 手把手教你学 Simulink —— 飞机起落架收放系统电机的故障自诊断与容错控制仿真 一、为什么起落架收放电机必须"自诊断容错"? 1.1 它是"关键功能系统" 1.2 典型故障模式(必须被覆盖) 二、系统总体架构&#…

2026/10/14 21:33:18 阅读更多 →
Linux字符设备驱动开发入门:从file_operations到内存设备实现

Linux字符设备驱动开发入门:从file_operations到内存设备实现

1. 先搞清楚字符设备驱动到底要解决什么问题如果你刚开始接触 Linux 驱动开发,看到“字符设备驱动”这个词可能会觉得抽象。简单来说,它的核心任务就是让用户空间的程序能够像读写普通文件一样,去操作一个硬件设备。比如,你写一个…

2026/10/15 7:36:22 阅读更多 →

最新新闻

瑞萨RA4L1开发板e2studio环境搭建与最小系统验证实战

瑞萨RA4L1开发板e2studio环境搭建与最小系统验证实战

简介:本资源面向使用瑞萨RA4L1系列MCU进行嵌入式开发的工程师与学习者,基于e2studio集成开发环境,提供RA4L1评估套件的开发板测试工程。RA4L1基于支持TrustZone的Arm Cortex-M33内核,工作电压低至1.6V,待机电流低至1.6…

2026/10/15 13:04:28 阅读更多 →
Kubernetes Dashboard从入门到实战:部署、权限与排障全解析

Kubernetes Dashboard从入门到实战:部署、权限与排障全解析

Kubernetes图形化工具一直是实操中的重要一环。命令行的kubectl固然强大,但对于需要快速预览集群状态、排查异常、或者让团队成员低门槛接入的场景,一个趁手的图形界面能省下大量沟通成本。这次想聊的就是K8s生态里最经典的图形化工具:Dashbo…

2026/10/15 13:04:28 阅读更多 →
SQLite FTS5上下文模式:轻量级本地AI语义检索实践

SQLite FTS5上下文模式:轻量级本地AI语义检索实践

1. “context-mode”到底是什么?一个被误读的技术概念正在悄悄改变本地AI工作流最近在多个开发者社区、数据库工具讨论组和AI工程实践帖子里,频繁出现“context-mode”这个词。它既不是SQLite的官方术语,也不属于任何主流AI框架的内置模式&am…

2026/10/15 13:04:28 阅读更多 →
context-mode:运行时行为分派机制的设计与落地实践

context-mode:运行时行为分派机制的设计与落地实践

1. 从“context-mode”这个词说起:它到底在解决什么问题第一次看到“context-mode”这个标题,很多人会愣一下——它不像“XX管理系统”“XX爬虫框架”那样一眼能看出用途。我最初接触这个词是在做对话式应用的时候,当时团队里有人提出“要不要…

2026/10/15 13:04:28 阅读更多 →
SQLite上下文感知检索:基于FTS5与MCP的语义调度模式

SQLite上下文感知检索:基于FTS5与MCP的语义调度模式

1. “context-mode”到底是什么?别被术语唬住,它本质是种数据上下文调度策略“context-mode”这个词最近在开发者圈子里频繁出现,尤其和MCP、SQLite、FTS5、BM25这些词绑在一起刷屏。很多人第一反应是——又一个新出的AI协议?还是…

2026/10/15 13:04:28 阅读更多 →
emoji 图片与编码表维护指南:从豆腐块到精准匹配

emoji 图片与编码表维护指南:从豆腐块到精准匹配

简介:这份资源面向移动端开发者、前端工程师及文本处理研究者,系统整理了emoji表情的图形素材与编码对照数据,帮助解决跨平台表情显示异常、编码转换与数据库存储等实际问题。压缩包共468个文件,以467张png图片和1个sql数据库文件…

2026/10/15 13:03:27 阅读更多 →

日新闻

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

1. 为什么选择容器化方式部署 LoRa 网络服务LoRa 物联网项目落地时,网络服务器是整个链路的核心枢纽。它负责接收网关上报的数据包、完成去重与解密、再把有效载荷分发给上层应用。早期大家习惯把网络服务器直接装在物理机上,依赖一堆系统库和特定版本的…

2026/10/15 0:00:46 阅读更多 →
共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

1. 共享推理服务里,扩缩容到底难在哪做过大模型推理服务部署的人,大概都经历过这样的场景:一个团队共用一套推理集群,A 业务跑的是 7B 的小模型,B 业务跑的是 72B 的大模型,C 业务白天流量高、晚上几乎归零…

2026/10/15 0:00:46 阅读更多 →
Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

1. 引子:一次内核恐慌引发的追查先从一个真实场景说起。某次我给一台老旧的嵌入式设备折腾系统裁减,为了把启动时间压进两秒以内,我手贱地把一串自认为“没用”的 systemd 服务给 disable 了,其中就包括systemd-remount-fs.servic…

2026/10/15 0:00:46 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 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/15 0:14:36 阅读更多 →
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/14 22:45:47 阅读更多 →
黑夜航拍船只数据集训练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/15 9:49:14 阅读更多 →