Recurrent Neural Network#

References#

What is it?#

Load data#

[1]:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

plt.style.use("fivethirtyeight")
[2]:
df = pd.read_csv("/opt/datasetsRepo/stock.csv")
df.head()
[2]:
Date Open High Low Close Volume
0 1/3/2012 325.25 332.83 324.97 663.59 7,380,500
1 1/4/2012 331.27 333.87 329.08 666.45 5,749,400
2 1/5/2012 329.83 330.75 326.89 657.21 6,590,300
3 1/6/2012 328.34 328.77 323.68 648.24 5,405,900
4 1/9/2012 322.04 322.29 309.46 620.76 11,688,800
[3]:
df = df[['Date', 'Open']]
[4]:
df.shape
[4]:
(1258, 2)
[5]:
df['Date'] = df['Date'].apply(pd.to_datetime)

How the data looks like#

[6]:
fig, ax = plt.subplots(1, 1, figsize=(15,5))

ax.plot(df['Date'], df['Open'], '.-k')

plt.show()
../_images/notebooks_rnn_10_0.png

Data Preparation#

[7]:
test_size = 0.1
test_len = int(df.shape[0] * test_size)
[8]:
train_df = df.iloc[:df.shape[0]-test_len]
test_df = df.iloc[df.shape[0]-test_len:]
[9]:
fig, ax = plt.subplots(1, 1, figsize=(15,5))

ax.plot(train_df['Date'], train_df['Open'], '.-k', label='train_data')
ax.plot(test_df['Date'], test_df['Open'], '.-r', label='test_data')

plt.legend(loc='best')
plt.show()
../_images/notebooks_rnn_14_0.png

Simple RNN#

[ ]: