Je travaille sur un problème de classification où j'ai besoin d'ajouter différents niveaux de bruit gaussien à mon ensemble de données et de faire des expériences de classification jusqu'à ce que mes algorithmes ML ne puissent pas classer l'ensemble de données. malheureusement, je ne sais pas comment faire ça. des conseils ou des conseils de codage sur la façon d'ajouter le bruit gaussien?
Vous pouvez suivre ces étapes:
clean_signal = pd.read_csv("data_file_name")
signal = clean_signal + noise
Voici un exemple reproductible:
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
"""
Code général sans les commentaires et les déclarations imprimées:
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
Pour sauvegarder le fichier en CSV
signal.to_csv("output_filename.csv", index=False)