Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 向浮点数据集添加高斯噪声并保存(python)_Python 3.x_Machine Learning_Classification_Noise - Fatal编程技术网

Python 3.x 向浮点数据集添加高斯噪声并保存(python)

Python 3.x 向浮点数据集添加高斯噪声并保存(python),python-3.x,machine-learning,classification,noise,Python 3.x,Machine Learning,Classification,Noise,我正在研究分类问题,我需要在数据集中添加不同级别的高斯噪声,并进行分类实验,直到我的ML算法无法对数据集进行分类。 不幸的是,我不知道怎么做。有关于如何添加高斯噪声的建议或编码提示吗 您可以按照以下步骤操作: 将数据加载到熊猫数据框clean\u signal=pd.read\u csv(“数据文件名”) 使用numpy生成与数据集维数相同的高斯噪声 使用signal=clean\u signal+noise 下面是一个可复制的示例: import pandas as pd # create

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

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

  • 将数据加载到熊猫数据框
    clean\u signal=pd.read\u csv(“数据文件名”)
  • 使用numpy生成与数据集维数相同的高斯噪声
  • 使用
    signal=clean\u 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)
    

    非常感谢你。我还有一个问题。现在,如果我想增加噪声,我会增加方差?如果没有,怎么做?
    mu
    是平均值,
    sigma
    是标准偏差,因此使用这些参数来改变噪声