0% found this document useful (0 votes)
8 views3 pages

Practical 7 LSTM

Practical_7 Implement LSTM.

Uploaded by

vhoratanvir1610
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views3 pages

Practical 7 LSTM

Practical_7 Implement LSTM.

Uploaded by

vhoratanvir1610
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

Deep Learning and Applications(202047804)

Practical 7:

Aim : Implement LSTM Model and Test it for a Given Dataset.

About LSTM Model:


Long Short-Term Memory (LSTM) is a type of Recurrent Neural Network (RNN) architecture
designed to capture long-term dependencies in sequential data. It solves the vanishing gradient
problem by introducing gates to control the flow of information.

Key Points of LSTM: - LSTMs are well-suited for time-series forecasting, text, and sequential
data. - They use input, output, and forget gates to regulate memory cell updates. - LSTMs can learn
both short-term and long-term dependencies effectively. - Applications include stock prediction,
weather forecasting, language modeling, and anomaly detection.

Python Code Implementation:


import numpy as np import matplotlib.pyplot as plt
from pandas import read_csv import math import
tensorflow as tf from tensorflow.keras.models
import Sequential from tensorflow.keras.layers
import Dense, LSTM from sklearn.preprocessing
import MinMaxScaler from sklearn.metrics import
mean_squared_error
dataframe = read_csv('/content/drive/MyDrive/DataSet/airline-passengers.csv', usecols=[1], engine='py
dataset = dataframe.values dataset = dataset.astype('float32')
# normalize the dataset scaler =
MinMaxScaler(feature_range=(0, 1)) dataset =
scaler.fit_transform(dataset)
train_size = int(len(dataset) * 0.67) test_size = len(dataset) - train_size train,
test = dataset[0:train_size,:], dataset[train_size:len(dataset),:]
def create_dataset(dataset, look_back=1):
dataX, dataY = [], [] for i in
range(len(dataset)-look_back-1):
a = dataset[i:(i+look_back), 0]
dataX.append(a) dataY.append(dataset[i +
look_back, 0]) return np.array(dataX),
np.array(dataY)
look_back = 10 trainX, trainY = create_dataset(train,
look_back) testX, testY = create_dataset(test,
look_back)
trainX = np.reshape(trainX, (trainX.shape[0], 1, trainX.shape[1])) testX =
np.reshape(testX, (testX.shape[0], 1, testX.shape[1]))
model = Sequential()
model.add(LSTM(10, input_shape=(1, look_back)))
model.add(Dense(1))
model.compile(loss='mean_squared_error', optimizer='adam') model.fit(trainX,
trainY, epochs=100, batch_size=1, verbose=2)

GCET 38
Deep Learning and Applications(202047804)

trainPredict = model.predict(trainX) testPredict =


model.predict(testX)
trainPredict = scaler.inverse_transform(trainPredict)
trainY = scaler.inverse_transform([trainY]) testPredict =
scaler.inverse_transform(testPredict) testY =
scaler.inverse_transform([testY])
trainScore = np.sqrt(mean_squared_error(trainY[0], trainPredict[:,0]))
print('Train Score: %.2f RMSE' % (trainScore))
testScore = np.sqrt(mean_squared_error(testY[0], testPredict[:,0])) print('Test
Score: %.2f RMSE' % (testScore))
trainPredictPlot = np.empty_like(dataset) trainPredictPlot[:, :] = np.nan
trainPredictPlot[look_back:len(trainPredict)+look_back, :] = trainPredict
testPredictPlot = np.empty_like(dataset) testPredictPlot[:, :] = np.nan
testPredictPlot[len(trainPredict)+(look_back*2)+1:len(dataset)-1, :] = testPredict
plt.plot(scaler.inverse_transform(dataset))
plt.plot(trainPredictPlot)
plt.plot(testPredictPlot)
plt.show()

Output :

GCET 39
Deep Learning and Applications(202047804)

GCET 40

You might also like