深度学习基础 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/11/6 2:46:16 阅读更多 →
手把手教你学 Simulink—— 飞机起落架收放系统电机的故障自诊断与容错控制仿真

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

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

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

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

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

2026/11/7 15:21:59 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/9 14:01:10 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/9 14:56:39 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/10 2:03:25 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/10 16:14:15 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/10 12:51:50 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/9 14:01:11 阅读更多 →

日新闻

周新闻

月新闻