4. Predicting Sequential Data

Implement a Recurrence Neural Network for Predicting Sequential Data. 

Dataset link:

https://drive.google.com/drive/folders/1sJr_v80WIvfTc3FzHdB9B6M-iHDZVhkh?usp=sharing


import numpy as np
import pandas as pd
from sklearn.preprocessing import MinMaxScaler
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import LSTM, Dense
from sklearn.model_selection import train_test_split

# Load the stock market dataset
data = pd.read_csv('/content/drive/MyDrive/A_data.csv')  # Replace with your dataset

# Extract the relevant features and target variable
prices = data['close'].values.reshape(-1, 1)

# Normalize the data
scaler = MinMaxScaler(feature_range=(0, 1))
normalized_prices = scaler.fit_transform(prices)

# Prepare the input-output sequences
sequence_length = 10
X = []
y = []
for i in range(len(normalized_prices) - sequence_length):
    X.append(normalized_prices[i:i+sequence_length])
    y.append(normalized_prices[i+sequence_length])

X = np.array(X)
y = np.array(y)

# Split the data into training and testing sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# Build the RNN model
model = Sequential()
model.add(LSTM(64, input_shape=(sequence_length, 1)))
model.add(Dense(1))

# Compile the model
model.compile(loss='mean_squared_error', optimizer='adam')

# Train the RNN model
batch_size = 32
epochs = 10
model.fit(X_train, y_train, batch_size=batch_size, epochs=epochs)

# Evaluate the model
loss = model.evaluate(X_test, y_test)
print('Test Loss:', loss)

# Make predictions
predictions = model.predict(X_test)

# Denormalize the predicted prices
denormalized_predictions = scaler.inverse_transform(predictions)

# Compare with actual prices
actual_prices = scaler.inverse_transform(y_test)

# Print the predicted and actual prices
for i in range(len(denormalized_predictions)):
    print('Predicted Price:', denormalized_predictions[i][0])
    print('Actual Price:', actual_prices[i][0])
    print('-----')


Output:

