使用高斯噪声扩充多组多维数据样本

本示例代码使用Python的NumPy和Pandas库,将多组多维已知数据导入Excel表格,并注入高斯噪声以扩充样本数量,最后将结果导出为新的Excel文件。

代码示例

import numpy as np
import pandas as pd

# 导入原始数据
data = np.loadtxt('data.txt')

# 扩充样本
num_samples = 10
stddev = 0.1
noisy_data = np.zeros((num_samples, data.shape[0], data.shape[1]))
for i in range(num_samples):
    noisy_data[i] = data + np.random.normal(loc=0, scale=stddev, size=data.shape)

# 将多组数据合并为一个DataFrame
df_list = []
for i in range(num_samples):
    df_list.append(pd.DataFrame(noisy_data[i], columns=['X', 'Y', 'Z']))
df = pd.concat(df_list, keys=['Sample {}'.format(i+1) for i in range(num_samples)])

# 导出为Excel文件
df.to_excel('noisy_data.xlsx')

代码说明

  1. 导入必要的库:NumPy和Pandas
  2. 导入原始数据:使用np.loadtxt()函数从data.txt文件中读取数据。data.txt应该是一个包含多行和三列的文本文件,每列代表一个维度,每行代表一个样本。
  3. 扩充样本:
    • 定义num_samples参数来指定要生成的样本数量。
    • 定义stddev参数来指定噪声的标准差。
    • 使用np.random.normal()函数生成高斯噪声,并将其添加到原始数据中,从而生成noisy_data
  4. 合并数据:使用pd.DataFrame()将每个noisy_data数组转换为DataFrame,并使用pd.concat()将所有DataFrame合并成一个DataFrame。
  5. 导出数据:使用df.to_excel()函数将最终的DataFrame导出为noisy_data.xlsx文件。

注意事项

  • 原始数据文件data.txt应该是一个包含多行和三列的文本文件,每列代表一个维度,每行代表一个样本。可以根据实际情况修改数据的维数和文件名。
  • 在注入高斯噪声时,stddev参数代表噪声的标准差,可以根据实际需求进行调整。
  • 最后生成的Excel文件为noisy_data.xlsx

总结

本示例代码展示了如何使用Python的NumPy和Pandas库,将多组多维已知数据导入Excel表格,并注入高斯噪声以扩充样本数量,最后将结果导出为新的Excel文件。您可以根据实际情况修改代码中的参数和文件名。

Python代码:使用高斯噪声扩充多组多维数据样本

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

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