Win11 WSL2 Ubuntu Python RNN
WSL2 Python RNN 検証デ-タセット作成
ここまでで、訓練デ-タセットが作成できました。
引き続き、検証デ-タセットを作成します。
val_dataset = keras.utils.timeseries_dataset_from_array( )
とし、括弧内に引数を設定すれば完了です。
raw_data の最後から100番目から、最後までのデータを使用します。
検証デ-タの生データを raw_data_100 とすると
raw_data0 = Close.copy()
raw_data_100 = raw_data0[-100:]
それでは、検証デ-タセットを作成します。
- 第1引数元デ-タ raw_data_100
第1引数は元デ-タです。
Close の最後から100番目から最後までのデータを使用します。
raw_data_100 = raw_data0[-100:]
この値(100個)を使って、平均(mean_100)及び標準偏差(std_100)を求めます。
mean_100 = np.mean(raw_data_100)
print("Mean_100", mean_100)
raw_data_100 -= mean_100
std_100 = np.std(raw_data_100)
print("Std_100 ",std_100)
各値を標準偏差値に変換
raw_data_100 /= std_100
print("検証データ各標準偏差値")
print(raw_data_100)
この raw_data_100 を第1引数元デ-タにします。
raw_data_100 の最後は targets 値の最後になります。 - 第 2~4 引数目的値 targets 他
第2引数は目的値 targets です。
目的値は、
シ-ケンス(20個のデ-タまとまり)の次にあります。
delay = sampling_rate × sequence_length
よって、
targets=raw_data_100[delay:],
sampling_rate = sampling_rate,
sequence_length = sequence_length,
とします。 - 第5引数 batch_size
デフォルトと同じく32とします。
batch_size = batch_size, - 第6引数 start_index
第6引数は start_index です。
スタ-ト点は raw_data_100 の最初からですので特に指定せず省略します。
検証デ-タセット部分をまとめると次のようになります。
val_dataset = keras.utils.timeseries_dataset_from_array( raw_data_100, targets = raw_data_100[delay:], sampling_rate=sampling_rate, sequence_length=sequence_length, batch_size = batch_size, )
テストデ-タセット作成
最後に、テストデ-タセットを作成します。
test_dataset = keras.utils.timeseries_dataset_from_array( )
とし、括弧内に引数を設定すれば完了です。
- 第1引数元デ-タ raw_data_100
第1引数は元デ-タです。
ラスト100個のデ-タを使います。
raw_data_100,
- 第 2~4 引数目的値 targets 他
第2引数は目的値 targets です。
目的値は、テストデ-タにはありません。
targets=None,
とします。
sampling_rate=sampling_rate,
sequence_length=sequence_length,
は残します。 - 第5引数 batch_size
デフォルトと同じく32とします。
batch_size = batch_size, - 第6引数 start_index
第6引数は start_index です。
スタ-ト点は raw_data_100 の最初からですので特に指定せず省略します。
テストデ-タセット部分をまとめると、次のようになります。
test_dataset = keras.utils.timeseries_dataset_from_array( raw_data_100, targets = None, sampling_rate = sampling_rate, sequence_length = sequence_length, batch_size=batch_size, )
WSL2 Python RNN 3種のデ-タセット確認
訓練・検証・テストのデ-タセットの内容を表示していきます。
出来上がった3種の timeseries_dataset の内容を表示するファイル作成方法は
各デ-タセットの内容表示
に詳細説明がありますのでこれを参照してください。
以下にそのファイル内容を表示します。
# 訓練デ-タセット表示 itr = 0 for samples, targets in train_dataset: samples_n = samples.numpy() targets_n = targets.numpy() if itr == 0: print("Start in-train:", samples_n[0]) print("Start tar-train:", targets_n[0]) itr = itr + 1 print("End in-train:", samples_n[-1]) print("End tar-train:", targets_n[-1]) # 検証デ-タセット表示 itv = 0 for samples_v, targets_v in val_dataset: samples_vn = samples_v.numpy() targets_vn = targets_v.numpy() if itv == 0: print("Start in-val:", samples_vn[0]) print("Start tar-val:", targets_vn[0]) itv = itv + 1 print("End in-val:", samples_vn[-1]) print("End tar-val:", targets_vn[-1]) # テストデ-タセット表示 i = 0 for inputs_t in test_dataset: inputs_n = inputs_t.numpy() if i == 0: print("Start test:", inputs_n[0]) i = i + 1 print("End test:", inputs_n[-1])
ここまでで、訓練・検証・テストのデ-タセットの作成・確認ができました。
引き続き、基本的な機械学習モデルを適用して RNN を実行していきます。