当前位置: 首页 > 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.生成对比报告

相关文章:

  • HarmonyOS 组件复用面试宝典 [特殊字符]
  • 《AI日报 · 0613|ChatGPT支持导出、Manus免费开放、GCP全球宕机》
  • 每天宜搭宜搭小知识—报表组件—柱线混合图
  • 【实用生信代码】分子对接后的分子动力学模拟实战——OpennMM
  • PH热榜 | 2025-06-13
  • 包含11个整套APP移动端UI的psd适用于旅行聊天交友相关的社交应用程序
  • 篇章五 系统性能优化——资源优化——CPU优化(2)
  • 自定义View实现K歌开始前歌词上方圆点倒计时动画效果
  • Springboot短视频推荐系统b9wc1(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • 商务通用扁平风格主题PPT模版分享
  • docker部署DNS服务并带有图形界面管理——筑梦之路
  • 【深度解析】海外短剧系统开发全流程:从0到1搭建高并发、多语言短剧平台的技术架构与运营策略
  • 第8章——8天Python从入门到精通【itheima】-88~90-Python的文件操作(文件的写出+文件的追加+综合案例)
  • python数据挖掘编程题
  • Vulkan学习笔记6—渲染呈现
  • 《并查集》题集
  • 通关JUC:Java并发工具包从入门到精通 | 深度源码解析​
  • Excel词典(xllex.dll)文件丢失或损坏导致功能异常?别慌!专业修复策略来了!
  • Java 实现 Excel 转化为 PDF
  • 51c自动驾驶~合集59
  • 网站建设制作 武汉/电商网站建设公司哪家好
  • 企智网站建设/百度经验官网首页
  • 柬埔寨网站建设/seo01网站
  • 网站产品内页设计/5g站长工具查询
  • 网址提交大全/百度搜索优化怎么做
  • 红酒商城网站建设/茂名seo顾问服务