python-3.x - 将高斯噪声添加到 float 据集并保存(python)

标签 python-3.x machine-learning classification noise

我正在研究分类问题,我需要向数据集添加不同级别的高斯噪声并进行分类实验,直到我的 ML 算法无法对数据集进行分类。 不幸的是我不知道该怎么做。关于如何添加高斯噪声有什么建议或编码技巧吗?

最佳答案

您可以按照以下步骤操作:

  1. 将数据加载到 pandas 数据框中 clean_signal = pd.read_csv("data_file_name")
  2. 使用numpy生成与数据集相同维度的高斯噪声。
  3. 通过 signal = clean_signal + Noise 将高斯噪声添加到干净信号中
<小时/>

这是一个可重现的示例:

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
""" 
<小时/>

没有注释和打印语句的整体代码:

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

signal.to_csv("output_filename.csv", index=False)

关于python-3.x - 将高斯噪声添加到 float 据集并保存(python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46093073/

相关文章:

python - 了解 Python 3 中的 XML 和 XSD 解析

machine-learning - 我可以获取计算出的张量来连接到它们在我的 TensorBoard 图中填充的占位符吗?

machine-learning - 朴素贝叶斯和神经网络的相似点和选择

machine-learning - 使用哪个指标来评估具有不平衡数据的分类器?

c++ - OpenCV 2.3.0 级联分类器

python-3.x - 在 python 中排列成列表

python - 如何用python将字符串拆分为2?

python - 如何打开函数参数提供的文件(函数内部)

python - 使用 sklearn 中的拟合进行协方差估计时出错

python - 使用 Python API 进行逻辑回归多类分类