├── README.md └── Stock_price_predection.ipynb /README.md: -------------------------------------------------------------------------------- 1 | # 📈 Google Stock Price Prediction by using LSTM 2 | 3 | This project uses **Long Short-Term Memory (LSTM)**, a type of Recurrent Neural Network (RNN), to predict future stock prices of **Google (GOOGLE)** based on historical data. LSTM models are effective for time series forecasting due to their ability to learn long-term dependencies 4 | 5 | --- 6 | ## Author : Shashank Pandey 7 | 8 | 9 | ## 📊 Project Overview 10 | 11 | Stock price prediction is a challenging and fascinating task. In this project, we use an LSTM-based deep learning model to predict Google's stock prices using its historical data. 12 | 13 | The model is trained on past stock prices and aims to predict the stock's future closing prices. It provides a basic but powerful demonstration of how deep learning can be used in financial forecasting. 14 | 15 | --- 16 | 17 | ## 🧾 Dataset. 18 | 19 | - Source: Yahoo Finance (GOOGL stock). 20 | - Features Used: 21 | - `Open` 22 | - `High` 23 | - `Low` 24 | - `Close` 25 | - `Volume` 26 | - The dataset is split into training and testing sets. 27 | - Data is scaled using MinMaxScaler for better model performance. 28 | 29 | --- 30 | 31 | ## 🔧 Technologies Used 32 | 33 | - Python 34 | - NumPy 35 | - Pandas 36 | - Matplotlib / Seaborn 37 | - TensorFlow / Keras 38 | - Scikit-learn 39 | 40 | --- 41 | 42 | ## 🚀 How to Run the Project 43 | 44 | 1. **Clone the Repository** 45 | 46 | ```bash 47 | git clone https://github.com/webvokess/Google-Stock-Price-Prediction-using-LSTM.git 48 | cd Google-Stock-Price-Prediction-using-LSTM 49 | 50 | 2. **Install Required Libraries** 51 | ```bash 52 | pip install -r requirements.txt 53 | 54 | 3. **Run the Notebook** 55 | ```bash 56 | pip install numpy pandas matplotlib seaborn scikit-learn tensorflow 57 | 58 | ## 📈 Model Architecture 59 | 60 | The LSTM model consists of the following layers: 61 | 62 | - **Input Layer:** Preprocessed stock price sequences 63 | - **LSTM Layer 1:** Captures temporal patterns in the data 64 | - **LSTM Layer 2 (optional):** Stacked LSTM to deepen learning 65 | - **Dropout Layers:** Prevent overfitting 66 | - **Dense Layer:** Single output neuron to predict the next closing price 67 | 68 | **Model Configuration:** 69 | 70 | - **Loss Function:** Mean Squared Error (MSE) 71 | - **Optimizer:** Adam 72 | - **Activation Functions:** `tanh` in LSTM, linear in output 73 | 74 | --- 75 | 76 | ## 📌 Results 77 | 78 | - The model was able to **predict Google's stock closing prices** with a trend closely following actual values. 79 | - Visualization typically shows: 80 | - **Blue Line:** Real historical prices 81 | - **Red/Orange Line:** Predicted prices 82 | 83 | ### Key Takeaways: 84 | - LSTM effectively learns temporal dependencies in stock price data. 85 | - Predictions help in understanding potential future price movements. 86 | 87 | --- 88 | 89 | ## 📉 Limitations 90 | 91 | - The model **does not include** external factors such as news, market sentiment, or economic indicators. 92 | - It uses only **historical price data**, which limits real-world forecasting accuracy. 93 | - Real-time or frequent retraining is required for production use. 94 | - No technical indicators (e.g., RSI, MACD) are included — adding these could improve performance. 95 | 96 | -------------------------------------------------------------------------------- /Stock_price_predection.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "id": "028fc3b4", 6 | "metadata": {}, 7 | "source": [ 8 | "# Google stock Price prediction using LSTM" 9 | ] 10 | }, 11 | { 12 | "cell_type": "code", 13 | "execution_count": 56, 14 | "id": "5f057c9f", 15 | "metadata": {}, 16 | "outputs": [], 17 | "source": [ 18 | "import numpy as np\n", 19 | "import matplotlib.pyplot as plt\n", 20 | "import pandas as pd\n", 21 | "from sklearn.preprocessing import MinMaxScaler\n", 22 | "from tensorflow.keras.models import Sequential\n", 23 | "from tensorflow.keras.layers import LSTM\n", 24 | "from tensorflow.keras.layers import Dense\n", 25 | "from tensorflow.keras.layers import Dropout" 26 | ] 27 | }, 28 | { 29 | "cell_type": "code", 30 | "execution_count": 57, 31 | "id": "81e94c4d", 32 | "metadata": {}, 33 | "outputs": [ 34 | { 35 | "data": { 36 | "text/html": [ 37 | "
\n", 38 | "\n", 51 | "\n", 52 | " \n", 53 | " \n", 54 | " \n", 55 | " \n", 56 | " \n", 57 | " \n", 58 | " \n", 59 | " \n", 60 | " \n", 61 | " \n", 62 | " \n", 63 | " \n", 64 | " \n", 65 | " \n", 66 | " \n", 67 | " \n", 68 | " \n", 69 | " \n", 70 | " \n", 71 | " \n", 72 | " \n", 73 | " \n", 74 | " \n", 75 | " \n", 76 | " \n", 77 | " \n", 78 | " \n", 79 | " \n", 80 | " \n", 81 | " \n", 82 | " \n", 83 | " \n", 84 | " \n", 85 | " \n", 86 | " \n", 87 | " \n", 88 | " \n", 89 | " \n", 90 | " \n", 91 | " \n", 92 | " \n", 93 | " \n", 94 | " \n", 95 | " \n", 96 | " \n", 97 | " \n", 98 | " \n", 99 | " \n", 100 | " \n", 101 | " \n", 102 | " \n", 103 | " \n", 104 | " \n", 105 | " \n", 106 | " \n", 107 | " \n", 108 | " \n", 109 | " \n", 110 | "
DateOpenHighLowCloseVolume
01/3/2012325.25332.83324.97663.597,380,500
11/4/2012331.27333.87329.08666.455,749,400
21/5/2012329.83330.75326.89657.216,590,300
31/6/2012328.34328.77323.68648.245,405,900
41/9/2012322.04322.29309.46620.7611,688,800
\n", 111 | "
" 112 | ], 113 | "text/plain": [ 114 | " Date Open High Low Close Volume\n", 115 | "0 1/3/2012 325.25 332.83 324.97 663.59 7,380,500\n", 116 | "1 1/4/2012 331.27 333.87 329.08 666.45 5,749,400\n", 117 | "2 1/5/2012 329.83 330.75 326.89 657.21 6,590,300\n", 118 | "3 1/6/2012 328.34 328.77 323.68 648.24 5,405,900\n", 119 | "4 1/9/2012 322.04 322.29 309.46 620.76 11,688,800" 120 | ] 121 | }, 122 | "execution_count": 57, 123 | "metadata": {}, 124 | "output_type": "execute_result" 125 | } 126 | ], 127 | "source": [ 128 | "dataset_train = pd.read_csv('Google_Stock_Price_Train.csv')\n", 129 | "#keras only takes numpy array\n", 130 | "dataset_train.head()" 131 | ] 132 | }, 133 | { 134 | "cell_type": "code", 135 | "execution_count": 58, 136 | "id": "61b71b27", 137 | "metadata": {}, 138 | "outputs": [], 139 | "source": [ 140 | "raining_set = dataset_train.iloc[:, 1: 2].values" 141 | ] 142 | }, 143 | { 144 | "cell_type": "code", 145 | "execution_count": 59, 146 | "id": "253df0d3", 147 | "metadata": {}, 148 | "outputs": [ 149 | { 150 | "data": { 151 | "text/plain": [ 152 | "(1258, 1)" 153 | ] 154 | }, 155 | "execution_count": 59, 156 | "metadata": {}, 157 | "output_type": "execute_result" 158 | } 159 | ], 160 | "source": [ 161 | "training_set.shape" 162 | ] 163 | }, 164 | { 165 | "cell_type": "code", 166 | "execution_count": 60, 167 | "id": "30b5f899", 168 | "metadata": {}, 169 | "outputs": [ 170 | { 171 | "data": { 172 | "image/png": "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xQBOEGSBe82xvIcbgY8aY051+ymsSGwgCXQDVwDnG2OSBkastbtxmmT+1jhNNzPc3g5/Af5trf13wu5XGWf8qA+nV8Rmt5fELcAqY8wbjDGZ7q/TjdOAczI9jhNE+poxJs/9XpzjvvZj4BOxvhXGaQL6Svfx6caYM4wxmUAv4Acik7x2ERGRlFAgQkREJE2stV/HuSn/ONCEcxP/E+B/gEfc3d6Hc2O5H3gIp5niz93Xfg78GngAOIBz8/k+99zPu49/j3Nj2+1eY9iYTfdG/CU4jRCbcT55/xjJfw7oBs4ANhtjenECENuAj7iv/wdnQkSDMSZWEjHie7DW/gmn6ePN7rn/jpOlkLi+DpyGk1caY76YZE0A78UJavwG6AHuAO7DmZyR6GbgczhlDafilF9gre3Gafh4LU6GRAPw/3Aaik4aN3DzImAFcAiow+mxgbX2b+6afm+M6cL5ul/pHlqI07OjHaf0pRX4xmSuXUREJFWMtaNlD4qIiMhM4GZMdAArrbUHpng5U8IY80uc6Rqfnuq1iIiIyMiUESEiIjJDGWNeZIzJdUdTfgPYChyc2lWJiIiIjE6BCBERkZnrJThlBkeBlcC1VqmOIiIiMs2pNENEREREREREJo0yIkRERERERERk0igQISIiIiIiIiKTxjvVCzge5eXldsmSJVO9DBEREREREREZ4qmnnmqx1lYM3T6jAxFLlizhySefnOpliIiIiIiIiMgQxpjaZNtVmiEiIiIiIiIik0aBCBERERERERGZNApEiIiIiIiIiMikUSBCRERERERERCaNAhEiIiIiIiIiMmkUiBARERERERGRSaNAhIiIiIiIiIhMGgUiRERERERERGTSKBAhIiIiIiIiIpNGgQgRERERERERmTQKRIiIiIiIiIjIpFEgQkREREREREQmjQIRIiIiIiIiIjJpFIgQERERERERkUmjQISIiIiIiIiITBoFIkRERERERERk0igQISIiIiIiIiKTRoEIERERERERkSE6+0Isue5W/vjE4aleyqyjQISIiIiIiIjIEIfb+wD42UMHpngls48CESIiIiIiIiJDdPvDAESsneKVzD4KRIiIiIiIiIgM0dobACAaVSAi1RSIEBERERERERmirTcIKCMiHRSIEBERERERERmipccJRIQjCkSkmgIRIiIiIiIiIkO0uaUZrb0B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\n", 173 | "text/plain": [ 174 | "
" 175 | ] 176 | }, 177 | "metadata": { 178 | "needs_background": "light" 179 | }, 180 | "output_type": "display_data" 181 | } 182 | ], 183 | "source": [ 184 | "plt.figure(figsize=(18, 8))\n", 185 | "plt.plot(dataset_train['Open'])\n", 186 | "plt.title(\"Google Stock Open Prices\")\n", 187 | "plt.xlabel(\"Time (oldest -> latest)\")\n", 188 | "plt.ylabel(\"Stock Open Price\")\n", 189 | "plt.show()" 190 | ] 191 | }, 192 | { 193 | "cell_type": "markdown", 194 | "id": "4d7909e1", 195 | "metadata": {}, 196 | "source": [ 197 | "### Feature Scaling" 198 | ] 199 | }, 200 | { 201 | "cell_type": "code", 202 | "execution_count": 61, 203 | "id": "67745b4e", 204 | "metadata": {}, 205 | "outputs": [], 206 | "source": [ 207 | "from sklearn.preprocessing import MinMaxScaler\n", 208 | "sc = MinMaxScaler(feature_range = (0, 1))\n", 209 | "training_set_scaled = sc.fit_transform(training_set)" 210 | ] 211 | }, 212 | { 213 | "cell_type": "markdown", 214 | "id": "61a9632f", 215 | "metadata": {}, 216 | "source": [ 217 | "### Creating a sliding window is important" 218 | ] 219 | }, 220 | { 221 | "cell_type": "code", 222 | "execution_count": 62, 223 | "id": "4e396906", 224 | "metadata": {}, 225 | "outputs": [], 226 | "source": [ 227 | "\n", 228 | "import numpy as np\n", 229 | "\n", 230 | "X_train = []\n", 231 | "y_train = []\n", 232 | "\n", 233 | "for i in range(60, len(training_set_scaled)):\n", 234 | " X_train.append(training_set_scaled[i-60: i, 0])\n", 235 | " y_train.append(training_set_scaled[i, 0])\n", 236 | "\n", 237 | "X_train = np.array(X_train)\n", 238 | "y_train = np.array(y_train)" 239 | ] 240 | }, 241 | { 242 | "cell_type": "markdown", 243 | "id": "8121de01", 244 | "metadata": {}, 245 | "source": [ 246 | "### Data Reshaing" 247 | ] 248 | }, 249 | { 250 | "cell_type": "code", 251 | "execution_count": 63, 252 | "id": "619dfd5a", 253 | "metadata": {}, 254 | "outputs": [], 255 | "source": [ 256 | "X_train = np.reshape(X_train, newshape = (X_train.shape[0], X_train.shape[1], 1))" 257 | ] 258 | }, 259 | { 260 | "cell_type": "markdown", 261 | "id": "c3d6b701", 262 | "metadata": {}, 263 | "source": [ 264 | "### Model building" 265 | ] 266 | }, 267 | { 268 | "cell_type": "code", 269 | "execution_count": 64, 270 | "id": "c8829081", 271 | "metadata": {}, 272 | "outputs": [], 273 | "source": [ 274 | "regressor = Sequential()" 275 | ] 276 | }, 277 | { 278 | "cell_type": "markdown", 279 | "id": "81fd029f", 280 | "metadata": {}, 281 | "source": [ 282 | "Then, add the 1st LSTM layer with the Dropout layer followed." 283 | ] 284 | }, 285 | { 286 | "cell_type": "code", 287 | "execution_count": 65, 288 | "id": "744385c1", 289 | "metadata": {}, 290 | "outputs": [], 291 | "source": [ 292 | "regressor.add(LSTM(units = 50, return_sequences = True, input_shape = (X_train.shape[1], 1)))\n", 293 | "regressor.add(Dropout(rate = 0.2))" 294 | ] 295 | }, 296 | { 297 | "cell_type": "markdown", 298 | "id": "05d7c1bf", 299 | "metadata": {}, 300 | "source": [ 301 | "Following the above same method, add 2nd, 3rd, and 4th LSTM layer" 302 | ] 303 | }, 304 | { 305 | "cell_type": "code", 306 | "execution_count": 66, 307 | "id": "f7904305", 308 | "metadata": {}, 309 | "outputs": [], 310 | "source": [ 311 | "##add 2nd lstm layer\n", 312 | "regressor.add(LSTM(units = 50, return_sequences = True))\n", 313 | "regressor.add(Dropout(rate = 0.2))\n", 314 | "##add 3rd lstm layer\n", 315 | "regressor.add(LSTM(units = 50, return_sequences = True))\n", 316 | "regressor.add(Dropout(rate = 0.2))\n", 317 | "##add 4th lstm layer\n", 318 | "regressor.add(LSTM(units = 50, return_sequences = False))\n", 319 | "regressor.add(Dropout(rate = 0.2))" 320 | ] 321 | }, 322 | { 323 | "cell_type": "markdown", 324 | "id": "47ced8ac", 325 | "metadata": {}, 326 | "source": [ 327 | "Finally, add the output layer. Note the last LSTM layer, return_sequences is False as we will not add more LSTM layers.\n", 328 | "The output dimension is 1 since we are predicting 1 price each time." 329 | ] 330 | }, 331 | { 332 | "cell_type": "code", 333 | "execution_count": 67, 334 | "id": "a6e67c54", 335 | "metadata": {}, 336 | "outputs": [], 337 | "source": [ 338 | "regressor.add(Dense(units = 1))" 339 | ] 340 | }, 341 | { 342 | "cell_type": "markdown", 343 | "id": "e2b9885f", 344 | "metadata": {}, 345 | "source": [ 346 | "Let’s compile the RNN. For optimizer, we use Adam, a safe choice to start with. The loss function is the mean of squared errors between actual values and predictions." 347 | ] 348 | }, 349 | { 350 | "cell_type": "code", 351 | "execution_count": 68, 352 | "id": "7047f7ad", 353 | "metadata": {}, 354 | "outputs": [], 355 | "source": [ 356 | "regressor.compile(optimizer = \"adam\", loss = \"mean_squared_error\")" 357 | ] 358 | }, 359 | { 360 | "cell_type": "markdown", 361 | "id": "7f9a5d1a", 362 | "metadata": {}, 363 | "source": [ 364 | "### Model fitting" 365 | ] 366 | }, 367 | { 368 | "cell_type": "code", 369 | "execution_count": 69, 370 | "id": "66e549ce", 371 | "metadata": {}, 372 | "outputs": [ 373 | { 374 | "name": "stdout", 375 | "output_type": "stream", 376 | "text": [ 377 | "Epoch 1/100\n", 378 | "38/38 [==============================] - 22s 132ms/step - loss: 0.0465\n", 379 | "Epoch 2/100\n", 380 | "38/38 [==============================] - 5s 132ms/step - loss: 0.0059\n", 381 | "Epoch 3/100\n", 382 | "38/38 [==============================] - 5s 135ms/step - loss: 0.0056\n", 383 | "Epoch 4/100\n", 384 | "38/38 [==============================] - 5s 132ms/step - loss: 0.0059\n", 385 | "Epoch 5/100\n", 386 | "38/38 [==============================] - 5s 133ms/step - loss: 0.0056\n", 387 | "Epoch 6/100\n", 388 | "38/38 [==============================] - 5s 135ms/step - loss: 0.0047\n", 389 | "Epoch 7/100\n", 390 | "38/38 [==============================] - 5s 134ms/step - loss: 0.0044\n", 391 | "Epoch 8/100\n", 392 | "38/38 [==============================] - 5s 133ms/step - loss: 0.0048\n", 393 | "Epoch 9/100\n", 394 | "38/38 [==============================] - 5s 133ms/step - loss: 0.0048\n", 395 | "Epoch 10/100\n", 396 | "38/38 [==============================] - 5s 133ms/step - loss: 0.0042\n", 397 | "Epoch 11/100\n", 398 | "38/38 [==============================] - 5s 133ms/step - loss: 0.0039\n", 399 | "Epoch 12/100\n", 400 | "38/38 [==============================] - 5s 133ms/step - loss: 0.0038\n", 401 | "Epoch 13/100\n", 402 | "38/38 [==============================] - 5s 133ms/step - loss: 0.0045\n", 403 | "Epoch 14/100\n", 404 | "38/38 [==============================] - 5s 134ms/step - loss: 0.0042\n", 405 | "Epoch 15/100\n", 406 | "38/38 [==============================] - 5s 135ms/step - loss: 0.0043\n", 407 | "Epoch 16/100\n", 408 | "38/38 [==============================] - 5s 136ms/step - loss: 0.0042\n", 409 | "Epoch 17/100\n", 410 | "38/38 [==============================] - 5s 134ms/step - loss: 0.0039\n", 411 | "Epoch 18/100\n", 412 | "38/38 [==============================] - 5s 135ms/step - loss: 0.0039\n", 413 | "Epoch 19/100\n", 414 | "38/38 [==============================] - 5s 140ms/step - loss: 0.0039\n", 415 | "Epoch 20/100\n", 416 | "38/38 [==============================] - 5s 139ms/step - loss: 0.0040\n", 417 | "Epoch 21/100\n", 418 | "38/38 [==============================] - 5s 145ms/step - loss: 0.0040\n", 419 | "Epoch 22/100\n", 420 | "38/38 [==============================] - 5s 142ms/step - loss: 0.0032\n", 421 | "Epoch 23/100\n", 422 | "38/38 [==============================] - 5s 135ms/step - loss: 0.0033\n", 423 | "Epoch 24/100\n", 424 | "38/38 [==============================] - 5s 141ms/step - loss: 0.0034\n", 425 | "Epoch 25/100\n", 426 | "38/38 [==============================] - 5s 137ms/step - loss: 0.0036\n", 427 | "Epoch 26/100\n", 428 | "38/38 [==============================] - 5s 144ms/step - loss: 0.0033\n", 429 | "Epoch 27/100\n", 430 | "38/38 [==============================] - 5s 141ms/step - loss: 0.0030\n", 431 | "Epoch 28/100\n", 432 | "38/38 [==============================] - 5s 137ms/step - loss: 0.0031\n", 433 | "Epoch 29/100\n", 434 | "38/38 [==============================] - 5s 133ms/step - loss: 0.0031\n", 435 | "Epoch 30/100\n", 436 | "38/38 [==============================] - 5s 133ms/step - loss: 0.0030\n", 437 | "Epoch 31/100\n", 438 | "38/38 [==============================] - 5s 134ms/step - loss: 0.0030\n", 439 | "Epoch 32/100\n", 440 | "38/38 [==============================] - 5s 133ms/step - loss: 0.0028\n", 441 | "Epoch 33/100\n", 442 | "38/38 [==============================] - 5s 134ms/step - loss: 0.0027\n", 443 | "Epoch 34/100\n", 444 | "38/38 [==============================] - 5s 134ms/step - loss: 0.0029\n", 445 | "Epoch 35/100\n", 446 | "38/38 [==============================] - 5s 133ms/step - loss: 0.0031\n", 447 | "Epoch 36/100\n", 448 | "38/38 [==============================] - 5s 134ms/step - loss: 0.0031\n", 449 | "Epoch 37/100\n", 450 | "38/38 [==============================] - 5s 134ms/step - loss: 0.0028\n", 451 | "Epoch 38/100\n", 452 | "38/38 [==============================] - 5s 133ms/step - loss: 0.0027\n", 453 | "Epoch 39/100\n", 454 | "38/38 [==============================] - 5s 133ms/step - loss: 0.0026\n", 455 | "Epoch 40/100\n", 456 | "38/38 [==============================] - 5s 135ms/step - loss: 0.0025\n", 457 | "Epoch 41/100\n", 458 | "38/38 [==============================] - 5s 133ms/step - loss: 0.0026\n", 459 | "Epoch 42/100\n", 460 | "38/38 [==============================] - 5s 133ms/step - loss: 0.0029\n", 461 | "Epoch 43/100\n", 462 | "38/38 [==============================] - 5s 135ms/step - loss: 0.0025\n", 463 | "Epoch 44/100\n", 464 | "38/38 [==============================] - 5s 133ms/step - loss: 0.0026\n", 465 | "Epoch 45/100\n", 466 | "38/38 [==============================] - 5s 133ms/step - loss: 0.0026\n", 467 | "Epoch 46/100\n", 468 | "38/38 [==============================] - 5s 134ms/step - loss: 0.0027\n", 469 | "Epoch 47/100\n", 470 | "38/38 [==============================] - 5s 135ms/step - loss: 0.0024\n", 471 | "Epoch 48/100\n", 472 | "38/38 [==============================] - 5s 133ms/step - loss: 0.0024\n", 473 | "Epoch 49/100\n", 474 | "38/38 [==============================] - 5s 133ms/step - loss: 0.0024\n", 475 | "Epoch 50/100\n", 476 | "38/38 [==============================] - 5s 135ms/step - loss: 0.0027\n", 477 | "Epoch 51/100\n", 478 | "38/38 [==============================] - 5s 134ms/step - loss: 0.0024\n", 479 | "Epoch 52/100\n", 480 | "38/38 [==============================] - 5s 133ms/step - loss: 0.0024\n", 481 | "Epoch 53/100\n", 482 | "38/38 [==============================] - 5s 134ms/step - loss: 0.0020\n", 483 | "Epoch 54/100\n", 484 | "38/38 [==============================] - 5s 134ms/step - loss: 0.0021\n", 485 | "Epoch 55/100\n", 486 | "38/38 [==============================] - 5s 133ms/step - loss: 0.0023\n", 487 | "Epoch 56/100\n", 488 | "38/38 [==============================] - 5s 135ms/step - loss: 0.0022\n", 489 | "Epoch 57/100\n", 490 | "38/38 [==============================] - 5s 133ms/step - loss: 0.0024\n", 491 | "Epoch 58/100\n", 492 | "38/38 [==============================] - 5s 133ms/step - loss: 0.0024\n", 493 | "Epoch 59/100\n", 494 | "38/38 [==============================] - 5s 135ms/step - loss: 0.0021\n", 495 | "Epoch 60/100\n", 496 | "38/38 [==============================] - 5s 132ms/step - loss: 0.0021\n", 497 | "Epoch 61/100\n", 498 | "38/38 [==============================] - 5s 135ms/step - loss: 0.0022\n", 499 | "Epoch 62/100\n", 500 | "38/38 [==============================] - 5s 139ms/step - loss: 0.0022\n", 501 | "Epoch 63/100\n", 502 | "38/38 [==============================] - 5s 133ms/step - loss: 0.0019\n", 503 | "Epoch 64/100\n", 504 | "38/38 [==============================] - 5s 130ms/step - loss: 0.0021\n", 505 | "Epoch 65/100\n", 506 | "38/38 [==============================] - 187s 5s/step - loss: 0.0022\n", 507 | "Epoch 66/100\n", 508 | "38/38 [==============================] - 6s 147ms/step - loss: 0.0019\n", 509 | "Epoch 67/100\n", 510 | "38/38 [==============================] - 5s 137ms/step - loss: 0.0020\n", 511 | "Epoch 68/100\n", 512 | "38/38 [==============================] - 5s 142ms/step - loss: 0.0018\n", 513 | "Epoch 69/100\n", 514 | "38/38 [==============================] - 5s 139ms/step - loss: 0.0019\n", 515 | "Epoch 70/100\n", 516 | "38/38 [==============================] - 6s 150ms/step - loss: 0.0021\n", 517 | "Epoch 71/100\n", 518 | "38/38 [==============================] - 6s 147ms/step - loss: 0.0021\n", 519 | "Epoch 72/100\n", 520 | "38/38 [==============================] - 5s 140ms/step - loss: 0.0018\n", 521 | "Epoch 73/100\n", 522 | "38/38 [==============================] - 6s 162ms/step - loss: 0.0019\n", 523 | "Epoch 74/100\n", 524 | "38/38 [==============================] - 6s 150ms/step - loss: 0.0017\n", 525 | "Epoch 75/100\n", 526 | "38/38 [==============================] - 6s 146ms/step - loss: 0.0018\n", 527 | "Epoch 76/100\n", 528 | "38/38 [==============================] - 6s 145ms/step - loss: 0.0020\n", 529 | "Epoch 77/100\n", 530 | "38/38 [==============================] - 5s 142ms/step - loss: 0.0018\n", 531 | "Epoch 78/100\n", 532 | "38/38 [==============================] - 5s 144ms/step - loss: 0.0017\n", 533 | "Epoch 79/100\n", 534 | "38/38 [==============================] - 5s 140ms/step - loss: 0.0017\n", 535 | "Epoch 80/100\n", 536 | "38/38 [==============================] - 5s 136ms/step - loss: 0.0020\n", 537 | "Epoch 81/100\n", 538 | "38/38 [==============================] - 5s 142ms/step - loss: 0.0020\n", 539 | "Epoch 82/100\n", 540 | "38/38 [==============================] - 6s 148ms/step - loss: 0.0018\n", 541 | "Epoch 83/100\n", 542 | "38/38 [==============================] - 5s 143ms/step - loss: 0.0017\n", 543 | "Epoch 84/100\n", 544 | "38/38 [==============================] - 5s 141ms/step - loss: 0.0016\n", 545 | "Epoch 85/100\n", 546 | "38/38 [==============================] - 5s 143ms/step - loss: 0.0019\n", 547 | "Epoch 86/100\n", 548 | "38/38 [==============================] - 5s 142ms/step - loss: 0.0018\n", 549 | "Epoch 87/100\n", 550 | "38/38 [==============================] - 5s 141ms/step - loss: 0.0016\n", 551 | "Epoch 88/100\n", 552 | "38/38 [==============================] - 5s 142ms/step - loss: 0.0017\n", 553 | "Epoch 89/100\n", 554 | "38/38 [==============================] - 6s 145ms/step - loss: 0.0018\n", 555 | "Epoch 90/100\n", 556 | "38/38 [==============================] - 5s 141ms/step - loss: 0.0017\n", 557 | "Epoch 91/100\n", 558 | "38/38 [==============================] - 5s 142ms/step - loss: 0.0016\n", 559 | "Epoch 92/100\n", 560 | "38/38 [==============================] - 5s 136ms/step - loss: 0.0018\n", 561 | "Epoch 93/100\n", 562 | "38/38 [==============================] - 5s 133ms/step - loss: 0.0016\n", 563 | "Epoch 94/100\n", 564 | "38/38 [==============================] - 5s 134ms/step - loss: 0.0015\n", 565 | "Epoch 95/100\n", 566 | "38/38 [==============================] - 5s 136ms/step - loss: 0.0015\n", 567 | "Epoch 96/100\n", 568 | "38/38 [==============================] - 5s 133ms/step - loss: 0.0016\n", 569 | "Epoch 97/100\n", 570 | "38/38 [==============================] - 5s 134ms/step - loss: 0.0015\n", 571 | "Epoch 98/100\n", 572 | "38/38 [==============================] - 5s 140ms/step - loss: 0.0014\n", 573 | "Epoch 99/100\n", 574 | "38/38 [==============================] - 5s 134ms/step - loss: 0.0014\n", 575 | "Epoch 100/100\n", 576 | "38/38 [==============================] - 5s 132ms/step - loss: 0.0014\n" 577 | ] 578 | }, 579 | { 580 | "data": { 581 | "text/plain": [ 582 | "" 583 | ] 584 | }, 585 | "execution_count": 69, 586 | "metadata": {}, 587 | "output_type": "execute_result" 588 | } 589 | ], 590 | "source": [ 591 | "regressor.fit(x = X_train, y = y_train, batch_size = 32, epochs = 100)" 592 | ] 593 | }, 594 | { 595 | "cell_type": "markdown", 596 | "id": "4e1efb2b", 597 | "metadata": {}, 598 | "source": [ 599 | "RNN weights are updated every 32 stock prices with a batch size of 32\n", 600 | "Great, now let’s execute the training. In the end, we found that starting with a loss of 0.0465, we got a loss of 0.0027 at epoch 50, to loss of 0.0014 at epoch 100 🎉🎉." 601 | ] 602 | }, 603 | { 604 | "cell_type": "markdown", 605 | "id": "20455f90", 606 | "metadata": {}, 607 | "source": [ 608 | "### Model prediction" 609 | ] 610 | }, 611 | { 612 | "cell_type": "code", 613 | "execution_count": 70, 614 | "id": "266d928c", 615 | "metadata": {}, 616 | "outputs": [], 617 | "source": [ 618 | "dataset_test = pd.read_csv(\"Google_Stock_Price_Test.csv\")\n", 619 | "real_stock_price = dataset_test.iloc[:, 1: 2].values" 620 | ] 621 | }, 622 | { 623 | "cell_type": "markdown", 624 | "id": "dcaa408e", 625 | "metadata": {}, 626 | "source": [ 627 | "### Data Processing" 628 | ] 629 | }, 630 | { 631 | "cell_type": "code", 632 | "execution_count": 71, 633 | "id": "a06a0749", 634 | "metadata": {}, 635 | "outputs": [], 636 | "source": [ 637 | "dataset_total = pd.concat((dataset_train[\"Open\"],dataset_test[\"Open\"]), axis = 0)" 638 | ] 639 | }, 640 | { 641 | "cell_type": "code", 642 | "execution_count": 72, 643 | "id": "783e2ce7", 644 | "metadata": {}, 645 | "outputs": [], 646 | "source": [ 647 | "inputs = dataset_total[len(dataset_total)-len(dataset_test)- 60: ].values" 648 | ] 649 | }, 650 | { 651 | "cell_type": "code", 652 | "execution_count": 73, 653 | "id": "81f6de29", 654 | "metadata": {}, 655 | "outputs": [], 656 | "source": [ 657 | "inputs = inputs.reshape(-1, 1)\n", 658 | "inputs = sc.transform(inputs)" 659 | ] 660 | }, 661 | { 662 | "cell_type": "code", 663 | "execution_count": 74, 664 | "id": "dca8fa6f", 665 | "metadata": {}, 666 | "outputs": [], 667 | "source": [ 668 | "import numpy as np\n", 669 | "\n", 670 | "X_test = []\n", 671 | "\n", 672 | "for i in range(60, len(inputs)):\n", 673 | " X_test.append(inputs[i-60: i, 0])\n", 674 | "\n", 675 | "X_test = np.array(X_test)\n", 676 | "X_test = np.reshape(X_test, newshape=(X_test.shape[0], X_test.shape[1], 1))\n" 677 | ] 678 | }, 679 | { 680 | "cell_type": "markdown", 681 | "id": "8b9e0c5e", 682 | "metadata": {}, 683 | "source": [ 684 | "### Model_prediction" 685 | ] 686 | }, 687 | { 688 | "cell_type": "code", 689 | "execution_count": 75, 690 | "id": "f547768b", 691 | "metadata": {}, 692 | "outputs": [ 693 | { 694 | "name": "stdout", 695 | "output_type": "stream", 696 | "text": [ 697 | "1/1 [==============================] - 4s 4s/step\n" 698 | ] 699 | } 700 | ], 701 | "source": [ 702 | "predicted_stock_price = regressor.predict(X_test)" 703 | ] 704 | }, 705 | { 706 | "cell_type": "code", 707 | "execution_count": 76, 708 | "id": "05c97211", 709 | "metadata": {}, 710 | "outputs": [], 711 | "source": [ 712 | "predicted_stock_price = sc.inverse_transform(predicted_stock_price)" 713 | ] 714 | }, 715 | { 716 | "cell_type": "markdown", 717 | "id": "112a048b", 718 | "metadata": {}, 719 | "source": [ 720 | "### Result visualisation" 721 | ] 722 | }, 723 | { 724 | "cell_type": "code", 725 | "execution_count": 77, 726 | "id": "cdf60dc7", 727 | "metadata": {}, 728 | "outputs": [ 729 | { 730 | "data": { 731 | "image/png": "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\n", 732 | "text/plain": [ 733 | "
" 734 | ] 735 | }, 736 | "metadata": { 737 | "needs_background": "light" 738 | }, 739 | "output_type": "display_data" 740 | } 741 | ], 742 | "source": [ 743 | "plt.plot(real_stock_price, color = 'red', label = 'Real price')\n", 744 | "plt.plot(predicted_stock_price, color = 'blue', label = 'Predicted price')\n", 745 | "plt.title('Google price prediction')\n", 746 | "plt.xlabel('Time')\n", 747 | "plt.ylabel('Price')\n", 748 | "plt.legend()\n", 749 | "plt.show()" 750 | ] 751 | }, 752 | { 753 | "cell_type": "code", 754 | "execution_count": null, 755 | "id": "d9c82f14", 756 | "metadata": {}, 757 | "outputs": [], 758 | "source": [] 759 | } 760 | ], 761 | "metadata": { 762 | "kernelspec": { 763 | "display_name": "Python 3 (ipykernel)", 764 | "language": "python", 765 | "name": "python3" 766 | }, 767 | "language_info": { 768 | "codemirror_mode": { 769 | "name": "ipython", 770 | "version": 3 771 | }, 772 | "file_extension": ".py", 773 | "mimetype": "text/x-python", 774 | "name": "python", 775 | "nbconvert_exporter": "python", 776 | "pygments_lexer": "ipython3", 777 | "version": "3.9.12" 778 | } 779 | }, 780 | "nbformat": 4, 781 | "nbformat_minor": 5 782 | } 783 | --------------------------------------------------------------------------------