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()

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()

Simple RNN#
[ ]: