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

在百度做网站疫情防控最新数据

在百度做网站,疫情防控最新数据,wordpress不同页面侧边栏,做汽车内饰皮革批发的网站CTGAN 合成数据生成与验证脚本学习笔记 本笔记详细讲解如何使用 CTGAN 对混凝土材料数据进行合成、物理约束筛选,并进行统计与分布验证。适合数据科学、材料科学相关领域学习者参考。 1. 导入依赖与数据读取 首先导入所需库,并读取原始数据&#xff1…

CTGAN 合成数据生成与验证脚本学习笔记

本笔记详细讲解如何使用 CTGAN 对混凝土材料数据进行合成、物理约束筛选,并进行统计与分布验证。适合数据科学、材料科学相关领域学习者参考。

1. 导入依赖与数据读取

首先导入所需库,并读取原始数据:

import pandas as pd
import numpy as np
from ctgan import CTGAN
from sklearn.preprocessing import QuantileTransformer
import warningswarnings.filterwarnings('ignore')
# 读取数据
....

2. 数据预处理

将所有数据列转换为 float,并用 QuantileTransformer 统一分布(有助于后续建模):

# 数据预处理
for column in real_data.columns:real_data.loc[:, column] = real_data[column].astype(float)# QuantileTransformer进行分布转换
transformer = QuantileTransformer(output_distribution='normal')
transformed_data = pd.DataFrame(transformer.fit_transform(real_data),columns=real_data.columns
)

3. CTGAN 模型构建与训练

设置 CTGAN 参数并训练生成模型:

# 定义离散列
discrete_columns = []# 优化CTGAN模型参数
ctgan = CTGAN(epochs=2000,  # 训练轮数batch_size=100,  # 批次大小pac=5,  # pac参数generator_dim=(512, 1024, 2048, 1024, 512),  # 网络结构discriminator_dim=(512, 1024, 2048, 1024, 512),generator_lr=1e-5,  #学习率discriminator_lr=1e-5,discriminator_steps=3,  # 判别器训练步数verbose=True
)# 训练模型
print("开始训练模型...")
ctgan.fit(transformed_data, discrete_columns)

4. 生成与反向转换数据

生成十倍于原始数据量的合成数据,并反向转换回原始分布:

# 生成数据后筛选
n_synthetic = len(real_data) * 10  # 生成数据
synthetic_transformed = ctgan.sample(n_synthetic)# 反向转换数据
synthetic_data = pd.DataFrame(transformer.inverse_transform(synthetic_transformed),columns=real_data.columns
)

5. 物理约束函数

apply_physical_constraints

为合成数据添加物理约束,确保各成分比例合理,且分布接近原始数据。

def apply_physical_constraints(data, real_data):# 确保所有值非负for col in data.columns:data.loc[:, col] = np.maximum(data[col], 0)#归一化binder_sum = data[binder_columns].sum(axis=1)for col in binder_columns:data.loc[:, col] = data[col] / binder_sum#物理约束constraints = {#范围约束}# 硬约束for col, (min_val, max_val) in constraints.items():data.loc[:, col] = data[col].clip(min_val, max_val)

6. 分布相似性筛选函数

select_best_samples_with_distribution

用 Wasserstein 距离筛选与原始分布最接近的合成样本。

def select_best_samples_with_distribution(synthetic_data, real_data, n_select):from scipy.stats import wasserstein_distance# Wasserstein距离distances = []for i in range(len(synthetic_data)):sample = synthetic_data.iloc[i:i + 1]# 特征Wasserstein距离总和dist_sum = 0for col in real_data.columns:# 权重weight = 2.0 if col in ['Cement', 'FA', 'GGBFS', 'F-D', 'F-L'] else 1.0dist = wasserstein_distance(sample[col], real_data[col]) * weightdist_sum += distdistances.append(dist_sum)# 选择距离最小n_selectbest_indices = np.argsort(distances)[:n_select]return synthetic_data.iloc[best_indices]

7. 约束与筛选后的数据保存与验证

应用物理约束与分布筛选后,保存合成数据并进行多项统计验证:

synthetic_data = apply_physical_constraints(synthetic_data, real_data)
synthetic_data = select_best_samples_with_distribution(synthetic_data, real_data, len(real_data))

8.结果(部分)

在这里插入图片描述

##本文档仅供学习参考,实际使用时请结合具体数据和业务需求调整参数与约束条件。

http://www.dtcms.com/wzjs/371278.html

相关文章:

  • 在线学习网站建设小说网站排名人气
  • 重庆住建厅网站官网宁波网络推广团队
  • 双一流建设专题网站seo名词解释
  • 提高网站收录google网页版
  • 手机如何打开wordpressgoogleseo排名公司
  • 国外专门做童装的网站宁波专业seo外包
  • 政府网站源代码seo业务培训
  • wordpress搭建网站有什么好外扬州网站推广公司
  • 做多级分销的网站深圳百度推广关键词推广
  • 一个网站做两个语言模板可以吗seo优化中以下说法正确的是
  • php网站模板下载惠州百度seo排名
  • 做棋牌推广网站违法不千锋教育
  • 怎么做考试资料网站推广接单平台
  • 佛山免费发布信息的网站360优化大师官方下载最新版
  • 新手做网站遇到的问题以及解决方案优化大师手机版
  • 日照市建设热力公司网站郑州搜狗关键词优化顾问
  • 阜宁有做网站的吗网络营销类型
  • 做网站的是不是程序员seo常用工具有哪些
  • 微信怎么做网站微信小程序开发平台官网
  • 市场监督管理局局长南昌seo优化
  • 深圳网站建设一条龙kol营销模式
  • 简述嵌入式软件开发流程桔子seo查询
  • 网站开发需要多少钱新闻培训方案怎么做
  • 微信端网站设计推广网络推广平台
  • 网站贸易表格怎么做广州网站优化服务
  • 建设局网安卓优化大师下载安装到手机
  • 建设银行网站设计特点3步打造seo推广方案
  • 网站团队人数谷歌推广怎么做
  • 在网站怎么做代销首页排名关键词优化
  • 做团购网站需要注册哪些商标怎么给公司做网站