Epoch 1/10 32/32 [==============================] - 6s 8ms/step - loss: 0.0421 Epoch 2/10 32/32 [==============================] - 0s 8ms/step - loss: 0.0030 Epoch 3/10 32/32 [==============================] - 0s 8ms/step - loss: 0.0013 Epoch 4/10 32/32 [==============================] - 0s 8ms/step - loss: 0.0012 Epoch 5/10 32/32 [==============================] - 0s 8ms/step - loss: 0.0012 Epoch 6/10 32/32 [==============================] - 0s 8ms/step - loss: 0.0012 Epoch 7/10 32/32 [==============================] - 0s 8ms/step - loss: 0.0012 Epoch 8/10 32/32 [==============================] - 0s 7ms/step - loss: 0.0011 Epoch 9/10 32/32 [==============================] - 0s 7ms/step - loss: 0.0012 Epoch 10/10 32/32 [==============================] - 0s 8ms/step - loss: 0.0011 8/8 [==============================] - 1s 4ms/step - loss: 0.0010 Test Loss: 0.001022467389702797 8/8 [==============================] - 0s 4ms/step Predicted Price: 37.57613 Actual Price: 38.27 ----- Predicted Price: 53.315784 Actual Price: 54.83 ----- Predicted Price: 45.358505 Actual Price: 46.040000000000006 ----- Predicted Price: 58.246502 Actual Price: 59.73 ----- Predicted Price: 58.523094 Actual Price: 58.5 ----- Predicted Price: 40.21645 Actual Price: 41.879999999999995 ----- Predicted Price: 56.95484 Actual Price: 56.36 ----- Predicted Price: 44.405968 Actual Price: 42.32 ----- Predicted Price: 42.6233 Actual Price: 41.3 ----- Predicted Price: 74.42654 Actual Price: 71.25 ----- Predicted Price: 55.431736 Actual Price: 56.64 ----- Predicted Price: 38.80288 Actual Price: 37.2 ----- Predicted Price: 67.46352 Actual Price: 66.51 ----- Predicted Price: 55.440044 Actual Price: 57.38 ----- Predicted Price: 41.644062 Actual Price: 42.61999999999999 ----- Predicted Price: 58.280457 Actual Price: 56.98 ----- Predicted Price: 53.090424 Actual Price: 54.81000000000001 ----- Predicted Price: 68.84419 Actual Price: 71.77 ----- Predicted Price: 46.037388 Actual Price: 46.51 ----- Predicted Price: 44.60753 Actual Price: 46.14 ----- Predicted Price: 67.82366 Actual Price: 67.35 ----- Predicted Price: 36.19587 Actual Price: 36.23 ----- Predicted Price: 46.816734 Actual Price: 47.29999999999999 ----- Predicted Price: 36.49614 Actual Price: 36.83 ----- Predicted Price: 57.81609 Actual Price: 57.59 ----- Predicted Price: 40.695263 Actual Price: 40.12 ----- Predicted Price: 53.67571 Actual Price: 52.93 ----- Predicted Price: 38.862034 Actual Price: 34.68 ----- Predicted Price: 68.10881 Actual Price: 67.0 ----- Predicted Price: 41.12788 Actual Price: 40.98 ----- Predicted Price: 40.251747 Actual Price: 39.9 ----- Predicted Price: 37.136818 Actual Price: 37.17 ----- Predicted Price: 53.306656 Actual Price: 53.64999999999999 ----- Predicted Price: 42.36124 Actual Price: 41.510000000000005 ----- Predicted Price: 37.681477 Actual Price: 37.69 ----- Predicted Price: 38.91467 Actual Price: 39.11 ----- Predicted Price: 53.00633 Actual Price: 54.66 ----- Predicted Price: 54.21247 Actual Price: 54.39 ----- Predicted Price: 58.018436 Actual Price: 57.16 ----- Predicted Price: 51.63952 Actual Price: 50.65 ----- Predicted Price: 45.32086 Actual Price: 45.4 ----- Predicted Price: 59.85926 Actual Price: 59.79 ----- Predicted Price: 56.976936 Actual Price: 57.64 ----- Predicted Price: 41.42022 Actual Price: 41.32 ----- Predicted Price: 60.078068 Actual Price: 59.38000000000001 ----- Predicted Price: 36.0582 Actual Price: 35.58 ----- Predicted Price: 40.636837 Actual Price: 38.89 ----- Predicted Price: 50.054493 Actual Price: 41.37 ----- Predicted Price: 39.013306 Actual Price: 40.19 ----- Predicted Price: 42.092823 Actual Price: 41.59000000000001 ----- Predicted Price: 39.69936 Actual Price: 40.16 ----- Predicted Price: 61.411762 Actual Price: 59.91 ----- Predicted Price: 41.47876 Actual Price: 42.17 ----- Predicted Price: 41.882896 Actual Price: 42.0 ----- Predicted Price: 47.253326 Actual Price: 46.99 ----- Predicted Price: 57.08907 Actual Price: 58.77 ----- Predicted Price: 46.890404 Actual Price: 45.75 ----- Predicted Price: 37.728497 Actual Price: 37.65 ----- Predicted Price: 35.814754 Actual Price: 33.74 ----- Predicted Price: 73.69538 Actual Price: 68.45 ----- Predicted Price: 40.717937 Actual Price: 39.99 ----- Predicted Price: 44.655952 Actual Price: 44.38 ----- Predicted Price: 45.4155 Actual Price: 45.59 ----- Predicted Price: 49.435017 Actual Price: 50.52 ----- Predicted Price: 60.2656 Actual Price: 59.38000000000001 ----- Predicted Price: 40.856594 Actual Price: 40.15 ----- Predicted Price: 54.544247 Actual Price: 55.3 ----- Predicted Price: 51.621773 Actual Price: 51.870000000000005 ----- Predicted Price: 36.771835 Actual Price: 37.44 ----- Predicted Price: 44.95908 Actual Price: 44.49 ----- Predicted Price: 40.02799 Actual Price: 39.75 ----- Predicted Price: 39.660942 Actual Price: 39.52 ----- Predicted Price: 47.065044 Actual Price: 46.970000000000006 ----- Predicted Price: 72.11591 Actual Price: 73.48 ----- Predicted Price: 41.78394 Actual Price: 42.49 ----- Predicted Price: 54.471474 Actual Price: 54.04 ----- Predicted Price: 40.10621 Actual Price: 39.81 ----- Predicted Price: 44.860424 Actual Price: 43.98 ----- Predicted Price: 41.108177 Actual Price: 41.78 ----- Predicted Price: 40.188988 Actual Price: 40.45 ----- Predicted Price: 45.57847 Actual Price: 46.8 ----- Predicted Price: 60.413967 Actual Price: 58.57 ----- Predicted Price: 42.4394 Actual Price: 41.46 ----- Predicted Price: 38.194332 Actual Price: 37.23 ----- Predicted Price: 55.580425 Actual Price: 54.49 ----- Predicted Price: 68.7543 Actual Price: 69.91 ----- Predicted Price: 41.46949 Actual Price: 42.26 ----- Predicted Price: 46.78239 Actual Price: 48.11 ----- Predicted Price: 56.860046 Actual Price: 56.28999999999999 ----- Predicted Price: 56.664833 Actual Price: 56.46 ----- Predicted Price: 46.47952 Actual Price: 47.03 ----- Predicted Price: 43.275608 Actual Price: 43.08 ----- Predicted Price: 40.36349 Actual Price: 41.4 ----- Predicted Price: 37.547726 Actual Price: 37.63 ----- Predicted Price: 42.098755 Actual Price: 42.04 ----- Predicted Price: 45.46685 Actual Price: 46.2 ----- Predicted Price: 52.798145 Actual Price: 53.989999999999995 ----- Predicted Price: 71.4532 Actual Price: 72.19 ----- Predicted Price: 42.11509 Actual Price: 42.63000000000001 ----- Predicted Price: 57.26403 Actual Price: 56.64 ----- Predicted Price: 55.640095 Actual Price: 55.029999999999994 ----- Predicted Price: 54.44497 Actual Price: 54.46999999999999 ----- Predicted Price: 54.11574 Actual Price: 54.65 ----- Predicted Price: 60.376804 Actual Price: 60.14 ----- Predicted Price: 40.497135 Actual Price: 39.79 ----- Predicted Price: 45.726597 Actual Price: 46.08 ----- Predicted Price: 42.77491 Actual Price: 41.96 ----- Predicted Price: 41.0313 Actual Price: 40.25 ----- Predicted Price: 67.956726 Actual Price: 67.6 ----- Predicted Price: 56.470562 Actual Price: 56.7 ----- Predicted Price: 51.54117 Actual Price: 50.76 ----- Predicted Price: 36.524235 Actual Price: 35.05 ----- Predicted Price: 41.94516 Actual Price: 43.550000000000004 ----- Predicted Price: 47.471054 Actual Price: 48.69 ----- Predicted Price: 57.16765 Actual Price: 58.39 ----- Predicted Price: 73.0877 Actual Price: 73.86 ----- Predicted Price: 58.090115 Actual Price: 57.15 ----- Predicted Price: 41.84109 Actual Price: 42.94 ----- Predicted Price: 45.866264 Actual Price: 44.53 ----- Predicted Price: 41.433353 Actual Price: 40.8 ----- Predicted Price: 42.097202 Actual Price: 41.97 ----- Predicted Price: 36.250088 Actual Price: 35.55 ----- Predicted Price: 51.64948 Actual Price: 51.78 ----- Predicted Price: 59.584297 Actual Price: 59.22 ----- Predicted Price: 46.255993 Actual Price: 45.34000000000001 ----- Predicted Price: 43.49776 Actual Price: 45.559999999999995 ----- Predicted Price: 66.56592 Actual Price: 66.99 ----- Predicted Price: 46.81019 Actual Price: 49.25 ----- Predicted Price: 36.222965 Actual Price: 36.15 ----- Predicted Price: 56.48333 Actual Price: 59.23 ----- Predicted Price: 45.70259 Actual Price: 45.91 ----- Predicted Price: 42.096607 Actual Price: 41.98 ----- Predicted Price: 56.574207 Actual Price: 55.77 ----- Predicted Price: 55.393353 Actual Price: 55.61999999999999 ----- Predicted Price: 66.13928 Actual Price: 64.39 ----- Predicted Price: 41.423923 Actual Price: 38.59 ----- Predicted Price: 53.883114 Actual Price: 55.05 ----- Predicted Price: 41.59427 Actual Price: 41.24 ----- Predicted Price: 57.706142 Actual Price: 55.44 ----- Predicted Price: 58.84024 Actual Price: 55.15 ----- Predicted Price: 38.99701 Actual Price: 38.0 ----- Predicted Price: 42.27416 Actual Price: 43.04 ----- Predicted Price: 40.07742 Actual Price: 39.26 ----- Predicted Price: 37.79174 Actual Price: 38.34 ----- Predicted Price: 42.739704 Actual Price: 45.68 ----- Predicted Price: 46.071255 Actual Price: 44.73 ----- Predicted Price: 43.741825 Actual Price: 44.32 ----- Predicted Price: 46.01798 Actual Price: 46.040000000000006 ----- Predicted Price: 68.987175 Actual Price: 68.69 ----- Predicted Price: 55.612103 Actual Price: 56.36 ----- Predicted Price: 40.02213 Actual Price: 38.25 ----- Predicted Price: 42.982483 Actual Price: 43.19 ----- Predicted Price: 53.08784 Actual Price: 53.15 ----- Predicted Price: 58.946404 Actual Price: 58.62 ----- Predicted Price: 35.971966 Actual Price: 35.05 ----- Predicted Price: 46.86923 Actual Price: 45.16 ----- Predicted Price: 74.1081 Actual Price: 72.99 ----- Predicted Price: 42.32758 Actual Price: 41.94 ----- Predicted Price: 58.956062 Actual Price: 58.77 ----- Predicted Price: 41.84147 Actual Price: 42.94 ----- Predicted Price: 41.126305 Actual Price: 41.25 ----- Predicted Price: 42.84309 Actual Price: 41.45 ----- Predicted Price: 45.79954 Actual Price: 46.05 ----- Predicted Price: 37.69203 Actual Price: 37.19 ----- Predicted Price: 46.133865 Actual Price: 47.01 ----- Predicted Price: 57.356464 Actual Price: 56.959999999999994 ----- Predicted Price: 47.067505 Actual Price: 44.88 ----- Predicted Price: 41.001934 Actual Price: 41.79999999999999 ----- Predicted Price: 57.97649 Actual Price: 56.49 ----- Predicted Price: 40.81676 Actual Price: 40.53 ----- Predicted Price: 67.934044 Actual Price: 69.32 ----- Predicted Price: 67.85701 Actual Price: 67.06 ----- Predicted Price: 55.842247 Actual Price: 56.959999999999994 ----- Predicted Price: 42.09302 Actual Price: 40.85 ----- Predicted Price: 53.595245 Actual Price: 54.31999999999999 ----- Predicted Price: 45.69686 Actual Price: 45.94 ----- Predicted Price: 44.268787 Actual Price: 44.47 ----- Predicted Price: 53.522827 Actual Price: 53.5 ----- Predicted Price: 39.98744 Actual Price: 40.02 ----- Predicted Price: 58.139236 Actual Price: 58.29 ----- Predicted Price: 56.1407 Actual Price: 57.54 ----- Predicted Price: 44.18961 Actual Price: 43.26 ----- Predicted Price: 39.97373 Actual Price: 38.82 ----- Predicted Price: 42.352776 Actual Price: 42.809999999999995 ----- Predicted Price: 49.63702 Actual Price: 51.6 ----- Predicted Price: 48.839195 Actual Price: 49.93 ----- Predicted Price: 48.638718 Actual Price: 49.64 ----- Predicted Price: 60.464928 Actual Price: 60.13 ----- Predicted Price: 41.33615 Actual Price: 41.33 ----- Predicted Price: 45.00683 Actual Price: 44.480000000000004 ----- Predicted Price: 36.906017 Actual Price: 36.31 ----- Predicted Price: 58.09459 Actual Price: 60.34 ----- Predicted Price: 47.89386 Actual Price: 48.96999999999999 ----- Predicted Price: 45.70928 Actual Price: 46.7 ----- Predicted Price: 53.924778 Actual Price: 54.68999999999999 ----- Predicted Price: 44.81914 Actual Price: 44.36 ----- Predicted Price: 46.060535 Actual Price: 45.97 ----- Predicted Price: 41.28245 Actual Price: 42.35999999999999 ----- Predicted Price: 52.867447 Actual Price: 52.33 ----- Predicted Price: 53.30585 Actual Price: 54.5 ----- Predicted Price: 43.073242 Actual Price: 42.89 ----- Predicted Price: 47.143326 Actual Price: 47.43 ----- Predicted Price: 41.604694 Actual Price: 41.55 ----- Predicted Price: 60.126812 Actual Price: 58.1 ----- Predicted Price: 41.203114 Actual Price: 40.94 ----- Predicted Price: 54.476185 Actual Price: 51.71 ----- Predicted Price: 56.086174 Actual Price: 55.24 ----- Predicted Price: 55.02856 Actual Price: 56.83 ----- Predicted Price: 51.41538 Actual Price: 49.95 ----- Predicted Price: 47.79373 Actual Price: 48.46000000000001 ----- Predicted Price: 40.646236 Actual Price: 41.38 ----- Predicted Price: 47.241806 Actual Price: 47.0 ----- Predicted Price: 42.374527 Actual Price: 42.61 ----- Predicted Price: 37.356453 Actual Price: 38.59 ----- Predicted Price: 67.91104 Actual Price: 67.45 ----- Predicted Price: 56.688038 Actual Price: 56.09 ----- Predicted Price: 54.464485 Actual Price: 53.3 ----- Predicted Price: 45.825542 Actual Price: 46.05 ----- Predicted Price: 66.440254 Actual Price: 64.73 ----- Predicted Price: 42.020786 Actual Price: 44.41 ----- Predicted Price: 69.74008 Actual Price: 68.69 ----- Predicted Price: 40.24812 Actual Price: 38.01 ----- Predicted Price: 55.469406 Actual Price: 54.99 ----- Predicted Price: 44.079735 Actual Price: 45.75 ----- Predicted Price: 50.93275 Actual Price: 50.54 ----- Predicted Price: 55.52492 Actual Price: 52.77000000000001 ----- Predicted Price: 60.343628 Actual Price: 57.87 ----- Predicted Price: 50.942688 Actual Price: 51.56 ----- Predicted Price: 40.32102 Actual Price: 41.37 ----- Predicted Price: 57.236557 Actual Price: 58.41 ----- Predicted Price: 51.494 Actual Price: 51.97999999999999 ----- Predicted Price: 51.599907 Actual Price: 51.129999999999995 ----- Predicted Price: 56.74975 Actual Price: 56.09 ----- Predicted Price: 37.865788 Actual Price: 35.62 ----- Predicted Price: 52.917664 Actual Price: 52.55 ----- Predicted Price: 55.26136 Actual Price: 52.64999999999999 ----- Predicted Price: 53.499023 Actual Price: 54.83 ----- Predicted Price: 53.162434 Actual Price: 53.2 ----- Predicted Price: 66.316246 Actual Price: 65.92 ----- Predicted Price: 65.66669 Actual Price: 66.6 ----- Predicted Price: 57.09935 Actual Price: 59.01 ----- Predicted Price: 41.448475 Actual Price: 42.24999999999999 ----- Predicted Price: 58.45044 Actual Price: 59.89 ----- Predicted Price: 57.983795 Actual Price: 57.15 ----- Predicted Price: 67.40463 Actual Price: 67.39 ----- Predicted Price: 41.841118 Actual Price: 40.54 ----- Predicted Price: 54.780594 Actual Price: 56.16 ----- Predicted Price: 43.725582 Actual Price: 45.62 ----- Predicted Price: 68.54156 Actual Price: 68.74 ----- Predicted Price: 56.96803 Actual Price: 56.15 -----

Comments

Popular posts from this blog

11. List of Capstone Projects for SOC - Deep Learning

8. Advanced CNN (Build AlexNet using Advanced CNN)