当前位置: 首页 > news >正文

python打卡day53@浙大疏锦行

知识点回顾:

  1. 对抗生成网络的思想:关注损失从何而来
  2. 生成器、判别器
  3. nn.sequential容器:适合于按顺序运算的情况,简化前向传播写法
  4. leakyReLU介绍:避免relu的神经元失活现象

ps;如果你学有余力对于gan的损失函数的理解,建议去找找视频看看,如果只是用,没必要学

作业:对于心脏病数据集,对于病人这个不平衡的样本用GAN来学习并生成病人样本,观察不用GAN和用GAN的F1分数差异。

一、数据预处理(修改 src/data/preprocessing.py )

def split_minority_class(data_df):# 提取少数类(病人样本)minority = data_df[data_df.target == 1]return minority.drop('target', axis=1).values

二、GAN网络定义(新增 src/models/gan.py )

class Generator(nn.Sequential):def __init__(self, input_dim, output_dim):super().__init__(nn.Linear(input_dim, 128),nn.LeakyReLU(0.2),nn.Linear(128, 256),nn.LeakyReLU(0.2),nn.Linear(256, output_dim),nn.Tanh())class Discriminator(nn.Sequential):def __init__(self, input_dim):super().__init__(nn.Linear(input_dim, 256),nn.LeakyReLU(0.2),nn.Linear(256, 128),nn.LeakyReLU(0.2),nn.Linear(128, 1),nn.Sigmoid())

三、训练流程(修改 src/models/train.py )

# GAN训练循环
for epoch in range(epochs):for real_data in minority_loader:# 生成假数据z = torch.randn(batch_size, latent_dim)fake_data = generator(z)# 判别器训练d_loss_real = criterion(discriminator(real_data), real_labels)d_loss_fake = criterion(discriminator(fake_data.detach()), fake_labels)d_loss = (d_loss_real + d_loss_fake) / 2# 生成器训练g_loss = criterion(discriminator(fake_data), real_labels)

四、评估对比(新增 src/visualization/evaluate.py )

def compare_f1(original_f1, gan_f1):plt.figure(figsize=(10,6))plt.bar(['Original', 'GAN Augmented'], [original_f1, gan_f1])plt.title('F1 Score Comparison')plt.savefig('reports/figures/f1_comparison.png')

执行流程

1.安装依赖

pip install imbalanced-learn

2.训练GAN生成样本
3.分别训练基线模型和增强模型
4.生成对比报告

http://www.xdnf.cn/news/1030303.html

相关文章:

  • DAY 53 对抗生成网络
  • 操作系统知识(1)
  • 造轮子系列:从0到1打造生产级HTTP客户端,优雅封装OkHttp/HttpClient,支持异步、重试与文件操作
  • 自定义表单右侧属性使用v-bind绑定渲染
  • 知识点|MVC模式(Model–view–controller)
  • 中英双配毕业祝福(毕业季快乐!)
  • MRI中的“髓鞘探测器”:T1w/T2w比值揭秘
  • 【面板数据】A股上市公司注册地所在地数据集(1991-2023年)
  • securecrt里如何把会话管理器固定在会话的左侧?
  • 北航自由指令驱动的多模态导航最新研究:OctoNav:开启通用智能体具身导航
  • SageAttention2原理和计算过程
  • 开机不用输入密码,修改注册表
  • 【设计模式】UML类图与工厂模式
  • C++中 using 命名别名和命名别名模板的用法
  • 寻找区域中的面积和中心点
  • ChatNT-用于DNA、RNA和蛋白质任务的多模态对话代理-文献精读143
  • P3740 [HAOI2014] 贴海报 题解
  • AUTOSAR图解==>AUTOSAR_TPS_SafetyExtensions
  • xss注入遇到转义,html编码绕过了解一哈
  • frp搭建踩坑....
  • 2025软件测试面试题汇总(接口测试篇)
  • 鸿蒙的@State
  • 跳出多重循环
  • Power BI Streaming dataset - 模拟监测水库的水位情况
  • 【2025 CVPR-Backbone】Building Vision Models upon Heat Conduction
  • 57、原生组件注入-【源码分析】DispatcherServlet注入原理
  • Windows系统 整个D盘均无法新建文件夹,D盘权限无法直接添加
  • 认识LinkedHashMap
  • catelen数到二叉树节点的联想
  • C语言:字符函数