web-dev-qa-db-ja.com

ガウスノイズを浮動小数点のデータセットに追加して保存する(Python)

私はデータセットにさまざまなレベルのガウスノイズを追加し、MLアルゴリズムがデータセットを分類できなくなるまで分類実験を行う必要がある分類問題に取り組んでいます。残念ながら、どうすればいいのかわかりません。ガウスノイズを追加する方法に関するアドバイスやコーディングのヒントはありますか?

7
sara

次の手順に従ってください。

  1. データをpandas dataframe 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)
14