import tensorflow as tf
import pandas as pd
import numpy as np
from keras.models import Sequential
from keras.layers import LSTM, Dense
from keras.optimizers import Adam
data = pd.read_csv(‘/content/drive/MyDrive/pokemon.csv’)
df = pd.DataFrame(data)
df.fillna(data, inplace=True)
e = pd.get_dummies(df, columns=[‘Type1’, ‘Type2’])
testik = pd.read_csv(‘/content/drive/MyDrive/pokemon.csv’)
X_train = np.array(e.drop(‘Name’, axis=1))
y_train = np.array(e[‘Name’])
X_train = X_train.reshape(-1, 1, X_train.shape[1])
X_test = np.array(data.drop(‘Name’, axis=1))
y_test = np.array(data[‘Name’])
X_test = X_test.reshape(-1, 1, X_train.shape[1])
model = Sequential()
model.add(Dense(units = 64, activation = ‘relu’))
model.add(Dense(units = 128, activation = ‘relu’))
model.add(LSTM(units = 256))
model.add(Dense(units = 512, activation = ‘relu’))
model.add(Dense(units = 1, activation = ‘tanh’))
model.compile(loss = ‘categorical_crossentropy’, optimizer = Adam(learning_rate = 0.001), metrics = [‘accuracy’])
model.fit(X_train, y_train, epochs=10, batch_size=32)
test_loss, test_acc = model.evaluate(X_test, y_test, verbose=2)
print('\nAccuracy based on test data: ', test_acc)