Python代码:将3组14维数据扩充至99组并注入高斯噪声

本代码示例展示如何使用Python将3组14维数据导入Excel表格,并注入高斯噪声,扩充为99组14维数据,最终导出为新的Excel表格。

import pandas as pd
import numpy as np
import random

# 读入3组14维已知数据
data = pd.read_excel('data.xlsx', header=None)

# 注入高斯噪声
mean = 0
std_dev = 0.05
noisy_data = data.apply(lambda x: x + np.random.normal(mean, std_dev, len(x)))

# 扩充数据为99组14维数据
num_samples = 99
expanded_data = pd.DataFrame(columns=data.columns)
for i in range(num_samples):
    row = noisy_data.iloc[random.randint(0, len(noisy_data)-1)]
    expanded_data = expanded_data.append(row, ignore_index=True)

# 导出Excel表格
expanded_data.to_excel('expanded_data.xlsx', header=False, index=False)

代码解释:

  1. 导入库: 首先导入pandas、numpy和random库,分别用于数据处理、数值计算和随机数生成。
  2. 读取数据: 使用pd.read_excel()函数从名为'data.xlsx'的Excel文件中读取数据,header=None表示没有表头。
  3. 注入高斯噪声: 使用np.random.normal()函数为数据注入高斯噪声,meanstd_dev分别代表高斯噪声的均值和标准差。
  4. 扩充数据: 使用循环生成99组数据,每次从noisy_data中随机选择一行并添加到expanded_data中。
  5. 导出数据: 使用pd.DataFrame.to_excel()函数将expanded_data导出为名为'expanded_data.xlsx'的Excel文件,header=False, index=False表示不包含表头和索引。

注意事项:

  • 此示例代码仅供参考,具体的数据处理过程可能因数据的不同而有所差异。
  • 高斯噪声的注入方式并不是唯一的,您可以根据实际情况选择其他的注入方式。
  • 数据扩充方式也只是一种简单的示例,您可以参考其他数据增强方法。
Python代码:将3组14维数据扩充至99组并注入高斯噪声

原文地址: https://www.cveoy.top/t/topic/nTvS 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录