Created
February 25, 2019 13:24
-
-
Save jkotra/3d5f8c6f3ce3b8823a9eaace3696e0ec to your computer and use it in GitHub Desktop.
LSTM
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"import pandas as pd\n", | |
"import matplotlib.pyplot as plt\n", | |
"plt.style.use('fivethirtyeight')\n", | |
"\n", | |
"import numpy as np\n", | |
"import math\n", | |
"from sklearn.metrics import mean_squared_error" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"# Some functions to help out with\n", | |
"def plot_predictions(stock,test,predicted):\n", | |
" plt.plot(test, color='red',label='Real Stock Price')\n", | |
" plt.plot(predicted, color='blue',label='Predicted Stock Price')\n", | |
" plt.title(stock + ' Stock Price Prediction')\n", | |
" plt.xlabel('Time')\n", | |
" plt.ylabel(stock + ' Stock Price')\n", | |
" plt.legend()\n", | |
" plt.show()\n", | |
"\n", | |
"def return_rmse(test,predicted):\n", | |
" rmse = math.sqrt(mean_squared_error(test, predicted))\n", | |
" print(\"The root mean squared error is {}.\".format(rmse))" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 3, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"#load stock data\n", | |
"dataset = pd.read_csv(\"~/datasets/stocks/WMT.csv\",index_col='Date',parse_dates = ['Date'])" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 4, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"train_set = dataset[:'2017'].iloc[:,1:2].values\n", | |
"test_set = dataset['2018':].iloc[:,1:2].values" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 5, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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QKCBZVm7yp4oUShxhpf7zgRS8FM40bIsO/Aa8LAxJtb/R+KbMWakMeYOY0xH15KO4ThrKhRNxvcAzYwxXY0xDYwxkZZlbQdmAW8ZYwa46glMAtri3G4SnMUWk4G5xph+xpiWrh0Phnl5Ly8Aj7raDgxg2ONduym0A94CElx/V8S/gXBgljGmh2t8Q0rc/1ngPGPMB65dF1oZYy41xkxyfU4iIiK1hoIHIiIinr4DCnFODL8vOuh6WvwTzur6C0u0L9o6cE7ZjlzZCfNwZiYUaeHqp+Qfr+vrLcvKsSzrqI9xDsG5e8FML9dZwCfA7cYYf/9//z+cWQH/9NOmPGk4gxTf4cyCuBf4q2VZRUsIPscZKPgG55r/onvdhjMIMx1ngcWuwGDLsna43kMW0BvYhvM9bsUZYPCaxWFZ1qvAgziXYlxZzpgfwDm5/xnncochJQs6BsK1JCMJyMP5b7wZZxaEcZ3fhDNrJB5nVspmnEtRwoB0L12KiIjUWMb53xYiIiIipz5jTH+cE/mmFQ0WiIiI1GXKPBARERERERERvxQ8EBERERERERG/tGxBRERERERERPxS5oGIiIiIiIiI+BVyMm6anp6udAcRERERERGRGiguLs6UPabMAxERERERERHxS8EDEREREREREfFLwQORE2THjh0newgiNYa+DyLF9H0QKabvg0ixmvZ9UPBARERERERERPxS8EBERERERERE/Dopuy34YlkWWVlZOByOkz0UkXIFBQURExODMR6FSEVERERERE4pNSp4kJWVRXh4OGFhYSd7KCLlKigoICsri9jY2JM9FBERERERkeOqRi1bcDgcChxIrREWFqYsGRERERGR2io7k4iJjxI15k+EzXgLLOtkj6hGq1HBAxEREREREZETIXTZV4SsW05Q2hHCvv6YoB2bTvaQajQFD1yOHj1KUlISSUlJnHPOObRr1879uqCgIKA+Ro8eXe52Gu+88w4zZ86sjiFXyLJly1izZo3P83PmzOGVV14B4JlnnnG//65duzJ27Nhyn7CnpqZyySWX0KtXL1avXl2tY3/99dfp2rUrPXv25Oqrr2bfvn3ucx988AEXXnghF154ITNmzHAff+KJJ2jfvj2nn356qb727t3L4MGD6dWrFz179mThwoUAbNiwgbvvvrtaxy0iIiIiIjVX+Iy3Sr0Omz3lJI2kdqhRNQ9Opvr16/P9998D8PzzzxMTE8M999xTqo1lWViWRVCQ95jLm2++We59Ro4cWfXBVsLy5cupX78+Xbp08Xp+4sSJfPbZZ+7X99xzD6NHj8ZutzNw4EBWrVpFjx49fPa/ZMkSOnXqxIQJEwIek91uJzg4uNx2nTp1YtSoUURGRvKf//yHJ598knfeeYcjR47wyiuvsGzZMhwOB3379mXQoEHExcUxePBgRo4cycUXX1yqr5deeonrr7+eESNGsGnTJoYPH85PP/1Ex44d+e2330hOTqZZs2YBvwcRERERETk1mMLAHhrXVco8KMfu3bvp1q0bI0eOpHv37qSkpDBmzBj69u1L9+7defHFF91tBw0axIYNG7DZbJx++uk88cQT9OzZkwEDBnDo0CHA+VS/KMgwaNAgnnjiCS699FI6d+7sfmKfnZ3N8OHD6datG7fccgt9+/Zlw4YNHmN79NFH6datGz169ODxxx8HnBkAN998M3379uXSSy9lzZo17Nmzhw8++IBJkyaRlJTkkRmwbds2YmJiiI+P97hHQUEB+fn5xMXFAbBr1y6uvfZa+vTpw+WXX87OnTv56aefePrpp/niiy/cmRozZsygR48eXHzxxTz11FMA7s9l3Lhx9OjRg3Xr1rF+/XoGDx5Mnz59+POf/0xqaqrHGPr06UNkZCQAXbp0Yf/+/QAsWLCAAQMGEB8fT/369enduzdLliwBoGvXrjRu3NijL2MMGRkZAGRkZNCkSRP3uYEDB/L55597XCMiIiIiIqc+K4AHm3VZjc48iH9vf7X2l3Zb80pd9+uvv/LWW29xwQUXAM6U+ISEBGw2G0OGDGHo0KG0bdu21DUZGRn07NmTJ554gvHjx/Phhx/yj3/8w6Nvy7JYvHgxX3/9NS+99BKfffYZb7/9No0bN2bq1Kls3LiRPn36eFyXmprKggULWLVqFcYY0tLSAHjooYcYM2YMXbp0Ye/evdxwww2sXLmSW265hfr16zN69GiPvlavXk2nTp1KHZs0aRIfffQRf/zxB4MGDaJDhw4AjBkzhkmTJtGyZUtWrVrFAw88wKxZs3jwwQfZsmULL7zwAvv37+eZZ55h6dKl1KtXj6FDh/LNN9/Qv39/MjIy6NGjBy+88AL5+fkMGTKE6dOnk5iYyMyZM3n22Wd5/fXXff5bTJ06lQEDBgBw4MABmjcv/jdt1qwZycnJPq8FGD9+PNdeey2TJ08mJyeHOXPmuM9dcMEFTJ48WcsXRERERETqoiAFD/yp0cGDmqJly5buwAHAp59+ytSpU7HZbKSkpLB9+3aP4EFkZKR7ktupUydWrlzpte8hQ4a42/z+++8ArFq1ijFjxgBw3nnnefQNkJCQQFBQEPfeey+XXXYZgwYNAmDp0qWl6i6kpaWRm5vr9/2lpKTQoEGDUseKli0UFBRw8803M2fOHPr06cPatWsZPny4u53dbvfob+3atfTu3ZvExEQAhg0bxg8//ED//v0JCwtzv+ft27ezbds2hg4dCjh32/C3ZGDatGls2bKlVLZHRX3yySeMGDGCu+66i5UrV3LnnXfyww8/YIyhYcOGpKSkVLpvERERERGpxXwsT/cleP33hH05DUdiEwqG34tVL+E4DaxmUPAgAFFRUe6fd+3axVtvvcWiRYuIj49n1KhR5OXleVwTGhrq/jk4OBibzea176KtKf218SY0NJQlS5awZMkSZs+ezbvvvsusWbPcmQwV2fIyMjLS63soGl+/fv1YsWIFffr0ITEx0V0bojIiIiIwxgDOrIsOHTowb968cq9buHAhkyZN4quvvnK/t6ZNm7J27Vp3m+TkZNq3b++3n6lTp/Lll18CcPHFF5OZmUlaWhoJCQnk5eURERFR2bcmIiIiIiK1WUWCB9mZREx+GlOQT/CurRAdS/6t9x+/sdUAqnlQQZmZmcTExFCvXj1SUlJYtGhRtd+jW7duzJo1C4DNmzezfft2r+PIzMxk0KBBPP/88+6aCH379uWdd95xtys6HhMTQ1ZWltf7nXPOOezevdvrOcuy+PHHH2nZsiXx8fE0btyYuXPnAs5MgY0bN3pc07lzZ5YvX87Ro0ex2Wx89tln9OzZ06Nd27ZtSU5OZt26dYCzvsLWrVs92v3000+MHTvWvbyhSP/+/VmwYAFpaWkcPXqUZcuWcckll3h9H0VOO+00li1bBsDWrVtxOBwkJDgjhLt27So3+CAiIiIiIqemkF9WBdw29IcFmIL84tdLvjgeQ6pRanTmQWVrFBxP559/Pm3atKFLly60aNGCbt26Vfs9Ro0axZ133km3bt1o06YNbdq0oV69eqXaZGRkMHz4cPLz87Esi2effRaAl19+mfvvv59p06Zht9vp1asXL7/8MoMHD+bWW29l7ty5vPzyy6XGnZSUxJNPPlmq/6KaBzabjY4dO3LbbbcB8O6773L//ffzwgsvUFhYyHXXXcd5551X6trmzZvzf//3f1x55ZVYlsWgQYMYOHCgR2ZFeHg4U6ZMYdy4cWRkZOBwOPj73/9Ou3btSrV75JFHyMnJcS+XOOOMM5g2bRoNGjTg/vvvdwcMxo8f7y7sOH78eGbPnk1mZibt27fntttu44EHHuC5557jvvvuY+LEiQQFBZXaIWP58uUMHjy4Yv9YIiIiIiJS+2RleD1sDu7Halz+PNRkpnk/YbMRunQu5OZQeOlVEB1blVHWKMayrBN+0/T0dK83TU9Pd0/+6jKbzYbNZiMiIoJdu3ZxzTXXsH79ekJCjl+sZ+zYsQwdOpRevXodt3vUZLm5uQwZMoRvv/02oO0ji1Tkd3bHjh20bt26skMUOaXo+yBSTN8HkWL6PsiJErRrK1FP3eVxvLDX5eTf8VC514dNm0TY/M9KHcuaspTwKRMIXewsym4/qx25j02u9BhP5vchLi7OlD1WozMP6qqsrCyGDh2KzWbDsixee+214xo4AGfw4Oeffz6u96jJ9u3bx5NPPlmhwIGIiIiIiNRS9kKvh02294wEj3Z53ovSFwUOAIJ3bcUcOoDVsGnFx1cDKXhQA8XHx7vX5Z8oTZo0ce/YUBe1bt1aUW4RERERkTrCFHoPHgS6XWPwhtWB3ScvlxOf6398qGCiiIiIiIiI1Cm+ChxaJrApclDakYDaWRXc/rEmK/edGGPeNcakGmM2lThW3xizwBizw/V3guu4McZMNMbsNMZsMMZceDwHLyIiIiIiIlJRIWu8Z3qbquQJ2G2ex4xH6YBaK5AwyPtA2Xz2ccAiy7JaA4tcrwEuB1q7/owCKl8dQkRERERERORE8rWcASA/F3KywNemA4UFHoeMw1FNAzv5yq15YFnWd8aYM8scHgr0df08BVgKPOQ6/oHl3MJhlTEm3hjT1LKsA9U1YBEREREREZGKyix0cNd3x1iwP49sX428BAAAgtcsI+Lt58Buo+BPd3i/tsDLtadQ8KCyCzAalwgIpACNXT83B/4o0W6f61iNd/ToUZKSkkhKSuKcc86hXbt27tcF3n4JfJg6dSoHDx6s8nh+/vlnFi5c6PP8Tz/9xH333QfA9OnT6dGjBz169GDgwIFs3rzZ3W7+/Pl07tyZCy64gIkTJ7qPT548mU6dOhEfH09aWvEepWlpaVx33XX07NmT7t27M3369Cq/l7JsNhunn366x/Hdu3eTlJRU7ferjPbt25OWlkZeXh6XX345drv9ZA9JRERERESqYNaeXL78PY98m++lCVZCotfj4R+9gSnIx9jthM/8j9c2Ef951kuHp07woMq7LViWZRljKr0wZMeOHe6fIyIiCA8Pr+qQKiUqKso9Wf/Xv/5FdHQ0o0ePBsDhcJCXlxdQP1OnTqVdu3bExcVVaTzr1q1j27ZtPifTL730Eg899BB5eXk0b96cWbNmERcXx/z587nvvvuYO3cuhYWFjB07ls8++4xGjRoxcOBA+vXrx1lnnUXnzp3p378/V111Ffn5+e7398Ybb9CuXTs++OADDh06RFJSEkOGDKnWrSJtNudaoLKfaX5+PpZlBfxZH0+WZZGfn09ERATdu3fnk08+4eqrr/Zol5GRQWpqasD9lvx9F6nr9H0QKabvg0gxfR/keLl3RZT7ZzuGYC/1DQ4HhZHi5XfwgqPl/zd/yKY1Hsf2/rGPvMCfRXs4kd+H8nafq+yM8GDRcgRjTFOg6JPcD7Qo0e4017GABpienk5EREQlh1R9QkJCCA0NdY/lo48+4r///S8FBQV069aNf/3rXzgcDkaPHs2mTZuwLIsRI0bQqFEjNm/ezJ133klERASLFy8mLCzM3e8bb7zBBx98QHBwMOeeey5vv/02WVlZPPDAA2zfvp3CwkLGjx9P3759mTBhArm5uaxcuZIHHniAoUOHuvtJT09n9+7ddOrUCYDevXu7z/Xo0YPx48cTERHB+vXradu2rfszvvbaa1m0aBEdOnSgS5cuABhjCA8Pd7/X0NBQ97+DzWYjMTGR6OhoTJlCH9dffz0pKSnk5+czevRobrnlFmw2G61ateKvf/0rCxYsICoqio8++oiGDRuyZ88e7rjjDnJzc7n88ssBPP6tw8PDsdvt7s+1ffv2TJ48mcjISNavX88jjzxCdnY2DRs25M033yQ9PZ1Ro0axZMkSALZv385dd93F4sWLWbx4MY899hgOh4POnTvz8ssvExYWRvv27Rk+fDhff/01drudDz74gLPPPpvDhw9zxx13kJKSQvfu3d3jiYiIYOjQobzwwgvccMMNHr8r9erVo0WLFh7HvdmxY4e2gxRx0fdBpJi+DyLF9H2Q4+p719TUGHpc+BQLfnmWevbSDy4T4+OJrcbfwRZJl1T62pr2fahs8OALYATwguvvOSWO322M+RjoBqRXpd5BzIi+lb3Uq6wpSyt8zZYtW/jyyy+ZP38+ISEhjBkzhs8++4yWLVty9OhRfvjhB8CZ7h8fH8/bb7/NSy+9RMeOHT36mjhxIhs3biQsLMy9VOCll16if//+TJ48mbS0NPr168eKFSt48MEH2bJlCy+88IJHP+vXr6d9+/Zexzt16lQGDBgAwIEDB2jevHjVSLNmzdi0aZPX64rceeedXH/99bRt25bMzEymTJniETgAeOutt0hISCAnJ4dLLrmEq666ipiYGDIyMujZsydPPPEE48eP58MPP+Qf//gHDz74IHfeeSfDhg1j8mTfdTS3bdvGpEmT6NKlC3/729947733uP322xk3bhzTp08nMTGRmTNn8uyzz/L6668TERHBli1baN++PdOmTeOmm24iJyeHu+++m6+++oqWLVsycuRI3n//fUaNGgVAo0aNWL58OW+99RZvvPEGEyZM4Pnnn6dXr17885//5KuvvuL99993j+ncc89l7dq1fj83ERERERGp2aJCDDmuJQvr6rXivC4v8b/tb9P/WIk5krcdEyrJfuY51dZXTRDIVo3TgZVAG2PMPmPM7TiDBgOMMTuA/q7XAF8Du4GdwDvA6OMy6hNo6dKl/PTTT/Tt25ekpCRWrFjBnj17aNWqFTt27ODBBx9k0aJFAS1TaNu2LaNGjWLmzJmEhoYCsHjxYl555RWSkpK48soryc/PZ9++fX77SUlJoUGDBl7HOmPGDB5//PHKvVlgwYIFXHTRRWzdupWlS5dy//33k5WV5dHujTfeoGfPngwYMIDk5GT27NkDQGRkpDt40alTJ37//XcAfvzxR6699loAr0/wi5xxxhnurIjrr7+eVatWsX37drZt28bQoUNJSkritddeY/9+Z9Rw+PDhTJs2DZvNxuzZs/nTn/7Er7/+yllnnUXLli3d9ysK8gAMGTLEY3w//PAD1113HQBXXHEFsbGx7vYhISEYY8jNza3oxykiIiIiIjVEZHDph6L7IxKZn1DmoW911joLO/lZ9dUpkN0WbvRxqp+Xthbw96oOqiaxLIubbrqJRx55xOPcihUrWLhwIe+88w5ffPEFr7/+ut++Pv/8c77//nvm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\n", | |
"text/plain": [ | |
"<Figure size 1152x288 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"dataset[\"High\"][:'2017'].plot(figsize=(16,4),legend=True)\n", | |
"dataset[\"High\"]['2018':].plot(figsize=(16,4),legend=True)\n", | |
"plt.legend(['Training set (Before 2018)','Test set (2018 and beyond)'])\n", | |
"plt.title('WALMART stock price')\n", | |
"\n", | |
"plt.show()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 6, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"#scaling our data(between 0 and 1) to make it easy to use.\n", | |
"\n", | |
"from sklearn.preprocessing import MinMaxScaler\n", | |
"\n", | |
"scaler = MinMaxScaler(feature_range=(0,1))\n", | |
"training_set_scaled = scaler.fit_transform(train_set)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 7, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"count: 11438 shape: (11438, 1)\n" | |
] | |
} | |
], | |
"source": [ | |
"print(\"count:\",len(training_set_scaled),\"shape:\", training_set_scaled.shape)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 8, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"# Since LSTMs store long term memory state, we create a data structure with 60 timesteps and 1 output\n", | |
"# So for each element of training set, we have 60 previous training set elements \n", | |
"\n", | |
"timesteps = 60\n", | |
"\n", | |
"X_train = []\n", | |
"y_train = []\n", | |
"\n", | |
"for i in range(timesteps,len(training_set_scaled)):\n", | |
" X_train.append(training_set_scaled[i-timesteps:i,0])\n", | |
" y_train.append(training_set_scaled[i,0])\n", | |
"X_train, y_train = np.array(X_train), np.array(y_train)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 9, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"count: 11378 shape: (11378, 60)\n" | |
] | |
} | |
], | |
"source": [ | |
"print(\"count:\",len(X_train),\"shape:\", X_train.shape)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 10, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"#reshape it into a 3d array.\n", | |
"X_train = np.reshape(X_train, (X_train.shape[0],X_train.shape[1],1))\n", | |
"\n", | |
"#the input to our model is going to be..\n", | |
"#1 since our data has only 1 var. i.r High.\n", | |
"\n", | |
"shape = (timesteps,1)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 11, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"Using TensorFlow backend.\n" | |
] | |
} | |
], | |
"source": [ | |
"from keras.models import Sequential\n", | |
"from keras.layers import Dense, LSTM, Dropout" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 12, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Epoch 1/50\n", | |
"11378/11378 [==============================] - 85s 7ms/step - loss: 0.0058\n", | |
"Epoch 2/50\n", | |
"11378/11378 [==============================] - 75s 7ms/step - loss: 0.0024\n", | |
"Epoch 3/50\n", | |
"11378/11378 [==============================] - 73s 6ms/step - loss: 0.0021\n", | |
"Epoch 4/50\n", | |
"11378/11378 [==============================] - 73s 6ms/step - loss: 0.0018\n", | |
"Epoch 5/50\n", | |
"11378/11378 [==============================] - 72s 6ms/step - loss: 0.0016\n", | |
"Epoch 6/50\n", | |
"11378/11378 [==============================] - 74s 7ms/step - loss: 0.0015\n", | |
"Epoch 7/50\n", | |
"11378/11378 [==============================] - 74s 7ms/step - loss: 0.0014\n", | |
"Epoch 8/50\n", | |
"11378/11378 [==============================] - 76s 7ms/step - loss: 0.0013\n", | |
"Epoch 9/50\n", | |
"11378/11378 [==============================] - 74s 6ms/step - loss: 0.0013\n", | |
"Epoch 10/50\n", | |
"11378/11378 [==============================] - 72s 6ms/step - loss: 0.0012\n", | |
"Epoch 11/50\n", | |
"11378/11378 [==============================] - 73s 6ms/step - loss: 0.0012\n", | |
"Epoch 12/50\n", | |
"11378/11378 [==============================] - 73s 6ms/step - loss: 0.0011\n", | |
"Epoch 13/50\n", | |
"11378/11378 [==============================] - 73s 6ms/step - loss: 0.0011\n", | |
"Epoch 14/50\n", | |
"11378/11378 [==============================] - 74s 6ms/step - loss: 0.0011\n", | |
"Epoch 15/50\n", | |
"11378/11378 [==============================] - 73s 6ms/step - loss: 0.0010\n", | |
"Epoch 16/50\n", | |
"11378/11378 [==============================] - 71s 6ms/step - loss: 9.8631e-04\n", | |
"Epoch 17/50\n", | |
"11378/11378 [==============================] - 71s 6ms/step - loss: 9.9956e-04\n", | |
"Epoch 18/50\n", | |
"11378/11378 [==============================] - 71s 6ms/step - loss: 9.9100e-04\n", | |
"Epoch 19/50\n", | |
"11378/11378 [==============================] - 71s 6ms/step - loss: 9.4891e-04\n", | |
"Epoch 20/50\n", | |
"11378/11378 [==============================] - 71s 6ms/step - loss: 9.1880e-04\n", | |
"Epoch 21/50\n", | |
"11378/11378 [==============================] - 71s 6ms/step - loss: 9.3939e-04\n", | |
"Epoch 22/50\n", | |
"11378/11378 [==============================] - 71s 6ms/step - loss: 8.9637e-04\n", | |
"Epoch 23/50\n", | |
"11378/11378 [==============================] - 71s 6ms/step - loss: 8.9486e-04\n", | |
"Epoch 24/50\n", | |
"11378/11378 [==============================] - 71s 6ms/step - loss: 8.6556e-04\n", | |
"Epoch 25/50\n", | |
"11378/11378 [==============================] - 71s 6ms/step - loss: 8.4921e-04\n", | |
"Epoch 26/50\n", | |
"11378/11378 [==============================] - 71s 6ms/step - loss: 8.6887e-04\n", | |
"Epoch 27/50\n", | |
"11378/11378 [==============================] - 71s 6ms/step - loss: 8.0661e-04: 2s - l\n", | |
"Epoch 28/50\n", | |
"11378/11378 [==============================] - 71s 6ms/step - loss: 7.9814e-04\n", | |
"Epoch 29/50\n", | |
"11378/11378 [==============================] - 71s 6ms/step - loss: 8.2421e-04\n", | |
"Epoch 30/50\n", | |
"11378/11378 [==============================] - 71s 6ms/step - loss: 7.9973e-04\n", | |
"Epoch 31/50\n", | |
"11378/11378 [==============================] - 71s 6ms/step - loss: 7.5832e-04\n", | |
"Epoch 32/50\n", | |
"11378/11378 [==============================] - 72s 6ms/step - loss: 7.6783e-04\n", | |
"Epoch 33/50\n", | |
"11378/11378 [==============================] - 72s 6ms/step - loss: 7.6502e-04\n", | |
"Epoch 34/50\n", | |
"11378/11378 [==============================] - 72s 6ms/step - loss: 7.4973e-04\n", | |
"Epoch 35/50\n", | |
"11378/11378 [==============================] - 72s 6ms/step - loss: 7.8377e-04\n", | |
"Epoch 36/50\n", | |
"11378/11378 [==============================] - 72s 6ms/step - loss: 7.3890e-04\n", | |
"Epoch 37/50\n", | |
"11378/11378 [==============================] - 72s 6ms/step - loss: 7.5401e-04\n", | |
"Epoch 38/50\n", | |
"11378/11378 [==============================] - 72s 6ms/step - loss: 7.3097e-04\n", | |
"Epoch 39/50\n", | |
"11378/11378 [==============================] - 72s 6ms/step - loss: 7.3641e-04\n", | |
"Epoch 40/50\n", | |
"11378/11378 [==============================] - 72s 6ms/step - loss: 6.8287e-04\n", | |
"Epoch 41/50\n", | |
"11378/11378 [==============================] - 72s 6ms/step - loss: 6.9686e-04\n", | |
"Epoch 42/50\n", | |
"11378/11378 [==============================] - 72s 6ms/step - loss: 7.1739e-04\n", | |
"Epoch 43/50\n", | |
"11378/11378 [==============================] - 72s 6ms/step - loss: 6.9349e-04\n", | |
"Epoch 44/50\n", | |
"11378/11378 [==============================] - 72s 6ms/step - loss: 6.8233e-04\n", | |
"Epoch 45/50\n", | |
"11378/11378 [==============================] - 72s 6ms/step - loss: 6.7565e-04\n", | |
"Epoch 46/50\n", | |
"11378/11378 [==============================] - 72s 6ms/step - loss: 6.6758e-04\n", | |
"Epoch 47/50\n", | |
"11378/11378 [==============================] - 72s 6ms/step - loss: 6.5083e-04\n", | |
"Epoch 48/50\n", | |
"11378/11378 [==============================] - 72s 6ms/step - loss: 6.4000e-04\n", | |
"Epoch 49/50\n", | |
"11378/11378 [==============================] - 72s 6ms/step - loss: 6.6273e-04\n", | |
"Epoch 50/50\n", | |
"11378/11378 [==============================] - 72s 6ms/step - loss: 6.4813e-04\n" | |
] | |
}, | |
{ | |
"data": { | |
"text/plain": [ | |
"<keras.callbacks.History at 0x7fce507eb240>" | |
] | |
}, | |
"execution_count": 12, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"# The LSTM architecture\n", | |
"regressor = Sequential()\n", | |
"# First LSTM layer with Dropout regularisation\n", | |
"regressor.add(LSTM(units=50, return_sequences=True, input_shape=shape))\n", | |
"regressor.add(Dropout(0.2))\n", | |
"# Second LSTM layer\n", | |
"regressor.add(LSTM(units=50, return_sequences=True))\n", | |
"regressor.add(Dropout(0.2))\n", | |
"# Third LSTM layer\n", | |
"regressor.add(LSTM(units=50, return_sequences=True))\n", | |
"regressor.add(Dropout(0.2))\n", | |
"# Fourth LSTM layer\n", | |
"regressor.add(LSTM(units=50))\n", | |
"regressor.add(Dropout(0.2))\n", | |
"# The output layer\n", | |
"regressor.add(Dense(units=1))\n", | |
"\n", | |
"# Compiling the RNN\n", | |
"regressor.compile(optimizer='rmsprop',loss='mean_squared_error')\n", | |
"# Fitting to the training set\n", | |
"regressor.fit(X_train,y_train,epochs=50,batch_size=32)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 13, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"#concat train + test\n", | |
"dataset_total = pd.concat((dataset[\"High\"][:'2017'],dataset[\"High\"]['2018':]),axis=0)\n", | |
"inputs = dataset_total[len(dataset_total)-len(test_set) - timesteps:].values\n", | |
"inputs = inputs.reshape(-1,1)\n", | |
"inputs = scaler.transform(inputs)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 14, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"# Preparing X_test and predicting the prices\n", | |
"X_test = []\n", | |
"for i in range(timesteps,len(inputs)):\n", | |
" X_test.append(inputs[i-timesteps:i,0])\n", | |
" \n", | |
"X_test = np.array(X_test)\n", | |
"\n", | |
"#making it 3d\n", | |
"X_test = np.reshape(X_test, (X_test.shape[0],X_test.shape[1],1))\n", | |
"\n", | |
"predicted_stock_price = regressor.predict(X_test)\n", | |
"predicted_stock_price = scaler.inverse_transform(predicted_stock_price)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 15, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<Figure size 432x288 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"plot_predictions(\"Walmart\",test_set,predicted_stock_price)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 16, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"The root mean squared error is 3.471608255248864.\n" | |
] | |
} | |
], | |
"source": [ | |
"return_rmse(test_set,predicted_stock_price)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": {}, | |
"outputs": [], | |
"source": [] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Python 3", | |
"language": "python", | |
"name": "python3" | |
}, | |
"language_info": { | |
"codemirror_mode": { | |
"name": "ipython", | |
"version": 3 | |
}, | |
"file_extension": ".py", | |
"mimetype": "text/x-python", | |
"name": "python", | |
"nbconvert_exporter": "python", | |
"pygments_lexer": "ipython3", | |
"version": "3.6.7" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 2 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment