将高斯噪声添加到浮点数据集中并保存(Python) [英] Adding gaussian noise to a dataset of floating points and save it (python)
本文介绍了将高斯噪声添加到浮点数据集中并保存(Python)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在研究分类问题,我需要在数据集中添加不同级别的高斯噪声,并进行分类实验,直到我的ML算法无法对数据集进行分类.不幸的是,我不知道该怎么做.关于如何添加高斯噪声的任何建议或编码技巧?
I'm working on classification problem where i need to add different levels of gaussian noise to my dataset and do classification experiments until my ML algorithms can't classify the dataset. unfortunately i have no idea how to do that. any advise or coding tips on how to add the gaussian noise?
推荐答案
您可以按照以下步骤操作:
You can follow these steps:
- 将数据加载到熊猫数据框中
clean_signal = pd.read_csv("data_file_name")
- 使用numpy生成尺寸与数据集相同的高斯噪声.
- 使用
signal = clean_signal + noise
将高斯噪声添加到干净信号中
- Load the data into a pandas dataframe
clean_signal = pd.read_csv("data_file_name")
- Use numpy to generate Gaussian noise with the same dimension as the dataset.
- Add gaussian noise to the clean signal with
signal = clean_signal + noise
这是一个可复制的示例:
Here's a reproducible example:
import pandas as pd
# create a sample dataset with dimension (2,2)
# in your case you need to replace this with
# clean_signal = pd.read_csv("your_data.csv")
clean_signal = pd.DataFrame([[1,2],[3,4]], columns=list('AB'), dtype=float)
print(clean_signal)
"""
print output:
A B
0 1.0 2.0
1 3.0 4.0
"""
import numpy as np
mu, sigma = 0, 0.1
# creating a noise with the same dimension as the dataset (2,2)
noise = np.random.normal(mu, sigma, [2,2])
print(noise)
"""
print output:
array([[-0.11114313, 0.25927152],
[ 0.06701506, -0.09364186]])
"""
signal = clean_signal + noise
print(signal)
"""
print output:
A B
0 0.888857 2.259272
1 3.067015 3.906358
"""
没有注释和打印语句的整体代码:
Overall code without the comments and print statements:
import pandas as pd
# clean_signal = pd.read_csv("your_data.csv")
clean_signal = pd.DataFrame([[1,2],[3,4]], columns=list('AB'), dtype=float)
import numpy as np
mu, sigma = 0, 0.1
noise = np.random.normal(mu, sigma, [2,2])
signal = clean_signal + noise
要将文件保存回csv
To save the file back to csv
signal.to_csv("output_filename.csv", index=False)
这篇关于将高斯噪声添加到浮点数据集中并保存(Python)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文