AIうぉ--!(ai-wo-katsuyo-shitai !)

AIを上手く使ってみせたい!!自分なりに。

Multivariate Time Series Prediction with LSTM の例(GitHub)を動かしてみる。

Multivariate Time Series Prediction with LSTM の例(GitHub)を動かしてみる。

ここでは、

github.com

を動かしてみる。

↓ YouTuBEの解説あり。

youtu.be

自分の環境

  • Windows10
  • Python3.7.2
  • anacondaとかは使わずpip
  • GPUなし

動かす手順を示す(1回動いているので、リピート)

手順1

以下。

  • zip解凍
  • ipynbをpyへ

手順2

pyファイルを実行。

    get_ipython().magic('matplotlib inline')
NameError: name 'get_ipython' is not defined

定番のエラー。get_ipython()コメントアウトし、再度実行。

AttributeError: 'DataFrame' object has no attribute 'as_matrix'

as_matrix()をvaluesに書き換え。

NameError: name 'get_ipython' is not defined

別の記事

https://keep-loving-python.hatenablog.com/entry/2022/04/17/120802

に書きましたが、ここは、コメントアウトにすると 実行すべき行が抜けるので、 中味を展開。

es = EarlyStopping(monitor='val_loss', min_delta=1e-10, patience=10, verbose=1)
rlr = ReduceLROnPlateau(monitor='val_loss', factor=0.5, patience=10, verbose=1)
mcp = ModelCheckpoint(filepath='weights.h5', monitor='val_loss', verbose=1, save_best_only=True, save_weights_only=True)
tb = TensorBoard('logs')
history = model.fit(X_train, y_train, shuffle=True, epochs=30, callbacks=[es, rlr, mcp, tb], validation_split=0.2, verbose=1, batch_size=256)

以下のとっても変なグラフになる。

f:id:fanta_orange_grape:20220417123548p:plain

なぜか、コードの末尾にある、dataset_trainの3行を、下記の位置に移動。

# Parse training set timestamp for better visualization
dataset_train = pd.DataFrame(dataset_train, columns=cols)
dataset_train.index = datelist_train
dataset_train.index = pd.to_datetime(dataset_train.index)

plt.plot(PREDICTIONS_FUTURE.index, PREDICTIONS_FUTURE['Open'], color='r', label='Predicted Stock Price')

完成!!! f:id:fanta_orange_grape:20220417123915p:plain

   

f:id:fanta_orange_grape:20220417125525p:plain     (いらすとや)

この動かしたときのモジュールのバージョン

Keras                             2.3.1
tensorflow                        1.15.0
matplotlib                        3.5.1

なんか、matplotlibのエラーにならないためには、バージョンを気にしないといけなかったような気がする。 Kerasとtensorflowのバージョンは、Youtube他で指定されていた気がする。
上記のバージョンは、少し、違うかも。でもおおよそ、近いはず。

コメント

不明点などあれば、コメント等に書いて下さい!