はじめに
株式会社クリエイスの曽宮です。
前回は、ざっくり環境構築と試しに株価を取得しました。
Anaconda環境でPyTorch 〜株価予想〜 #01 環境構築編
Anaconda環境でPyTorch 〜株価予想〜 #02 基礎知識・学習編
Anaconda環境でPyTorch 〜株価予想〜 #03 予測編(今回)
Anaconda環境でPyTorch 〜株価予想〜 #04 予測(リベンジ)編
Anaconda環境でPyTorch 〜株価予想〜 #05 表示編
前回は学習はさせましたが、予測まではできていません。
今回は学習結果を保存し、そのデータを使って予測するところまでやりますやりたかったです。
学習結果の保存
前回の続きでagent.pyに学習データを保存する処理を追加します。
import torch # 前回からの追加行
import torch.nn as nn
import torch.optim as optim
from network import Network
from get_data import Get_data
data_code = "WIKI/AAPL" # Quandl data code
n_prev = 30 # how much data to use to predict
hidden_size = 300 # how big hidden layer size
cell_size = 100 # how big cell layer size
learning_epochs = 5 # learning epochs
if __name__ == "__main__":
model = Network(n_prev, hidden_size, cell_size)
data_from = Get_data(n_prev, data_code)
loss_function = nn.MSELoss()
optimizer = optim.Adam(model.parameters(), lr=0.1)
raw_data = data_from.get_raw_data()
for learn in range(learning_epochs):
for day in range(n_prev, len(raw_data) - 1):
material, target = data_from.get_data(day)
predict = model(material)
loss = loss_function(predict, target)
loss.backward()
optimizer.step()
torch.save(model.state_dict(), 'model.pth') # 前回からの追加行
のように最終行にtorch.save(model.state_dict(), 'model.pth')
と追加するとmodel.pth
というファイルで学習結果が保存されます。
(このままだと、ローカルで実行するには時間がかかるので、lerning_epochs= 1
にして検証しています)
学習結果を使い予測結果を得る
学習結果が保存できた(っぽい)ので、「よし!予測するぞ!」とイキりたってましたが、
そこまで出来ませんでした。
そこで、
機械学習、PyTorchに詳しい方々の知見をお借りしたいと思っております。
この学習結果を使って翌日の株価予測をする方法を__教えていただきたいです__。
よろしくお願いします。
m(_ _)m
次回
今回解決できなかった予測結果の出力をします。
別チーム
別チームでもPyTorchの記事を書いています。進んでるぅ〜
Docker環境でPyTorch 〜画像解析〜 #03 転移学習編
Creaithメンバー
参考