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. 第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. 第 2~4 引数目的値 targets 他

    第2引数は目的値 targets です。
    目的値は、
    シ-ケンス(20個のデ-タまとまり)の次にあります。
    delay = sampling_rate × sequence_length
    よって、
    targets=raw_data_100[delay:],
    sampling_rate = sampling_rate,
    sequence_length = sequence_length,
    とします。

  3. 第5引数 batch_size 

    デフォルトと同じく32とします。
    batch_size = batch_size,

  4. 第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. 第1引数元デ-タ raw_data_100 

    第1引数は元デ-タです。
    ラスト100個のデ-タを使います。
    raw_data_100,

  2. 第 2~4 引数目的値 targets 他

    第2引数は目的値 targets です。
    目的値は、テストデ-タにはありません。
    targets=None,
    とします。
    sampling_rate=sampling_rate,
    sequence_length=sequence_length,
    は残します。

  3. 第5引数 batch_size 

    デフォルトと同じく32とします。
    batch_size = batch_size,

  4. 第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 を実行していきます。


  • WSL2 Python RNN Keras モデルの構築 に進む
  • Win11 WSL2 Ubuntu Python RNN 概要 に戻る
  • 70VPS に戻る