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
Post a Comment