From b6e05b49713bb7a8d856355a7ea72e3f0066deb9 Mon Sep 17 00:00:00 2001 From: pelinkeskin Date: Thu, 23 Nov 2023 10:39:18 +0300 Subject: [PATCH] Committing final version of NL on Disaster Tweets --- ...saster_Tweets_TF_Glove_Final_Version.ipynb | 3221 +++++++++++++++++ 1 file changed, 3221 insertions(+) create mode 100644 Kaggle_NLP_Disaster_Tweets/NLP_Disaster_Tweets_TF_Glove_Final_Version.ipynb diff --git a/Kaggle_NLP_Disaster_Tweets/NLP_Disaster_Tweets_TF_Glove_Final_Version.ipynb b/Kaggle_NLP_Disaster_Tweets/NLP_Disaster_Tweets_TF_Glove_Final_Version.ipynb new file mode 100644 index 0000000..b2ab091 --- /dev/null +++ b/Kaggle_NLP_Disaster_Tweets/NLP_Disaster_Tweets_TF_Glove_Final_Version.ipynb @@ -0,0 +1,3221 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "3e029b32", + "metadata": {}, + "source": [ + "# NLP with Disaster Tweets: Tensorflow LSTM-CNN-Glove" + ] + }, + { + "cell_type": "markdown", + "id": "e5ef3774", + "metadata": {}, + "source": [ + "### Abstract" + ] + }, + { + "cell_type": "markdown", + "id": "39e50f6f", + "metadata": {}, + "source": [ + " In this notebook, I undertook the preprocessing of the dataset and tailored it for DNN training. Initially, I conducted experiments with LSTM, training the embedding layer within the network. However, this approach resulted in overfitting due to the limited size of the training data. Subsequently, I incorporated a 200-dimensional Twitter version of Stanford's [GloVe](https://nlp.stanford.edu/projects/glove/) embeddings, exploring various architectures and ultimately opting for a straightforward LSTM-CNN hybrid model. To refine the model further, I fine-tuned the hyperparameters of the LSTM-CNN hybrid using Bayesian Optimization with Keras Tuner.\n", + "\n", + " As a beginner, I welcome your comments.๐Ÿ˜Š But I kindly request that you provide constructive feedback in a gentle manner, as I am new to this and still learning. ๐Ÿ˜… And please rate my notebook if you find it helpful. ๐Ÿค—" + ] + }, + { + "cell_type": "markdown", + "id": "10c0976c", + "metadata": {}, + "source": [ + "#### Version 3 updates\n", + "* Changed activation functions & kernal initializers\n", + "* Changed metrics for eval/early-stop and the objective of keras-tunner for model selection\n", + "* Added L2 regularization to dense layers\n", + "* Added roc-auc precision-recall curve graphs to model evaluation \n", + "* Added a seperate step for fine-tuning learning rate\n", + "* Changed hyper model to tune number of layers as well as number of hidden units and dropouts " + ] + }, + { + "cell_type": "markdown", + "id": "f7a610ea", + "metadata": {}, + "source": [ + "### Checking GPU configs" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "928807a2", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Thu Nov 23 00:46:04 2023 \n", + "+---------------------------------------------------------------------------------------+\n", + "| NVIDIA-SMI 545.23.06 Driver Version: 545.23.06 CUDA Version: 12.3 |\n", + "|-----------------------------------------+----------------------+----------------------+\n", + "| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |\n", + "| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |\n", + "| | | MIG M. |\n", + "|=========================================+======================+======================|\n", + "| 0 NVIDIA GeForce RTX 3050 ... On | 00000000:01:00.0 Off | N/A |\n", + "| N/A 40C P8 9W / 80W | 12MiB / 4096MiB | 0% Default |\n", + "| | | N/A |\n", + "+-----------------------------------------+----------------------+----------------------+\n", + " \n", + "+---------------------------------------------------------------------------------------+\n", + "| Processes: |\n", + "| GPU GI CI PID Type Process name GPU Memory |\n", + "| ID ID Usage |\n", + "|=======================================================================================|\n", + "| 0 N/A N/A 3773 G /usr/lib/xorg/Xorg 4MiB |\n", + "+---------------------------------------------------------------------------------------+\n" + ] + } + ], + "source": [ + "#Checking GPU to understand how much memory available for training\n", + "!nvidia-smi" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "9be208c6", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[3890]" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import subprocess as sp\n", + "import os\n", + "def get_gpu_memory():\n", + " command = \"nvidia-smi --query-gpu=memory.free --format=csv\"\n", + " memory_free_info = sp.check_output(command.split()).decode('ascii').split('\\n')[:-1][1:]\n", + " memory_free_values = [int(x.split()[0]) for i, x in enumerate(memory_free_info)]\n", + " return memory_free_values\n", + "\n", + "get_gpu_memory()" + ] + }, + { + "cell_type": "markdown", + "id": "2ee5e190", + "metadata": {}, + "source": [ + "### Importing useful libraries" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "379b0d2d", + "metadata": {}, + "outputs": [], + "source": [ + "import warnings\n", + "warnings.filterwarnings('ignore')\n", + "os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2' " + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "5a34a747", + "metadata": {}, + "outputs": [], + "source": [ + "#os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2' \n", + "os.environ['KMP_DUPLICATE_LIB_OK']='True'" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "d1f7bd16-cda3-4c45-a6ac-345d409a1349", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2023-11-23 00:46:05.050783: E tensorflow/compiler/xla/stream_executor/cuda/cuda_dnn.cc:9342] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered\n", + "2023-11-23 00:46:05.050867: E tensorflow/compiler/xla/stream_executor/cuda/cuda_fft.cc:609] Unable to register cuFFT factory: Attempting to register factory for plugin cuFFT when one has already been registered\n", + "2023-11-23 00:46:05.052161: E tensorflow/compiler/xla/stream_executor/cuda/cuda_blas.cc:1518] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered\n" + ] + } + ], + "source": [ + "#Enabling memory growth for GPU\n", + "from tensorflow.compat.v1 import ConfigProto\n", + "from tensorflow.compat.v1 import InteractiveSession\n", + "config = ConfigProto()\n", + "config.gpu_options.allow_growth = True\n", + "session = InteractiveSession(config=config)\n", + "import tensorflow as tf" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "2ee7a2f4", + "metadata": {}, + "outputs": [], + "source": [ + "import gc\n", + "import pandas as pd\n", + "import numpy as np\n", + "import tensorflow_addons as tfa\n", + "from tensorflow.keras.preprocessing.text import Tokenizer\n", + "from tensorflow.keras.preprocessing.sequence import pad_sequences\n", + "from tensorflow.keras.callbacks import Callback\n", + "from sklearn.model_selection import train_test_split\n", + "import keras_tuner as kt\n", + "from sklearn.metrics import RocCurveDisplay, PrecisionRecallDisplay\n", + "from sklearn.metrics import auc, roc_curve\n", + "from sklearn import metrics\n", + "from sklearn.metrics import ConfusionMatrixDisplay, confusion_matrix\n", + "from tensorflow.keras import regularizers\n", + "from tensorflow.keras.layers import LeakyReLU\n", + "import matplotlib.pyplot as plt" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "705510d4", + "metadata": {}, + "outputs": [], + "source": [ + "# for reproducibility\n", + "seed0=1337\n", + "np.random.seed(seed0) \n", + "tf.keras.utils.set_random_seed(seed0)\n", + "tf.config.experimental.enable_op_determinism()" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "6d338776", + "metadata": {}, + "outputs": [], + "source": [ + "pd.set_option('display.max_colwidth', None)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "41ccdebe", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[nltk_data] Downloading package stopwords to /home/pelin/nltk_data...\n", + "[nltk_data] Package stopwords is already up-to-date!\n" + ] + }, + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import string\n", + "import nltk\n", + "nltk.download('stopwords')" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "c602d28e", + "metadata": {}, + "outputs": [], + "source": [ + "from nltk.corpus import stopwords\n", + "import re" + ] + }, + { + "cell_type": "markdown", + "id": "a8a56c46", + "metadata": {}, + "source": [ + "## Preprocessing" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "12c78104", + "metadata": {}, + "outputs": [], + "source": [ + "df=pd.read_csv(\"train.csv\")" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "a803a733", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(7613, 5)" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idkeywordlocationtexttarget
01NaNNaNOur Deeds are the Reason of this #earthquake May ALLAH Forgive us all1
14NaNNaNForest fire near La Ronge Sask. Canada1
25NaNNaNAll residents asked to 'shelter in place' are being notified by officers. No other evacuation or shelter in place orders are expected1
36NaNNaN13,000 people receive #wildfires evacuation orders in California1
47NaNNaNJust got sent this photo from Ruby #Alaska as smoke from #wildfires pours into a school1
\n", + "
" + ], + "text/plain": [ + " id keyword location \\\n", + "0 1 NaN NaN \n", + "1 4 NaN NaN \n", + "2 5 NaN NaN \n", + "3 6 NaN NaN \n", + "4 7 NaN NaN \n", + "\n", + " text \\\n", + "0 Our Deeds are the Reason of this #earthquake May ALLAH Forgive us all \n", + "1 Forest fire near La Ronge Sask. Canada \n", + "2 All residents asked to 'shelter in place' are being notified by officers. No other evacuation or shelter in place orders are expected \n", + "3 13,000 people receive #wildfires evacuation orders in California \n", + "4 Just got sent this photo from Ruby #Alaska as smoke from #wildfires pours into a school \n", + "\n", + " target \n", + "0 1 \n", + "1 1 \n", + "2 1 \n", + "3 1 \n", + "4 1 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "display(df.shape)\n", + "display(df.head(5))" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "732bc3ba", + "metadata": {}, + "outputs": [], + "source": [ + "#splitting dataset to train-test segments for training and validation\n", + "def parse_data_from_dataframe(df):\n", + " sentences = df['text']\n", + " labels = df['target']\n", + " X_train, X_test, y_train, y_test = train_test_split(sentences,\n", + " labels,\n", + " test_size=0.30,\n", + " random_state=seed0,\n", + " shuffle=True)\n", + " \n", + " return X_train, X_test, y_train, y_test" + ] + }, + { + "cell_type": "markdown", + "id": "a6088bba", + "metadata": {}, + "source": [ + "Source for some of the twitter specific regex: https://www.kaggle.com/code/stoicstatic/twitter-sentiment-analysis-using-word2vec-bilstm " + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "4932e422", + "metadata": {}, + "outputs": [], + "source": [ + "def remove_stopwords(sentence):\n", + " # Replace @USERNAME to ''.\n", + " sentence = re.sub('@[^\\s]+','user', sentence)\n", + " #removing html tags\n", + " sentence = re.sub(r'<.*?>',r'',sentence)\n", + " # Replace all URls with ''\n", + " sentence = re.sub(r'''(?i)\\b((?:https?://|www\\d{0,3}[.]|[a-z0-9.\\-]+[.][a-z]{2,4}/)(?:[^\\s()<>]+|\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\))+(?:\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\)|[^\\s`!()\\[\\]{};:'\".,<>?ยซยปโ€œโ€โ€˜โ€™]))''', \"\", sentence)\n", + " # Adding space on either side of '/' to seperate words (After replacing URLS).\n", + " sentence = re.sub(r'/', ' / ', sentence)\n", + "\n", + " # Replace 3 or more consecutive letters by 2 letter.\n", + " sentence = re.sub(r\"(.)\\1\\1+\", r\"\\1\\1\", sentence)\n", + "\n", + " sentence = re.sub(r'<.*?>',r'',sentence)\n", + " \n", + " # Replace all emojis.\n", + " sentence = re.sub(r'<3', '', sentence)\n", + " sentence = re.sub(r\"[8:=;]['`\\-]?[)d]+\", '', sentence)\n", + " sentence = re.sub(r\"[8:=;]['`\\-]?\\(+\", '', sentence)\n", + " sentence = re.sub(r\"[8:=;]['`\\-]?[\\/|l*]\", '', sentence)\n", + " sentence = re.sub(r\"[8:=;]['`\\-]?p+\", '', sentence)\n", + " \n", + "\n", + " #removing punctuation\n", + " sentence = \"\".join([char for char in sentence if char not in string.punctuation])\n", + " #removing numerics\n", + " sentence = re.sub('[0-9]+', '', sentence)\n", + " \n", + " #stopwords_list = list(set(stopwords.words('english')))\n", + " #sentence=[x for x in sentence if x not in stopwords_list]\n", + " sentence = sentence.lower().split()\n", + " \n", + " return \" \".join(sentence)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "258d6c60", + "metadata": {}, + "outputs": [], + "source": [ + "X_train, X_test, y_train, y_test = parse_data_from_dataframe(df)" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "3a34f1df", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "546 No snowflake in an avalanche ever feels responsible.\n", + "3944 Flood Advisory issued August 05 at 7:10PM CDT until August 05 at 8:00PM CDT by NWS: ...THE URBAN AND ... http://t.co/SeMw5cQ7Dg #weather\n", + "4506 Hurricane Dancers: The First Caribbean Pirate Shipwreck\\nMargarita Engle - Henry Holt and Co. (BYR). http://t.co/i7EskymOec\n", + "413 #NOWPLAYING Arsonist MC - So Impressed - @ARSONISTMUSIC http://t.co/1ElreH1jLJ\n", + "7420 Police Officer Wounded Suspect Dead After Exchanging Shots http://t.co/brE2lGmn7C #ABC #News #AN247\n", + "6766 @Ayshun_Tornado then don't\n", + "2887 @POTUS you until you drown by water entering the lungs. You being alive has caused this great country to fall to shit because you're a pussy\n", + "3819 I just added 'Sandy First Responders Lost Their Homes' to VIP Home Page Group on @Vimeo: https://t.co/lKXi6UXjaQ\n", + "Name: text, dtype: object" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#checking samples from the dataset before preprocess\n", + "X_train[51:59]" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "be568b1b", + "metadata": {}, + "outputs": [], + "source": [ + "X_train=X_train.apply(remove_stopwords)\n", + "X_test=X_test.apply(remove_stopwords)" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "067ed34b", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "546 no snowflake in an avalanche ever feels responsible\n", + "3944 flood advisory issued august at pm cdt until august at pm cdt by nws the urban and weather\n", + "4506 hurricane dancers the first caribbean pirate shipwreck margarita engle henry holt and co byr\n", + "413 nowplaying arsonist mc so impressed user\n", + "7420 police officer wounded suspect dead after exchanging shots abc news an\n", + "6766 user then dont\n", + "2887 user you until you drown by water entering the lungs you being alive has caused this great country to fall to shit because youre a pussy\n", + "3819 i just added sandy first responders lost their homes to vip home page group on user\n", + "Name: text, dtype: object" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#checking samples from the dataset after preprocess\n", + "X_train[51:59]" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "f029ac27", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "There are 5329 sentences in the dataset.\n", + "\n", + "Train set info:\n", + "First sentence has 17 words (after removing stopwords).\n", + "\n", + "Max lenght of sentence has 32 words (after removing stopwords).\n", + "\n", + "There are 5329 labels in the dataset.\n", + "\n", + "The first 5 labels are 1927 0\n", + "3229 0\n", + "3505 0\n", + "6430 1\n", + "5369 0\n", + "Name: target, dtype: int64\n", + "\n", + "\n", + "Test set info:\n", + "There are 2284 sentences in the dataset.\n", + "\n", + "First sentence has 14 words (after removing stopwords).\n", + "\n", + "Max lenght of sentence has 32 words (after removing stopwords).\n", + "\n", + "There are 2284 labels in the dataset.\n", + "\n", + "The first 5 labels are 1948 0\n", + "5508 0\n", + "5041 0\n", + "4147 0\n", + "5108 1\n", + "Name: target, dtype: int64\n", + "\n", + "\n" + ] + } + ], + "source": [ + "print(f\"There are {len(X_train)} sentences in the dataset.\\n\")\n", + "\n", + "max_len_train=X_train.str.split().map(lambda x: len(x)).max()\n", + "print(\"Train set info:\")\n", + "print(f\"First sentence has {len(X_train.head(1).values[0].split())} words (after removing stopwords).\\n\")\n", + "print(f\"Max lenght of sentence has {max_len_train} words (after removing stopwords).\\n\")\n", + "print(f\"There are {len(y_train)} labels in the dataset.\\n\")\n", + "print(f\"The first 5 labels are {y_train.head(5)}\\n\\n\")\n", + "\n", + "max_len_test=X_test.str.split().map(lambda x: len(x)).max()\n", + "print(\"Test set info:\")\n", + "print(f\"There are {len(X_test)} sentences in the dataset.\\n\")\n", + "print(f\"First sentence has {len(X_test.head(1).values[0].split())} words (after removing stopwords).\\n\")\n", + "print(f\"Max lenght of sentence has {max_len_train} words (after removing stopwords).\\n\")\n", + "print(f\"There are {len(y_test)} labels in the dataset.\\n\")\n", + "print(f\"The first 5 labels are {y_test.head(5)}\\n\\n\")" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "2a1c1e64", + "metadata": {}, + "outputs": [], + "source": [ + "max_length = 32\n", + "trunc_type='post'\n", + "oov_tok = \"\"\n", + "padding = 'post'" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "61b62aee", + "metadata": {}, + "outputs": [], + "source": [ + "# Initialize the Tokenizer class\n", + "tokenizer = Tokenizer(num_words = len(X_train), oov_token=oov_tok)" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "07eea32d", + "metadata": {}, + "outputs": [], + "source": [ + "# Generate the word index dictionary for the training sentences\n", + "tokenizer.fit_on_texts(X_train)\n", + "word_index = tokenizer.word_index\n", + "vocab_size = len(word_index)" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "c2c92659", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Vocabulary contains 12179 words\n", + "\n", + " token included in vocabulary\n" + ] + } + ], + "source": [ + "print(f\"Vocabulary contains {len(word_index)} words\\n\")\n", + "print(\" token included in vocabulary\" if \"\" in word_index else \" token NOT included in vocabulary\")" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "49b88327", + "metadata": {}, + "outputs": [], + "source": [ + "def seq_pad_and_trunc(sentences, tokenizer, padding, trunc_type, max_length):\n", + " sequences = tokenizer.texts_to_sequences(sentences)\n", + " padded = pad_sequences(sequences,maxlen=max_length, truncating=trunc_type)\n", + " return padded" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "defa5903", + "metadata": {}, + "outputs": [], + "source": [ + "# Generating and padding the training sequences\n", + "padded = seq_pad_and_trunc(X_train, tokenizer, padding, trunc_type, max_length)\n", + "# Generating and padding the test sequences\n", + "testing_padded = seq_pad_and_trunc(X_test, tokenizer, padding, trunc_type, max_length)" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "cfbc1f82", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Training Set Shape = (5329, 32)\n", + "Training Set Memory Usage = 5456896.00 Bit\n", + "Test Set Shape = (2284, 32)\n", + "Test Set Memory Usage = 2338816.00 Bit\n" + ] + } + ], + "source": [ + "print('Training Set Shape = {}'.format(padded.shape))\n", + "print('Training Set Memory Usage = {:.2f} Bit'.format(padded.nbytes*8 ))\n", + "print('Test Set Shape = {}'.format(testing_padded.shape))\n", + "print('Test Set Memory Usage = {:.2f} Bit'.format(testing_padded.nbytes*8))" + ] + }, + { + "cell_type": "markdown", + "id": "4bba95eb", + "metadata": {}, + "source": [ + "## Training an LSTM Model with Self-Trained Embeddings" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "005e6818", + "metadata": {}, + "outputs": [], + "source": [ + "# Plot Utility\n", + "def plot_graphs(history, string):\n", + " plt.plot(history.history[string])\n", + " plt.plot(history.history['val_'+string])\n", + " plt.xlabel(\"Epochs\")\n", + " plt.ylabel(string)\n", + " plt.legend([string, 'val_'+string])\n", + " plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "beb67d93", + "metadata": {}, + "outputs": [], + "source": [ + "def call():\n", + " es = tf.keras.callbacks.EarlyStopping(\n", + " monitor='val_loss', # metrics to monitor\n", + " min_delta=0,#min amoung to count as an improvement\n", + " patience=20, # how many epochs before stop\n", + " verbose=1,\n", + " mode='min', # we need to max f1\n", + " restore_best_weights=True)\n", + " \n", + " rp = tf.keras.callbacks.ReduceLROnPlateau(\n", + " monitor='val_loss',\n", + " factor=0.2,\n", + " patience=5,\n", + " verbose=1,\n", + " mode='min',\n", + " min_lr=1e-8)\n", + " \n", + " return es,rp\n", + "callbacks = call()" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "66f93a41", + "metadata": {}, + "outputs": [], + "source": [ + "activation = LeakyReLU(alpha = 0.01)" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "b094db9d", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Model: \"sequential\"\n", + "_________________________________________________________________\n", + " Layer (type) Output Shape Param # \n", + "=================================================================\n", + " embedding (Embedding) (None, 32, 32) 389728 \n", + " \n", + " bidirectional (Bidirection (None, 64) 16640 \n", + " al) \n", + " \n", + " dropout (Dropout) (None, 64) 0 \n", + " \n", + " dense (Dense) (None, 64) 4160 \n", + " \n", + " dense_1 (Dense) (None, 1) 65 \n", + " \n", + "=================================================================\n", + "Total params: 410593 (1.57 MB)\n", + "Trainable params: 410593 (1.57 MB)\n", + "Non-trainable params: 0 (0.00 Byte)\n", + "_________________________________________________________________\n" + ] + } + ], + "source": [ + "# Parameters\n", + "embedding_dim = 32\n", + "lstm_dim = 32\n", + "dense_dim = 64\n", + "\n", + "# Model Definition with LSTM\n", + "model_lstm = tf.keras.Sequential([\n", + " tf.keras.layers.Embedding(vocab_size, embedding_dim, input_length=max_length),\n", + " tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(lstm_dim, dropout=0.2, \n", + " kernel_initializer = 'orthogonal')),\n", + " tf.keras.layers.Dropout(0.5),\n", + " tf.keras.layers.Dense(dense_dim,kernel_initializer = 'he_normal',\n", + " kernel_regularizer = regularizers.l2(1e-4), \n", + " activation=activation),\n", + " tf.keras.layers.Dense(1,kernel_regularizer = regularizers.l2(1e-4), \n", + " activation='sigmoid')\n", + "])\n", + "\n", + "# Setting the training parameters\n", + "model_lstm.compile(loss='binary_crossentropy',optimizer=tf.keras.optimizers.experimental.Nadam(),\n", + " metrics=[tfa.metrics.FBetaScore(name='f1_score',num_classes=1,\n", + " average='macro',threshold=0.5)])\n", + "#metrics=[tfa.metrics.FBetaScore(name='f1_score',num_classes=1,average='macro',threshold=0.5)]\n", + "# Printing the model summary\n", + "model_lstm.summary()" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "d6764c86", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 1/100\n", + "42/42 [==============================] - 17s 288ms/step - loss: 0.6926 - f1_score: 0.0634 - val_loss: 0.6722 - val_f1_score: 0.0408 - lr: 0.0010\n", + "Epoch 2/100\n", + "42/42 [==============================] - 9s 222ms/step - loss: 0.5522 - f1_score: 0.6481 - val_loss: 0.4801 - val_f1_score: 0.7557 - lr: 0.0010\n", + "Epoch 3/100\n", + "42/42 [==============================] - 8s 182ms/step - loss: 0.3763 - f1_score: 0.8159 - val_loss: 0.5030 - val_f1_score: 0.7203 - lr: 0.0010\n", + "Epoch 4/100\n", + "42/42 [==============================] - 6s 142ms/step - loss: 0.2924 - f1_score: 0.8621 - val_loss: 0.4907 - val_f1_score: 0.7595 - lr: 0.0010\n", + "Epoch 5/100\n", + "42/42 [==============================] - 4s 97ms/step - loss: 0.2387 - f1_score: 0.8962 - val_loss: 0.5647 - val_f1_score: 0.7410 - lr: 0.0010\n", + "Epoch 6/100\n", + "42/42 [==============================] - 5s 117ms/step - loss: 0.2057 - f1_score: 0.9165 - val_loss: 0.5888 - val_f1_score: 0.7395 - lr: 0.0010\n", + "Epoch 7/100\n", + "42/42 [==============================] - ETA: 0s - loss: 0.1753 - f1_score: 0.9227\n", + "Epoch 7: ReduceLROnPlateau reducing learning rate to 0.00020000000949949026.\n", + "42/42 [==============================] - 4s 82ms/step - loss: 0.1753 - f1_score: 0.9227 - val_loss: 0.7233 - val_f1_score: 0.7403 - lr: 0.0010\n", + "Epoch 8/100\n", + "42/42 [==============================] - 3s 83ms/step - loss: 0.1367 - f1_score: 0.9455 - val_loss: 0.7573 - val_f1_score: 0.7433 - lr: 2.0000e-04\n", + "Epoch 9/100\n", + "42/42 [==============================] - 4s 91ms/step - loss: 0.1312 - f1_score: 0.9471 - val_loss: 0.7858 - val_f1_score: 0.7392 - lr: 2.0000e-04\n", + "Epoch 10/100\n", + "42/42 [==============================] - 3s 72ms/step - loss: 0.1245 - f1_score: 0.9485 - val_loss: 0.8157 - val_f1_score: 0.7396 - lr: 2.0000e-04\n", + "Epoch 11/100\n", + "42/42 [==============================] - 3s 82ms/step - loss: 0.1212 - f1_score: 0.9532 - val_loss: 0.8338 - val_f1_score: 0.7377 - lr: 2.0000e-04\n", + "Epoch 12/100\n", + "42/42 [==============================] - ETA: 0s - loss: 0.1186 - f1_score: 0.9503\n", + "Epoch 12: ReduceLROnPlateau reducing learning rate to 4.0000001899898055e-05.\n", + "42/42 [==============================] - 4s 92ms/step - loss: 0.1186 - f1_score: 0.9503 - val_loss: 0.8654 - val_f1_score: 0.7313 - lr: 2.0000e-04\n", + "Epoch 13/100\n", + "42/42 [==============================] - 4s 90ms/step - loss: 0.1100 - f1_score: 0.9563 - val_loss: 0.8803 - val_f1_score: 0.7339 - lr: 4.0000e-05\n", + "Epoch 14/100\n", + "42/42 [==============================] - 3s 71ms/step - loss: 0.1153 - f1_score: 0.9530 - val_loss: 0.8844 - val_f1_score: 0.7351 - lr: 4.0000e-05\n", + "Epoch 15/100\n", + "42/42 [==============================] - 3s 65ms/step - loss: 0.1129 - f1_score: 0.9526 - val_loss: 0.8944 - val_f1_score: 0.7352 - lr: 4.0000e-05\n", + "Epoch 16/100\n", + "42/42 [==============================] - 3s 66ms/step - loss: 0.1048 - f1_score: 0.9577 - val_loss: 0.9051 - val_f1_score: 0.7316 - lr: 4.0000e-05\n", + "Epoch 17/100\n", + "42/42 [==============================] - ETA: 0s - loss: 0.1082 - f1_score: 0.9582\n", + "Epoch 17: ReduceLROnPlateau reducing learning rate to 8.000000525498762e-06.\n", + "42/42 [==============================] - 3s 79ms/step - loss: 0.1082 - f1_score: 0.9582 - val_loss: 0.9067 - val_f1_score: 0.7348 - lr: 4.0000e-05\n", + "Epoch 18/100\n", + "42/42 [==============================] - 3s 65ms/step - loss: 0.1081 - f1_score: 0.9564 - val_loss: 0.9102 - val_f1_score: 0.7338 - lr: 8.0000e-06\n", + "Epoch 19/100\n", + "42/42 [==============================] - 4s 93ms/step - loss: 0.1093 - f1_score: 0.9560 - val_loss: 0.9136 - val_f1_score: 0.7335 - lr: 8.0000e-06\n", + "Epoch 20/100\n", + "42/42 [==============================] - 3s 78ms/step - loss: 0.1052 - f1_score: 0.9562 - val_loss: 0.9183 - val_f1_score: 0.7311 - lr: 8.0000e-06\n", + "Epoch 21/100\n", + "42/42 [==============================] - 3s 69ms/step - loss: 0.1079 - f1_score: 0.9558 - val_loss: 0.9171 - val_f1_score: 0.7319 - lr: 8.0000e-06\n", + "Epoch 22/100\n", + "42/42 [==============================] - ETA: 0s - loss: 0.1065 - f1_score: 0.9579Restoring model weights from the end of the best epoch: 2.\n", + "\n", + "Epoch 22: ReduceLROnPlateau reducing learning rate to 1.6000001778593287e-06.\n", + "42/42 [==============================] - 3s 73ms/step - loss: 0.1065 - f1_score: 0.9579 - val_loss: 0.9179 - val_f1_score: 0.7328 - lr: 8.0000e-06\n", + "Epoch 22: early stopping\n" + ] + } + ], + "source": [ + "NUM_EPOCHS = 100\n", + "BATCH_SIZE = 128\n", + "\n", + "# Training the model\n", + "history_lstm = model_lstm.fit(padded, y_train, \n", + " batch_size=BATCH_SIZE, epochs=NUM_EPOCHS, \n", + " callbacks=[callbacks],\n", + " validation_data=(testing_padded, y_test))" + ] + }, + { + "cell_type": "markdown", + "id": "7f23c804", + "metadata": {}, + "source": [ + "### Assessing Model Performance" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "3d7fbad3", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAG0CAYAAADO5AZFAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAABRI0lEQVR4nO3deXwTZf4H8M/kTtuk9wmFgpxyFCxQK95UWtQKij8Q+Qmi4qqAYPWnonK4HiyuIroiLK666wqKtwiIC11BRVwQtoByCYIt0rSF0ittkjaZ3x+TpA0UeiWZNP28X695JTOZJN+Qlvn0mWeeRxBFUQQRERFRkFDIXQARERGRNzHcEBERUVBhuCEiIqKgwnBDREREQYXhhoiIiIIKww0REREFFYYbIiIiCioMN0RERBRUGG6IiIgoqDDcEBERUVCRNdx88803yMnJQVJSEgRBwGeffdbsc7Zs2YJLLrkEWq0WvXr1wt///nef10lEREQdh0rONzebzUhNTcVdd92FW265pdn9jx07hhtuuAH33XcfVq1ahby8PNxzzz1ITExEVlZWi97T4XDg5MmTMBgMEAShvR+BiIiI/EAURVRVVSEpKQkKxYXbZoRAmThTEAR8+umnGDdu3Hn3eeyxx7B+/Xr89NNP7m233XYbysvLsXHjxha9z4kTJ5CcnNzecomIiEgGhYWF6Nq16wX3kbXlprW2b9+OzMxMj21ZWVmYM2fOeZ9jtVphtVrd664sV1hYCKPR6JM6iYiIyLsqKyuRnJwMg8HQ7L4dKtyYTCbEx8d7bIuPj0dlZSVqa2uh1+vPec6iRYvw9NNPn7PdaDQy3BAREXUwLelSEvRXS82dOxcVFRXupbCwUO6SiIiIyIc6VMtNQkICiouLPbYVFxfDaDQ22WoDAFqtFlqt1h/lERERUQDoUC03GRkZyMvL89i2adMmZGRkyFQRERERBRpZw011dTXy8/ORn58PQLrUOz8/HwUFBQCkU0pTpkxx73/ffffh119/xaOPPoqDBw/i9ddfxwcffICHHnpIjvKJiIgoAMkabn788UcMHToUQ4cOBQDk5uZi6NChmD9/PgCgqKjIHXQAoEePHli/fj02bdqE1NRUvPTSS/jb3/7W4jFuiIiIKPgFzDg3/lJZWYnw8HBUVFTwaikiIqIOojXH7w7V54aIiIioOQw3REREFFQYboiIiCioMNwQERFRUGG4ISIioqDCcENERERBpUNNv0BERB2fKIqwO0Q4RMAhis7Fed9xnvuiCI1KAa1KCa1KAY1SAYWi+QkUyf/sDhG2egf0GqVsNTDcEBG1g63egZIqC4orLSiutOJUtRUapQIGnRphOhUMOhUMWpV7PVSjbNGsxoGmzu5AmdmGU9VWnK5udGu24lSVDafNDdvN1nqIzlBidwaXxoHGWzRKhRR0VNKtVq2Utqmd6yplw2Nnr6sV0CiVUCkFKAQBCgFQCAIEQZp1+nzrCgEQIG1XCAIUirPWnc9xjSAnQrojioDrozceXk7a3mgf9/Ma9mv8Tyagoa7G9TXeLsC5zbUP4FFn4/1FiLDWOWCpt8NS54Clzg5LnR3Weul+rc1+1mMOWOvt7vuWOs/HrXUO2OwOxBm02PFkpve+7FZiuCGigCOKIsw2O8qqbSirseFMjQ1qhQKhWiXCtCqEaFUI06gQqlVCpfTN2XW7Q8RpsxUllVaYKiworpLCS3Hj+5UWlJltrXpdhQCEalUw6tQw6FQI00oBKMy5bnCtNwpEBp0KerXS4+DpOrC6DrhA4wOwcx+F50Ha9ZjrAC1CRHlNHU5VW3GqWgoojYNKabUVp6utOG22obymzif/zhciCIDSWTMEKUg2ZrNLB1JY/V4aNcN61nflbww3RORz9XYHztTU4UyNDaerbSgzS6GlrFoKLqfNNpwxN9yW1djOOZCdj1alcAYeJUI1UigI1Uq3IRql+750q0SIpuFxhyiiuNKCkiopqEghxooS5zZ7C5sZNCoF4o1axBt0iAnTot7hQKWlHtWWelRZ66RbSz3qnS0XVc71jkYhAFGhWsSEaRATpkV049tQLWIMGkSHahGmU7lDiStkKV2hShCgVDTcVwhwrgseYcbVwtCYKIqos4uw1kstC7Z6B6z1UkuCq8XA6mxZ8His8b7OVgnXY/V2qd3EIYru1qbz3bpaoByi6zmN1s/aR4CzCQWulhTXfaHhvuC5Lm0TmniOtF10vq/rvdBE3a6WIPc2Z51w1QYRDodny5BWrYROpYBOrYRO7bxVNdzXurarlO599Gql87Fz93ftIyeGG6JOxnU+3GZ3oM652Opdt2LDNrsDdXYRdfUN69J+Z+3T6DnWegdqbXYpuDQKLBW1bfurX6dWIDpUi3C9GnaHiGprPcy2etRY7dJf7IDzIGXDabM3/5UkCgGINWgRb9QhzqBDQrgUYOKNOsSH69yBJiJE3eypJlEUYalzoMpahypX8LHUo9pah0rXfUs9qix1qLZK61VWab3KUg9Lnd158GrcD6Xh4Oo450Dc+PGGx84WolE2hJRQLWKdASX6rAATE6ZFhF4taz8XQRCgUQnQqBQwyFYFdQQMN0QBzOEQsf3X09j92xlYnH+NuoKJ669R13pT961NPNbS1ghvEwQgQq9GZKgG0aEaRIZoEB0m3UaFNizRoVpEhqoRHaq9YIdEW70DZms9qq31qLHZpeDjWmx292Pmsx537W+2Si0ncUYd4g1aJITrPO7HG3WIDtV47bSXIAjQa5TQa5SIk+nILLr+ukdD2NGoeNEsBR+GG6IAVFRRi49+PIEPdhWisKzWp++lUSqgVgpQqxRQKxXudY1z3b1NJXiuK6V1137SrQCdSomoMA2izgot4Xq1V/vHaFQKaFQaRIZqvPaawc7VyRQAlJCvBYbI1xhuiAJEnd2BvAMlWLOzAFsPl7qvKjFoVRjVPw4RIRrpgO4MEmff1zb7mLLhMVVDQOmIV+4QEV0Iww2RzI6WVuODnYX4ePcJnKpuuPJmRI8o3DY8GWMGJso6XgQRUUfDcEMkgxpbPTbsM2HNzgLsPH7GvT0mTItb07piwrCu6BkbJmOFREQdF8MNkZ+Iooi9Jyqw5sdCrM0/iWpnh1aFAFzTNw4Thyfjmn5xUPto3BYios6C4YbIx8prbPj0v79jzc5CHDRVubd3iwrBxOHJGH9JVySE62SskIgouDDcEPmA6xLuNTsLsfFnk3tAOo1KgesHJmDC8GRc2iOac+MQEfkAww2Rl9TbHfi9vBZr80+ecwl3/0QjJo1IxtjULggPUctYJRFR8GO4IWoBs7UeJufw/KYKC0yVlobh+iul9dIqq8ekgAatCmOHJmHisG4Y2MXIS66JiPyE4YY6NYdDxCmzFcUVVim8VFpgqqiFqcLqDi3FFRZUWVs2D5BKIeCS7pG8hJuISEYMN9Sp1Nkd+O7IKXyRfxL/OVaG4koL6ls4HYFBq0J8uA4JRmlo/oRwLRKMOiSE66Vt4VrEhGrZj4aISGYMNxT07A4RO46V4Yu9J/HlviKcqfGcxFEhSOPLJDiDi2teIY/74TqEafnrQkTUEfB/awpKoihiz4kKrM0/ifX7TqK40up+LCZMgxsGJSJrYAJ6xIQiNkzr1TmPiIhIXgw3FFQOmirxxZ6T+GJPEQrKatzbjToVxgxMRE5qEi7tGcUwQ0QUxBhuqMM7fsosBZq9J3G4uNq9Xa9W4rqL43FTahKu6BMDrYqde4mIOgOGG+qQiipqsX5vEb7YcxJ7TlS4t2uUClzdNxY5qUkY1T8OIRr+iBMRdTb8n586jNPVVmz4yYQv9pzEzuNlEJ0XOSkVAi67KBo3pSZh9IAEhOs5SB4RUWfGcEMBze4QsW7vSXyy+3d8d+QU7I0u2x6REoWc1ESMGZSImDCtjFUSEVEgYbihgPXj8TIsWPszfj5Z6d42qEs4bkpNwg2DE5EUoZexOiIiClQMNxRwiipqsWjDQazdcxIAYNCpcNfIHhg7JAk9Y8Nkro6IiAIdww0FDEudHW988yte33IUtXV2CAJw2/BkPDy6L087ERFRizHckOxEUcRXP5vw7PoDOHFGmkl7WPdILLxpAAZ2CZe5OiIi6mgYbkhWh0xVePqLn/H90dMAgASjDnOv74ebUpM4izYREbUJww3JoqKmDi9vPox//vAb7A4RGpUCf7iyJ+6/+iKOTUNERO3Cowj5ld0hYvWOAiz51yH3BJbZAxLw5A39kRwVInN1REQUDBhuyG9++PU0Fq79GQdNVQCAPvFhWJAzACN7xchcGRERBROGG/K538tr8fyGA1i/twiANIll7nV98L+XducElkRE5HUMN+QztTY7/vrNUazYehSWOgcUAjBpRDc8PLovokI1cpdHRERBiuGGvE4URWzYZ8LzGw7g93Lp0u4RPaKwMGcALk4yylwdEREFO4Yb8qoDRZVYuPZn/OdYGQAgKVyHJ27ojxsGJfLSbiIi8guGG/IKu0PEkk2HsHzLUThEQKtS4L6rLsJ9V10EvUYpd3lERNSJMNxQu5WZbZj9/n/x7S+nAAA3DErE3Ov7oWskL+0mIiL/Y7ihdvnp9wr84Z+78Ht5LfRqJRbfOhg3pSbJXRYREXViDDfUZh/+WIgnP/sJtnoHUqJDsOKONPRLYIdhIiKSF8MNtZqt3oE/rvsZ7/5QAAAY1S8OSyYOQbheLXNlREREDDfUSqYKC+5ftQv/LSiHIABzRvXBrGt7QaHglVBERBQYGG6oxf7z62nMWP1fnKq2wqhT4ZXbhuKafnFyl0VEROSB4YaaJYoi3t52HM9tOAC7Q0S/BAP+ekcaukeHyl0aERHRORhu6IJqbPWY+8k+fJ5/EgAwdkgSFt0yCCEa/ugQEVFg4hGKzuu302b84Z+7cNBUBaVCwJPX98e0kSkcaZiIiAIaww016euDJZj9/n9RaalHTJgWy24fivSe0XKXRURE1CyGG/LgcIj4y7+PYGneYYgiMLRbBJZPTkNCuE7u0oiIiFqE4YbcKmrrkLsmH3kHSwAAd1zaHfNuvBgalULmyoiIiFqO4YYAAAdNlbjvn7tw/HQNNCoFnhs3EP8zLFnusoiIiFqN4Yawds9JPPbRXtTW2dElQo8V/5uGQV3D5S6LiIioTRhuOrE6uwN/+vIg3vzuGADg8l4xeHXSUESFamSujIiIqO0Ybjqp0iorZq7ejf8cKwMAPHD1RXh4dF8oOY0CERF1cAw3nZDZWo9blm9DYVktQjVKvDQhFdkDE+Uui4iIyCsYbjqhf+03obCsFvFGLVbdcyl6xYXJXRIREZHX8BrfTsg1lcKkEd0YbIiIKOgERLhZtmwZUlJSoNPpkJ6ejh07dlxw/6VLl6Jv377Q6/VITk7GQw89BIvF4qdqO7bT1VZ8+8spAMBNqUkyV0NEROR9soebNWvWIDc3FwsWLMDu3buRmpqKrKwslJSUNLn/6tWr8fjjj2PBggU4cOAA3nzzTaxZswZPPPGEnyvvmDb8ZILdIWJQl3D0jGWrDRERBR/Zw82SJUswffp0TJs2DRdffDFWrFiBkJAQvPXWW03u//3332PkyJG4/fbbkZKSgtGjR2PSpEnNtvaQ5AvnKSm22hARUbCSNdzYbDbs2rULmZmZ7m0KhQKZmZnYvn17k8+57LLLsGvXLneY+fXXX7FhwwZcf/31Te5vtVpRWVnpsXRWv5fXYsfxMggCcGMqr44iIqLgJOvVUqdOnYLdbkd8fLzH9vj4eBw8eLDJ59x+++04deoULr/8coiiiPr6etx3333nPS21aNEiPP30016vvSNat0dqtRmREoXEcL3M1RAREfmG7KelWmvLli14/vnn8frrr2P37t345JNPsH79ejzzzDNN7j937lxUVFS4l8LCQj9XHDhcV0mNHdJF5kqIiIh8R9aWm5iYGCiVShQXF3tsLy4uRkJCQpPPmTdvHu644w7cc889AIBBgwbBbDbj3nvvxZNPPgmFwjOvabVaaLVa33yADuRISRX2F1VCpRAwZmDT/7ZERETBQNaWG41Gg7S0NOTl5bm3ORwO5OXlISMjo8nn1NTUnBNglEolAEAURd8V28GtdbbaXNUnFpGcO4qIiIKY7CMU5+bmYurUqRg2bBhGjBiBpUuXwmw2Y9q0aQCAKVOmoEuXLli0aBEAICcnB0uWLMHQoUORnp6OI0eOYN68ecjJyXGHHPIkiiLWOvvb3DSEV0kREVFwkz3cTJw4EaWlpZg/fz5MJhOGDBmCjRs3ujsZFxQUeLTUPPXUUxAEAU899RR+//13xMbGIicnB88995xcHyHg7T1RgeOna6BXK5HZP775JxAREXVggtjJzuVUVlYiPDwcFRUVMBqNcpfjF8+s2483vzuGnNQk/GXSULnLISIiarXWHL873NVS1Dp2h4h1ezlwHxERdR4MN0HuP8dOo7jSinC9Glf1iZW7HCIiIp9juAlyXzg7Eo8ZmACNil83EREFPx7tgpit3oEN+0wAeJUUERF1Hgw3Qeybw6WoqK1DnEGL9B7RcpdDRETkFww3Qexz5ympnNQkKBWCzNUQERH5B8NNkDJb67F5vzSthd+ukqo9Axz9GjCf9s/7ERERNUH2QfzINzYfKEZtnR0p0SEY3DXc92+4fy2wPhcwlwKCEuh+GdDvRqD/jUB4V9+/PxERkRNbbgLdgXXA0sHAN38G6q0tfpprLqmbUpMgCD48JVVTBnx0F/DBHVKw0UUAoh04/i2w8THg5QHAyquBb14ESg/5rg4iIiInttwEuv2fAeW/Af9+Fsh/D7j+BaBX5gWfcsZsw9bDpQB8fJXUgXXAuocAc4nUWnP5HOCqx4CqIumxg+uAgh+Ak/+Vln8/A0T3llpz+uUASUMBBfM1ERF5F8NNoDOfkm4FJVB2FHh3PND/JiB70XlP93z5kwn1DhEXJxrRK87g/ZpqyoAvHwX2fSitx/YDxr0OdEmT1iNTgMtmSkt1CXBogxR2jm0FTv8CfPeytBiSgH43SGGn+0hAqfZ+rURE1Okw3AS6Gme4Gf834MSPwH9WAAfWAkc2A1c9Clw6A1BpPJ7yef7vAHzUanNwPfDFHGdrjQIYORu46nFArWt6/7A4IO1OabFUAr/8S2rR+WUTUHUS2PmGtOgigL5jpH46F10LaEK8XzsREXUKnDgz0L3UXwoB926RTuOYfgI2PAIUbJcej+4N3PAi0PNqAICpwoKMP+VBFIFtj1+LLhF679RRUwZsfBzYu0Zaj+kLjFsOdE1r2+vVWaSWnANfAIe+bAhxAKAOkQJO/xygTxagj2x//YFMFKX+VLZqwFoJWKud96sBW5V066iTAqA+0nPRGnlqj4g6hdYcv9lyE8hEseGgHxIj3SYMBKZ9Cex5H9g0TzrN885YYMDNQNbzWLfXAlEEhqdEei/YHPoS+GI2UF0stdZc9iBw9dzzt9a0hFonBZc+WYDDLvXNObhOOn1VUSDdP7gOUKiAlMuB+IGAUgOotNLpK6XWua5x3lc7H2t8X3Ph5yhUUudnR71UQ+Pb82133RfPWm/8eF0NYK1qFFCqpfULbXPUt+3fUVA0HXpCos7d1njRhQMKZeveSxSdi+PcBY22QwBUOunf3Zed2YmIzoPhJpBZqwC7TbofGtOwXRCAIZOk0zhfPy+d1vn5U+CXTVCoJkCFq3HTkC7tf//aM8CXjwN735fWY/o4W2uGtf+1G1MogZSR0pL1PGDa29AhuWQ/8OsWaekM1CGAJgzQGgBtGKBx3ipUgKVC+k5cS12NFCZqy6SltbTOgCM6GkILzhNeREfbPo9SKwVZV9hR6Z23znX1Wesej+saPVcHhMYCxiTA2EUKbwxORHQePC0VyMp+BV4dCqhDgSdPnn+/or3A+oeBEzsAAIcdXRB/22sIv/jatr/3oY3O1hqT1DqQMRO45gnpYORPp48ChzdKrUb1NsBulQKf+36ddErHbnNub3zfeWu3Ntx31DX/noJSOugrVM5F6dzWaL2pW9c+ar1nMNEaGgKLJsz5WJh0Ssl933nbmtaUOgtgKfcMPGcvNWWN1p372qra+m0EDqW2IegYk5q+Hxor3yk7UZRa4+x1zp87531HnXOb674NsNc3c9+57gqY7v+yxZatX2gfQZB+7nThUgugLtxzaU/rbHvU26QWTUtFoxZOs/R9un8PVYBC7fm7qjxrvclFyWDcQbXm+M1wE8gKdwJvZgLh3YCH9l14X4cD/3pvCdIOL0W04Dx4DfofYPSzgCGh5e9ZewbYOBfY8560Ht1Laq1JHtG2zxBoHI6G8OOoPzeYdIb/+Ox1DUFHdEjhVVBIn7vJ+2cvjR5DE/uJDilQ1lmAeosUOOstnst5H7M2/XhdjXTlXeVJqTN7SyhU0hV5xqYWZxDSGqXXtpmdtzXSQdV1v84sPea+79q3ift1rufWNrS4dnRK7bmBp/Gijzhrm3NdUDj7j1WdtTS1rYnt9Rbffq7GYUdQAgLO+nkWGq0LZz3WxL5nP09QSsFQrZf+OFXrpYsk1I2XJrZpnNvP3qbSNx3UHY4mTqM3dWq9JdvOPv3ekvUL7KMOAa572qtfG/vcBAtXf5vQ5ie9FAUBfzINwynrS/isXx56Hv9AulT70EapxWXEvYCyma/78FdSa01VEQAByJgBXPuU/1trfEmhABQ6+f4iDQRKNRAWKy2+otJILVW+UG8FqkxS0Kn83Xl71v1qk/QfbEWBtAQCQensB6ZuaGVQalp+X6GEdGRFowDewvXz7SM6pDBhqTh3gSiFVHNJywOlt6lDnadoDdJBXhTPOpjWea7bzzrwivamX9f1eEei0jv/eGgUUBDAbRMhMV4PN63BcBPIXGPcuDoTX8DPJyvxa6kZWpURcZNeB07fL52q+n0X8NVc4L/vSldVdb/s3CfXlgNfPQHkr5LWoy6SWmu6pXvvsxB5i0oLRHaXlvOx10unMj1Cj/O2qsh5v0g6OAoK6SDq+itaE9bofqi0uO67/pLWhDX6S9u5j/t+iLPzuvO0iTucdKCr2hyOhtNC5yzlF95eWyEdgLXGhmCiNQA61/pZ25vcZpT+jZv7g6wln6Nxy4S9rolw1LivWeO+Z2f3Q3Nua3Lfs9Yd9VLrY12t1LJXV9uoNdB537Wcs63RvvW1DZ+l8f1mCeeeOm/cOq1QST/37vWmTuc1t97MPprQ9n137cRwE8jcLTfNh5u1zhnAM/vHI0yrki4bv3sz8N9/ApsXAiU/A2+PAVInAdf9URp/BpDGm1n7oHS5OQTg0gek1hqOM0MdmVIFhHeRFgxveh/XKUpe1XUuhUIKIzojgGS5q2k7hQKAouMOEOpwSKGmrlY6BSo6zg0SHiHFdYq9AwVpH2G4CWTulpsLn5ZyOER84Qw3OY1nAFcogLSp0ngxeU8Du/4h9aU5uF66lLvkZ6lFBwCiegJjXwe6Z/jikxAFHtcpSqJApVA0tB624I9casBwE8hqTku3zfxQ7zxehqIKCww6Fa7u20Q/ipAoIOcVYOgUYMPD0jxPX811PigAl94PXDuPrTVERBQUGG4CWQv73HzubLXJHpAAnfoClxJ3TQPuyQN2/wPI+yOgjwLGvtZ0PxwiIqIOiuEmkLWgz42t3oEN+4oAAGNbMnCfQgkMuwsYegfPzRIRUVBiuAlkZudpqQu03Hx3pBTlNXWICdMi46LmLxl366gd7IiIiJrBP9sDWQvGuVmbL52SunFwIpQKXvFBRETEcBOoXCOeAudtuam12fGv/cUAgJuGJDW5DxERUWfDcBOoXK02yvOP9Lr5QDFqbHYkR+kxNDnCf7UREREFMIabQNX4SqnzDDDmGrjvptQkCByEjIiICADDTeByj3HTdH+bipo6bDkkzfdyU2oLrpIiIiLqJBhuAlUzY9xs/LkIdXYR/RIM6JvgowkKiYiIOiCGm0DVzBg3n+c3Md0CERERMdwErAu03JRUWrD9V+m01U0MN0RERB4YbgLVBca4+WJvEUQRuKRbBJKjOB8UERFRYww3geoCoxO7rpJq0XQLREREnQzDTaA6T5+b46fM2FNYDoUAXD8oUYbCiIiIAhvDTaA6T5+bL5ytNiN7xSDWoPV3VURERAGP4SZQuce5aQg3oiji80YD9xEREdG5GG4CUb0VsFZK90MaOhQfKKrCkZJqaFQKZA1MkKk4IiKiwMZwE4hcrTaCEtBFuDe7OhJf2zcORp1ahsKIiIgCH8NNIHL3t4kGFNJX5HCI7v42nAGciIjo/BhuAlETV0rtLjiD38trEaZV4dp+cTIVRkREFPgYbgKRe4ybhv42rukWRg+Ih06tlKMqIiKiDoHhJhCd1XJTZ3dgw74iABy4j4iIqDkMN4HorDFuth05hdNmG6JDNRh50bnTMRAREVEDhptAdFbLjesqqRsGJ0Kl5FdGRER0ITxSBqJGV0tZ6uz46icTAA7cR0RE1BIMN4Go0ejE/z5YArPNji4RelzSLVLeuoiIiDoAhptA1KjPzdZDpQCkU1IKhSBjUURERB0Dw00gatTnpqjSAgDoFRcmY0FEREQdB8NNoLHXA7VnpPshMShxhps4zgBORETUIgw3gaa2zHlHAEKiUFJlBQDEG3Xy1URERNSBMNwEGld/G30kbA4BZWYbAIYbIiKilmK4CTSN+tuUVkutNmqlgMgQzgJORETUEgw3gabRlVLF7v42OggCr5QiIiJqCYabQOMe4ya6oTOxkZ2JiYiIWorhJtA0arlxdSbmlVJEREQtx3ATaBr1uXGdlmJnYiIiopZjuAk0Hn1ueBk4ERFRazHcBJpG80q5TkvF8rQUERFRizHcBJpGM4KX8LQUERFRqzHcBJom+9yw5YaIiKilAiLcLFu2DCkpKdDpdEhPT8eOHTsuuH95eTlmzJiBxMREaLVa9OnTBxs2bPBTtT7kcAA10vQLVm0kztTUAZDGuSEiIqKWUcldwJo1a5Cbm4sVK1YgPT0dS5cuRVZWFg4dOoS4uLhz9rfZbLjuuusQFxeHjz76CF26dMFvv/2GiIgI/xfvbZZyQLQDAErt0izgHJ2YiIiodWQPN0uWLMH06dMxbdo0AMCKFSuwfv16vPXWW3j88cfP2f+tt95CWVkZvv/+e6jV0kE/JSXFnyX7jqu/jTYcxWYRAEcnJiIiai1ZT0vZbDbs2rULmZmZ7m0KhQKZmZnYvn17k89Zu3YtMjIyMGPGDMTHx2PgwIF4/vnnYbfbm9zfarWisrLSYwlY7v420Sit4ujEREREbSFruDl16hTsdjvi4+M9tsfHx8NkMjX5nF9//RUfffQR7HY7NmzYgHnz5uGll17Cs88+2+T+ixYtQnh4uHtJTk72+ufwmqbGuGF/GyIiolYJiA7FreFwOBAXF4eVK1ciLS0NEydOxJNPPokVK1Y0uf/cuXNRUVHhXgoLC/1ccSvwSikiIqJ2k7XPTUxMDJRKJYqLiz22FxcXIyEhocnnJCYmQq1WQ6lUurf1798fJpMJNpsNGo3GY3+tVguttoMEBLNzAL+Q6IZ5pTjGDRERUavI2nKj0WiQlpaGvLw89zaHw4G8vDxkZGQ0+ZyRI0fiyJEjcDgc7m2HDx9GYmLiOcGmw2mi5YaTZhIREbWO7KelcnNz8cYbb+Af//gHDhw4gPvvvx9ms9l99dSUKVMwd+5c9/73338/ysrKMHv2bBw+fBjr16/H888/jxkzZsj1Ebyn8YzgnFeKiIioTWS/FHzixIkoLS3F/PnzYTKZMGTIEGzcuNHdybigoAAKRUMGS05OxldffYWHHnoIgwcPRpcuXTB79mw89thjcn0E72nUclNSxakXiIiI2kIQRVGUuwh/qqysRHh4OCoqKmA0GuUux9Pyy4HifbBN+gB93q4HAPx33nWIDO3gp9uIiIjaqTXHb9lPS1EjzpabMlH60jRKBSI4OjEREVGrMNwEClF097kpsRsASAP4cXRiIiKi1mG4CRTWSsAhTZRZVBcKgFdKERERtQXDTaBwXSmlDkWRWbrLzsRERESt1+ZwU19fj82bN+Ovf/0rqqqqAAAnT55EdXW114rrVGqcA/iFNgzgx3BDRETUem26FPy3335DdnY2CgoKYLVacd1118FgMGDx4sWwWq3nnQqBLqCJeaVieVqKiIio1drUcjN79mwMGzYMZ86cgV6vd2+/+eabPUYbplbgGDdERERe0aaWm2+//Rbff//9OdMdpKSk4Pfff/dKYZ1O49GJS1ynpdhyQ0RE1FptarlxOByw2+3nbD9x4gQMBkO7i+qUGvW5Ka5yzSvFlhsiIqLWalO4GT16NJYuXepeFwQB1dXVWLBgAa6//npv1da5OFtu6nTRKK+RLglnyw0REVHrtem01Isvvojs7GxcfPHFsFgsuP322/HLL78gJiYG7733nrdr7BycfW6qFOEAAI1KgXA9RycmIiJqrTaFm+TkZOzZswdr1qzBnj17UF1djbvvvhuTJ0/26GBMreBsuSmDc3RiA0cnJiIiaotWh5u6ujr069cP69atw+TJkzF58mRf1NX5OPvcFNsNAOy8UoqIiKiNWt3nRq1Ww2Kx+KKWzs3ZclNkk6ZeYH8bIiKitmlTh+IZM2Zg8eLFqK+v93Y9nZPNDNTXAgAKbSEAeKUUERFRW7Wpz83OnTuRl5eHf/3rXxg0aBBCQ0M9Hv/kk0+8Ulyn4RrjRqlFYbWUN+PYckNERNQmbQo3ERERGD9+vLdr6bwajU5cWm0DAMSz5YaIiKhN2hRu3n77bW/X0bmZnQP4hUSjuNI5gB9bboiIiNqkTeHGpbS0FIcOHQIA9O3bF7GxsV4pqtNpPK9UCWcEJyIiao82dSg2m8246667kJiYiCuvvBJXXnklkpKScPfdd6OmpsbbNQY/Z58bu77R6MQ8LUVERNQmbQo3ubm52Lp1K7744guUl5ejvLwcn3/+ObZu3YqHH37Y2zUGP2fLTY0qAoA0OrFR365GNSIiok6rTUfQjz/+GB999BGuvvpq97brr78eer0eEyZMwPLly71VX+fg7HNT6Zx6Id7I0YmJiIjaqk0tNzU1NYiPjz9ne1xcHE9LtUWNa+oFIwCekiIiImqPNoWbjIwMLFiwwGOk4traWjz99NPIyMjwWnGdhrPPTYk9DACvlCIiImqPNp2WeuWVV5CVlYWuXbsiNTUVALBnzx7odDp89dVXXi2wU3C23BTVO8MNW26IiIjarE3hZuDAgfjll1+watUqHDx4EAAwadIkzgreVs4+N4UWaeoFXgZORETUdm2+JCckJATTp0/3Zi2dU70VsFUBAI7V6gFYEWfgaSkiIqK2alOfm0WLFuGtt946Z/tbb72FxYsXt7uoTsU1r5RChePVUtZkyw0REVHbtSnc/PWvf0W/fv3O2T5gwACsWLGi3UV1Kq7RiUOiUVzlnFeKHYqJiIjarE3hxmQyITEx8ZztsbGxKCoqandRnYqz5cYREo2KWml0YnYoJiIiars2hZvk5GRs27btnO3btm1DUlJSu4vqVGqkzsQ2TRQAQMvRiYmIiNqlTUfR6dOnY86cOairq8O1114LAMjLy8Ojjz7K6Rday+w59UK8UcfRiYmIiNqhTeHm//7v/3D69Gk88MADsNmkfiI6nQ6PPfYY5s6d69UCg56zz41r6gVeKUVERNQ+bQo3giBg8eLFmDdvHg4cOAC9Xo/evXtDq+WBudXMZ029wCuliIiI2qVNfW5cwsLCMHz4cHTr1g1ffvklDhw44K26Og9nn5tShwEAp14gIiJqrzaFmwkTJuC1114DIM0pNWzYMEyYMAGDBw/Gxx9/7NUCg56z5aaoLhQAr5QiIiJqrzaFm2+++QZXXHEFAODTTz+FKIooLy/Hq6++imeffdarBQY9Z5+bEzYp3HCMGyIiovZpU7ipqKhAVJR06fLGjRsxfvx4hISE4IYbbsAvv/zi1QKDnrPl5liN1GLDPjdERETt0+ZxbrZv3w6z2YyNGzdi9OjRAIAzZ85Ap+PBucXsdYClHABwxCz9u/FqKSIiovZp09VSc+bMweTJkxEWFobu3bvj6quvBiCdrho0aJA36wtuNWUAABECCi3OcMOWGyIionZpU7h54IEHkJ6ejoKCAlx33XVQKKQGoJ49e7LPTWs4+9s4dJFwWBTQqRUw6jg6MRERUXu0+UialpaGtLQ0j2033HCDx7rRaER+fj569uzZ1rcJbs7+Njat1H8pzsDRiYmIiNqrXePcNEcURV++fMfnbLmpUUcA4JVSRERE3uDTcEPNMEsD+FUqIgCwvw0REZE3MNzIydlycwbO0Yl5pRQREVG7MdzIydnn5pRz6gWOcUNERNR+Pg037BzbDGfLTVF9GAD2uSEiIvIGdiiWk7PPTaE1BADnlSIiIvIGn4abL7/8El26dPHlW3Rszpab32r1ANhyQ0RE5A1eDTeFhYW466673OuXX345tFoesM/L2eem0OqcEZx9boiIiNrNq+GmrKwM//jHP7z5ksHL4QBqpekXTosG6NQKGLQcnZiIiKi9WnU0Xbt27QUf//XXX9tVTKdSewYQHQCkS8G7GDk6MRERkTe0KtyMGzcOgiBcsKMwD9At5OxvY1MbUW9RIZ6diYmIiLyiVaelEhMT8cknn8DhcDS57N6921d1Bh9nf5ta59QLsexMTERE5BWtCjdpaWnYtWvXeR9vrlWHGnG23FQpwgGALTdERERe0uLTUnv37sX//d//wWw2n3efXr164euvv/ZKYUHP7Jp6wRlu2HJDRETkFS0ON0OHDkVRURHi4uLQs2dP7Ny5E9HR0R77hIaG4qqrrvJ6kUGpRhrAr9QhjU4cx3BDRETkFS0+LRUREYFjx44BAI4fPw6Hw+GzojoFZ8uNyTX1Ak9LEREReUWLW27Gjx+Pq666ComJiRAEAcOGDYNSqWxyX14S3gLOPjcnbM6pFziAHxERkVe0ONysXLkSt9xyC44cOYIHH3wQ06dPh8Fg8GVtwc3ZcnPSxtNSRERE3tSqcW6ys7MBALt27cLs2bMZbtrD2eemDAbo1UqOTkxEROQlbTqivv32296uo/NxttycFo2IN2o5+CEREZGX+HRWcDoPUWxouRGNiGNnYiIiIq8JiHCzbNkypKSkQKfTIT09HTt27GjR895//30IgoBx48b5tkBvs1QAjjoA0mkp9rchIiLyHtnDzZo1a5Cbm4sFCxZg9+7dSE1NRVZWFkpKSi74vOPHj+ORRx7BFVdc4adKvcjZamNVhMAKDeJ5pRQREZHXyB5ulixZgunTp2PatGm4+OKLsWLFCoSEhOCtt94673PsdjsmT56Mp59+Gj179rzg61utVlRWVnossnP2t6lSSqMTxxnYckNEROQtsoYbm82GXbt2ITMz071NoVAgMzMT27dvP+/z/vjHPyIuLg533313s++xaNEihIeHu5fk5GSv1N4uzjFuymEEALbcEBEReZGs4ebUqVOw2+2Ij4/32B4fHw+TydTkc7777ju8+eabeOONN1r0HnPnzkVFRYV7KSwsbHfd7eZsuTnlkC6lZ58bIiIi7+lQg6tUVVXhjjvuwBtvvIGYmJgWPUer1UKrDbDwUOM59QKvliIiIvIeWcNNTEwMlEoliouLPbYXFxcjISHhnP2PHj2K48ePIycnx73NNceVSqXCoUOHcNFFF/m2aG8wSx2KTXbnvFJsuSEiIvIaWU9LaTQapKWlIS8vz73N4XAgLy8PGRkZ5+zfr18/7Nu3D/n5+e7lpptuwjXXXIP8/PzA6E/TEs6WmzLRgBCNEmEcnZiIiMhrZD+q5ubmYurUqRg2bBhGjBiBpUuXwmw2Y9q0aQCAKVOmoEuXLli0aBF0Oh0GDhzo8fyIiAgAOGd7QHP2uSmDEXEGjk5MRETkTbKHm4kTJ6K0tBTz58+HyWTCkCFDsHHjRncn44KCAigUsl+x7l2NWm44GzgREZF3CaIoinIX4U+VlZUIDw9HRUUFjEajPEUsGQBUnsA46x+RPPhK/GXSUHnqICIi6iBac/wOsiaRDkAU3S03p2HgAH5ERERexnDjbzYzUG8BIE2aySuliIiIvIvhxt+crTY2qGGGjqMTExEReRnDjb85x7gpF4wABMTytBQREZFXMdz4W41r6gXOK0VEROQLDDf+5p5XyjU6McMNERGRNzHc+Jv7SikjRycmIiLyAYYbf3ONTiwa2WpDRETkAww3/lYjdSg+LXKMGyIiIl9guPG3xvNKseWGiIjI6xhu/K3RvFLxbLkhIiLyOoYbf3O23JxmnxsiIiKfYLjxN2efG+m0FFtuiIiIvI3hxp/qLICtGoCrQzFbboiIiLyN4cafnP1t6kQlKhHKSTOJiIh8gOHGn5z9bc7AAEDg1VJEREQ+wHDjT67RiUUDQjk6MRERkU8w3PiTc0Zwjk5MRETkOww3/uQa4wYGxHKMGyIiIp9guPEnjnFDRETkcww3/lTTeNJMttwQERH5AsONP7n63IBj3BAREfkKw40/1TScluLoxERERL7BcONP5sanpdhyQ0RE5AsMN/7karmBAXG8WoqIiMgnGG78xV4HWCoASC03HJ2YiIjINxhu/MU5G7hDFFCvjeDoxERERD7CcOMv7nmlwhBj0MtcDBERUfBiuPGXRmPc8EopIiIi32G48Rdzw9QLvFKKiIjIdxhu/MXZ5+a0aOSVUkRERD7EcOMv7jFu2HJDRETkSww3/uIe44aXgRMREfkSw42/NBqdmKeliIiIfIfhxl+cfW54WoqIiMi3GG78xFFdCsB5WootN0RERD7DcOMnovO0lEUdiVCOTkxEROQzDDf+4LBDYS0HACjCYuSthYiIKMgx3PhDbTkE0QEA0BnjZC6GiIgouDHc+IPzMvAKMQTR4aEyF0NERBTcGG78wdnf5rRo5JVSREREPsZw4w+uSTN5pRQREZHPMdz4Q6OpFzg6MRERkW8x3PhDo0kz49lyQ0RE5FMMN/7garkBRycmIiLyNYYbP6irkkYnLhONiDOy5YaIiMiXGG78oK6qBABQo4pAiIajExMREfkSw40fuKZecIREy1wJERFR8GO48QNlrdShWBEaK3MlREREwY/hxtdEEWrrGQCANpxTLxAREfkaw42vWSqgFOsBACGR8TIXQ0REFPwYbnzNOcZNtahDVLhR5mKIiIiCH8ONrzUanZhj3BAREfkew42vNZpXiuGGiIjI9xhufExsNCM4J80kIiLyPYYbH7NVSgP4SZNmMtwQERH5GsONj9WWFwMAqjg6MRERkV8w3PiYrVKaV6pOGylzJURERJ0Dw42PufrciPoYmSshIiLqHBhufEzhvFpKGcapF4iIiPyB4cbHNDZp6gW1keGGiIjIHxhufEkUoa+Two0+MkHmYoiIiDqHgAg3y5YtQ0pKCnQ6HdLT07Fjx47z7vvGG2/giiuuQGRkJCIjI5GZmXnB/WVlM0Mj2gAAxmjOK0VEROQPsoebNWvWIDc3FwsWLMDu3buRmpqKrKwslJSUNLn/li1bMGnSJHz99dfYvn07kpOTMXr0aPz+++9+rrwFnP1tLKIa0RFRMhdDRETUOQiiKIpyFpCeno7hw4fjtddeAwA4HA4kJydj1qxZePzxx5t9vt1uR2RkJF577TVMmTKl2f0rKysRHh6OiooKGI2+nchSPPEjhL+Nwu9iNOof3Ifu0aE+fT8iIqJg1Zrjt6wtNzabDbt27UJmZqZ7m0KhQGZmJrZv396i16ipqUFdXR2ioppuGbFaraisrPRY/MU1gF+ZaECcgfNKERER+YOs4ebUqVOw2+2Ij/fsjxIfHw+TydSi13jssceQlJTkEZAaW7RoEcLDw91LcnJyu+tuqaoy6TNUKMKh1yj99r5ERESdmex9btrjT3/6E95//318+umn0OmabhmZO3cuKioq3EthYaHf6qs9I7Xc1Ko5OjEREZG/yDrZUUxMDJRKJYqLiz22FxcXIyHhwpdOv/jii/jTn/6EzZs3Y/DgwefdT6vVQquVZ8JKW5XUKbpOy87ERERE/iJry41Go0FaWhry8vLc2xwOB/Ly8pCRkXHe573wwgt45plnsHHjRgwbNswfpbaJWC1dLeXQR8tcCRERUech+zTVubm5mDp1KoYNG4YRI0Zg6dKlMJvNmDZtGgBgypQp6NKlCxYtWgQAWLx4MebPn4/Vq1cjJSXF3TcnLCwMYWFhsn2Opgi1pwEAijDOK0VEROQvsoebiRMnorS0FPPnz4fJZMKQIUOwceNGdyfjgoICKBQNDUzLly+HzWbDrbfe6vE6CxYswMKFC/1ZerM01jLp1hAncyVERESdh+zj3PibP8e5KX6mL+LtJmy7ajVGXnODT9+LiIgomHWYcW6CncFeLt1Gc14pIiIif2G48RGxrhYhsAAAImOSZK6GiIio82C48ZFq5xg3NlGJ2JhYmashIiLqPBhufKS89KR0Kxih08jeb5uIiKjTYLjxkcrT0iXqVYpwmSshIiLqXBhufMQ1aWatOkLeQoiIiDoZhhsfsVVKUy/YOPUCERGRXzHc+IjdPfUCRycmIiLyJ4YbH1HUcOoFIiIiOTDc+IjaOfWCmlMvEBER+RXDjY/o685ItxEMN0RERP7EcOMDoii6p14wcuoFIiIiv2K48YFKSz0iUQkACI9JlLkaIiKizoVD5/pAyZkq9BZqAABaY7zM1RARBSaHwwGbzSZ3GRRANBoNFIr2t7sw3PjAmVPS6MR2KKDUR8pcDRFR4LHZbDh27BgcDofcpVAAUSgU6NGjBzQaTbteh+HGBypPFwEAqhUGhHshgRIRBRNRFFFUVASlUonk5GSv/KVOHZ/D4cDJkydRVFSEbt26QRCENr8Ww40P1LinXogEZ5YiIvJUX1+PmpoaJCUlISQkRO5yKIDExsbi5MmTqK+vh1qtbvPrMC77gHvqBQ2nXiAiOpvdbgeAdp96oODj+plw/Yy0FcONDzicUy/Y9Qw3RETn057TDhScvPUzwXDjA0KNFG4UYbEyV0JERNT5MNz4gNoqjU6sNjLcEBER+RvDjZeJogidTZpXSh/OMW6IiIKFKIq49957ERUVBUEQkJ+fL3dJdB4MN15WWdswOnFoFMMNEVGw2LhxI/7+979j3bp1KCoqQmVlJXJycpCUlARBEPDZZ5/JXSI5Mdx4WUmVBVGoAgBoOCM4EVHQOHr0KBITE3HZZZchISEBZrMZqampWLZsmdylNauzjQTNcONlxZVWRAlSyw1CY+QthoioAxBFETW2elkWURRbVOOdd96JWbNmoaCgAIIgICUlBWPGjMGzzz6Lm2++uU2f+/XXX0fv3r2h0+kQHx+PW2+91f2Yw+HACy+8gF69ekGr1aJbt2547rnn3I/v27cP1157LfR6PaKjo3Hvvfeiurrao95x48bhueeeQ1JSEvr27QsAKCwsxIQJExAREYGoqCiMHTsWx48fb1P9gYyD+HlZcYUZl8H5AxbCcENE1JzaOjsunv+VLO+9/49ZCNE0fyh85ZVXcNFFF2HlypXYuXMnlEplu973xx9/xIMPPoh//vOfuOyyy1BWVoZvv/3W/fjcuXPxxhtv4OWXX8bll1+OoqIiHDx4EABgNpuRlZWFjIwM7Ny5EyUlJbjnnnswc+ZM/P3vf3e/Rl5eHoxGIzZt2gQAqKurcz/v22+/hUqlwrPPPovs7Gzs3bs3qMYdYrjxssqyUigE518CIRznhogoGISHh8NgMECpVCIhIaHdr1dQUIDQ0FDceOONMBgM6N69O4YOHQoAqKqqwiuvvILXXnsNU6dOBQBcdNFFuPzyywEAq1evhsViwTvvvIPQ0FAAwGuvvYacnBwsXrwY8fFSf8/Q0FD87W9/c4eWd999Fw6HA3/729/c48m8/fbbiIiIwJYtWzB69Oh2f65AwXDjZTVnpEkza5VG6JVtHzqaiKiz0KuV2P/HLNneWw7XXXcdunfvjp49eyI7OxvZ2dm4+eabERISggMHDsBqtWLUqFFNPvfAgQNITU11BxsAGDlyJBwOBw4dOuQON4MGDfJojdmzZw+OHDkCg8Hg8XoWiwVHjx71waeUD8ONl7mnXtBGQi9zLUREHYEgCC06NRRMDAYDdu/ejS1btuBf//oX5s+fj4ULF2Lnzp3Q671z9GgcfgCguroaaWlpWLVq1Tn7xsYG17hs7FDsZfbqUulWHy1zJUREFMhUKhUyMzPxwgsvYO/evTh+/Dj+/e9/o3fv3tDr9cjLy2vyef3798eePXtgNpvd27Zt2waFQuHuONyUSy65BL/88gvi4uLQq1cvjyU8PLimeWa48TKh5rR0yyuliIiCWnV1NfLz892D+R07dgz5+fkoKCho9rnr1q3Dq6++ivz8fPz2229455134HA40LdvX+h0Ojz22GN49NFH8c477+Do0aP44Ycf8OabbwIAJk+eDJ1Oh6lTp+Knn37C119/jVmzZuGOO+5wn5JqyuTJkxETE4OxY8fi22+/xbFjx7BlyxY8+OCDOHHihFf+TQJF52oH9DFRFKGylAFKQG0IriY+IiLy9OOPP+Kaa65xr+fm5gIApk6d6nHVUlMiIiLwySefYOHChbBYLOjduzfee+89DBgwAAAwb948qFQqzJ8/HydPnkRiYiLuu+8+AEBISAi++uorzJ49G8OHD0dISAjGjx+PJUuWXPA9Q0JC8M033+Cxxx7DLbfcgqqqKnTp0gWjRo2C0Whsx79E4BHEll7kHyQqKysRHh6OiooKr3+ZFTV1+PT523Gn6l+oH5kL1XULvPr6RETBwGKx4NixY+jRowd0Op3c5VAAudDPRmuO3zwt5UXFVRZEOwfwU3FGcCIiIlkw3HhRcWXD1AscnZiIqPP69ttvERYWdt6FfIt9bryopNKKi11TL4Twaikios5q2LBhnDVcRgw3XlRcZcEVAltuiIg6O71ej169esldRqfF01JeVFJhQaTrtBTnlSIiIpIFw40XVVWcglqwSytsuSEiIpIFw40XWSukqRfqVaGASitzNURERJ0Tw40X2as49QIREZHcGG68RBRFCLXS1As8JUVERCQfhhsvqaitg9FRAQBQceoFIiI6S0pKCpYuXdqifU0mE6677jqEhoYiIiLCp3UFI4YbL6mzixiZKN1XhjLcEBFR27388ssoKipCfn4+Dh8+DABYuXIlrr76ahiNRgiCgPLycnmLDGAMN14Sa9Aip5dGWgllnxsiImq7o0ePIi0tDb1790ZcXBwAoKamBtnZ2XjiiSdkrq55NptN1vdnuPEm8ynplmPcEBG1nCgCNrM8Swvnjl65ciWSkpLgcDg8to8dOxZ33XUXjh49irFjxyI+Ph5hYWEYPnw4Nm/e3KZ/jpSUFHz88cd45513IAgC7rzzTgDAnDlz8Pjjj+PSSy9t9WvabDbMnDkTiYmJ0Ol06N69OxYtWuR+vLy8HH/4wx8QHx8PnU6HgQMHYt26de7HP/74YwwYMABarRYpKSl46aWXzqn5mWeewZQpU2A0GnHvvfcCAL777jtcccUV0Ov1SE5OxoMPPgiz2dyGf5XW4QjF3lTjDDfsUExE1HJ1NcDzSfK89xMnAU1os7v9z//8D2bNmoWvv/4ao0aNAgCUlZVh48aN2LBhA6qrq3H99dfjueeeg1arxTvvvIOcnBwcOnQI3bp1a1VJO3fudIeEV155BXq9vk0frbFXX30Va9euxQcffIBu3bqhsLAQhYWFAACHw4ExY8agqqoK7777Li666CLs378fSqUSALBr1y5MmDABCxcuxMSJE/H999/jgQceQHR0tDt4AcCLL76I+fPnY8GCBQCk1qfs7Gw8++yzeOutt1BaWoqZM2di5syZePvtt9v9mS6E4cab2HJDRBSUIiMjMWbMGKxevdodbj766CPExMTgmmuugUKhQGpqqnv/Z555Bp9++inWrl2LmTNntuq9YmNjodVqodfrkZCQ4JX6CwoK0Lt3b1x++eUQBAHdu3d3P7Z582bs2LEDBw4cQJ8+fQAAPXv2dD++ZMkSjBo1CvPmzQMA9OnTB/v378ef//xnj3Bz7bXX4uGHH3av33PPPZg8eTLmzJkDAOjduzdeffVVXHXVVVi+fDl0Op1XPltTGG68qcZ1KTj73BARtZg6RGpBkeu9W2jy5MmYPn06Xn/9dWi1WqxatQq33XYbFAoFqqursXDhQqxfvx5FRUWor69HbW0tCgoKfFh8y91555247rrr0LdvX2RnZ+PGG2/E6NGjAQD5+fno2rWrO9ic7cCBAxg7dqzHtpEjR2Lp0qWw2+3uFp5hw4Z57LNnzx7s3bsXq1atcm8TRREOhwPHjh1D//79vfkRPTDceIsosuWGiKgtBKFFp4bklpOTA1EUsX79egwfPhzffvstXn75ZQDAI488gk2bNuHFF19Er169oNfrceutt8resdblkksuwbFjx/Dll19i8+bNmDBhAjIzM/HRRx955bQXAISGen6H1dXV+MMf/oAHH3zwnH1be6qutRhuvMVWDdit0n32uSEiCjo6nQ633HILVq1ahSNHjqBv37645JJLAADbtm3DnXfeiZtvvhmAdGA/fvy4jNWey2g0YuLEiZg4cSJuvfVWZGdno6ysDIMHD8aJEydw+PDhJltv+vfvj23btnls27ZtG/r06eNutWnKJZdcgv3798syOzrDjbdYKgBdBGC3dYi/QIiIqPUmT56MG2+8ET///DP+93//1729d+/e+OSTT5CTkwNBEDBv3rxzrqxqL5PJBJPJhCNHjgAA9u3bB4PBgG7duiEqKuqCz12yZAkSExMxdOhQ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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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3uLll182mjZtavj5+Rl9+vQxli9fbnVJUoHhw4cbMTExhp+fn9G4cWNj+PDhxtatW60uSwzDWLhwoQGcsI0aNcowDHM4+BNPPGFERUUZTqfTGDBggLF582Zri67DTvV95eXlGVdeeaXRsGFDw9fX12jWrJkxZswYIzU11eqy66SKvifAePPNNz3n5OfnG/fff79Rv359IzAw0Lj++uuN/fv3W1f0ebIZhmFUf6QSERERqRrqcyMiIiJeReFGREREvIrCjYiIiHgVhRsRERHxKgo3IiIi4lUUbkRERMSrKNyIiIiIV1G4EREREa+icCMidZLNZmPu3LlWlyEiVUDhRkSq3Z133onNZjthu+qqq6wuTUS8gBbOFBFLXHXVVbz55pvl9jmdTouqERFvopYbEbGE0+kkOjq63Fa/fn3AvGT02muvMWjQIAICAmjRogWffPJJueevW7eOyy+/nICAABo0aMA999xDTk5OuXNmzZpFx44dcTqdxMTEMH78+HLHMzIyuP766wkMDKR169Z88cUXnmOHDx9mxIgRNGzYkICAAFq3bn1CGBORmknhRkRqpCeeeIJhw4axdu1aRowYwS233EJycjIAubm5DBw4kPr16/PLL7/w8ccf8/3335cLL6+99hrjxo3jnnvuYd26dXzxxRe0atWq3Hs89dRT3Hzzzfz2228MHjyYESNGcOjQIc/7b9y4kW+++Ybk5GRee+01IiIiqu8fQETOndXLkotI3TNq1CjD4XAYQUFB5bZnnnnGMAzDAIz77ruv3HPi4+ONsWPHGoZhGK+//rpRv359Iycnx3N83rx5ht1uN1JTUw3DMIxGjRoZjz322ElrAIzHH3/c8zgnJ8cAjG+++cYwDMMYMmSIMXr06Mr5wCJSrdTnRkQscdlll/Haa6+V2xceHu6537dv33LH+vbty5o1awBITk6ma9euBAUFeY73798ft9vN5s2bsdls7Nu3jwEDBpyyhi5dunjuBwUFERISQnp6OgBjx45l2LBhrF69miuvvJKhQ4fSr1+/c/qsIlK9FG5ExBJBQUEnXCaqLAEBAWd0nq+vb7nHNpsNt9sNwKBBg9i1axdff/013333HQMGDGDcuHG88MILlV6viFQu9bkRkRpp+fLlJzxu3749AO3bt2ft2rXk5uZ6ji9duhS73U7btm0JDg4mLi6OpKSk86qhYcOGjBo1ivfee49p06bx+uuvn9friUj1UMuNiFiisLCQ1NTUcvt8fHw8nXY//vhjevXqxYUXXsj777/PypUreeONNwAYMWIEkydPZtSoUTz55JMcOHCACRMmcMcddxAVFQXAk08+yX333UdkZCSDBg0iOzubpUuXMmHChDOqb9KkSfTs2ZOOHTtSWFjIV1995QlXIlKzKdyIiCXmz59PTExMuX1t27Zl06ZNgDmS6aOPPuL+++8nJiaGDz/8kA4dOgAQGBjIt99+y4MPPkjv3r0JDAxk2LBhTJ061fNao0aNoqCggJdeeolHHnmEiIgIbrzxxjOuz8/Pj4kTJ7Jz504CAgK46KKL+Oijjyrhk4tIVbMZhmFYXYSIyLFsNhtz5sxh6NChVpciIrWQ+tyIiIiIV1G4EREREa+iPjciUuPoarmInA+13IiIiIhXUbgRERERr6JwIyIiIl5F4UZERES8isKNiIiIeBWFGxEREfEqCjciIiLiVRRuRERExKv8P0Vw0tCDzGrTAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Plotting the accuracy and loss history\n", + "plot_graphs(history_lstm, 'f1_score')\n", + "plot_graphs(history_lstm, 'loss')" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "id": "9a0251d0", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "72/72 [==============================] - 1s 4ms/step\n", + "****** Test Data ********\n", + "F1: 0.7556675062972291\n", + " precision recall f1-score support\n", + "\n", + " 0 0.80 0.82 0.81 1275\n", + " 1 0.77 0.74 0.76 1009\n", + "\n", + " accuracy 0.79 2284\n", + " macro avg 0.79 0.78 0.78 2284\n", + "weighted avg 0.79 0.79 0.79 2284\n", + "\n", + "Confusion Matrix\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlEAAAGwCAYAAACJjDBkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAABWQElEQVR4nO3deVwU9f8H8Ncux4LALmLAgiLiAYLh3VdXTVNRNDVNSi1SKI9U8Co17RdeqCipKeaRWRqlmalZed+aiKYUZorkgUIKaCKsaJw7vz+MqY1hk91FDl/PHvN4sPP5zMx7tpV98/58ZkYmCIIAIiIiIioXeWUHQERERFQdMYkiIiIiMgKTKCIiIiIjMIkiIiIiMgKTKCIiIiIjMIkiIiIiMgKTKCIiIiIjWFZ2APR46XQ63Lx5Ew4ODpDJZJUdDhERlZMgCLh37x7c3d0hl1dcLSQvLw8FBQUm78fa2ho2NjZmiKjqYRL1hLl58yY8PDwqOwwiIjJRWloa6tWrVyH7zsvLg61DHaDogcn7UqvVSElJqZGJFJOoJ4yDgwMAwNovBDIL60qOhqhipB5ZVNkhEFWYe1otGnt5iL/PK0JBQQFQ9AAKvxDAlO+K4gJkXPgMBQUFTKKo+isZwpNZWDOJohpLqVRWdghEFe6xTMmwtDHpu0KQ1eyp10yiiIiISJoMgCnJWg2fesskioiIiKTJ5A8XU7avwWr22RERERFVEFaiiIiISJpMZuJwXs0ez2MSRURERNI4nGdQzT47IiIiogrCShQRERFJ43CeQUyiiIiIqAwmDufV8AGvmn12RERERBWElSgiIiKSxuE8g5hEERERkTRenWdQzT47IiIiogrCShQRERFJ43CeQUyiiIiISBqH8wxiEkVERETSWIkyqGaniEREREQVhEkUERERSSsZzjNlKYdjx46hX79+cHd3h0wmw/bt2/XaBUHAjBkz4ObmBltbWwQEBODSpUt6fbKyshAcHAylUglHR0cMHz4cubm5en1++eUXPPvss7CxsYGHhweio6ONenuYRBEREZE0mczEJKp8w3n3799HixYtsGLFCsn26OhoxMTEYPXq1Th16hTs7OwQGBiIvLw8sU9wcDDOnz+P/fv3Y8eOHTh27BhGjRoltmu1WvTs2ROenp5ISEjA+++/j1mzZmHNmjXlfns4J4qIiIgqlFar1XutUCigUChK9evduzd69+4tuQ9BELB06VK899576N+/PwAgNjYWrq6u2L59O4YMGYKkpCTs2bMHp0+fRtu2bQEAy5cvx/PPP49FixbB3d0dGzZsQEFBAT799FNYW1ujWbNmSExMxJIlS/SSrUfBShQRERFJk8tMXwB4eHhApVKJS1RUVLlDSUlJQUZGBgICAsR1KpUK7dq1Q3x8PAAgPj4ejo6OYgIFAAEBAZDL5Th16pTYp3PnzrC2thb7BAYGIjk5GXfv3i1XTKxEERERkTQz3eIgLS0NSqVSXC1VhfovGRkZAABXV1e99a6urmJbRkYGXFxc9NotLS3h5OSk18fLy6vUPkraateu/cgxMYkiIiKiCqVUKvWSqJqCw3lEREQkreQ+UaYsZqJWqwEAmZmZeuszMzPFNrVajVu3bum1FxUVISsrS6+P1D7+eYxHxSSKiIiIpD3mWxwY4uXlBbVajYMHD4rrtFotTp06BY1GAwDQaDTIzs5GQkKC2OfQoUPQ6XRo166d2OfYsWMoLCwU++zfvx8+Pj7lGsoDmEQRERFRFZGbm4vExEQkJiYCeDiZPDExEampqZDJZJg4cSLmzp2L7777DufOncOwYcPg7u6OAQMGAAB8fX3Rq1cvjBw5Ej/++CPi4uIQHh6OIUOGwN3dHQDw6quvwtraGsOHD8f58+fx1VdfYdmyZXjrrbfKHS/nRBEREZG0x/zYlzNnzqBr167i65LEJiQkBOvXr8fUqVNx//59jBo1CtnZ2ejUqRP27NkDGxsbcZsNGzYgPDwc3bt3h1wuR1BQEGJiYsR2lUqFffv2ISwsDG3atMFTTz2FGTNmlPv2BgAgEwRBKPdWVG1ptVqoVCoo/EdCZmH93xsQVUN3T39Y2SEQVRitVgvXOirk5ORU2GRt8bui6xzILG3+e4MyCEV5yD88o0JjrUysRBEREZE0PoDYIM6JIiIiIjICK1FEREQkzUw326ypmEQRERGRNA7nGVSzU0QiIiKiCsJKFBEREZXB1Btm1uxaDZMoIiIiksbhPINqdopIREREVEFYiSIiIiJpMpmJV+fV7EoUkygiIiKSxlscGFSzz46IiIiogrASRURERNI4sdwgJlFEREQkjcN5BjGJIiIiImmsRBlUs1NEIiIiogrCShQRERFJ43CeQUyiiIiISBqH8wyq2SkiERERUQVhJYqIiIgkyWQyyFiJKhOTKCIiIpLEJMowDucRERERGYGVKCIiIpIm+2sxZfsajEkUERERSeJwnmEcziMiIiIyAitRREREJImVKMOYRBEREZEkJlGGMYkiIiIiSUyiDOOcKCIiIiIjsBJFRERE0niLA4OYRBEREZEkDucZxuE8IiIiIiOwEkVERESSZDKYWIkyXyxVEZMoIiIikiSDicN5NTyL4nAeERERVRn37t3DxIkT4enpCVtbW3To0AGnT58W2wVBwIwZM+Dm5gZbW1sEBATg0qVLevvIyspCcHAwlEolHB0dMXz4cOTm5po9ViZRREREJKlkYrkpS3mNGDEC+/fvx+eff45z586hZ8+eCAgIwI0bNwAA0dHRiImJwerVq3Hq1CnY2dkhMDAQeXl54j6Cg4Nx/vx57N+/Hzt27MCxY8cwatQos70vJZhEERERkTSZGZZy+PPPP7F161ZER0ejc+fOaNy4MWbNmoXGjRtj1apVEAQBS5cuxXvvvYf+/fujefPmiI2Nxc2bN7F9+3YAQFJSEvbs2YO1a9eiXbt26NSpE5YvX45Nmzbh5s2bpr8n/8AkioiIiCqUVqvVW/Lz8yX7FRUVobi4GDY2NnrrbW1tcfz4caSkpCAjIwMBAQFim0qlQrt27RAfHw8AiI+Ph6OjI9q2bSv2CQgIgFwux6lTp8x6XkyiiIiISJqpQ3l/Ded5eHhApVKJS1RUlOThHBwcoNFoEBkZiZs3b6K4uBhffPEF4uPjkZ6ejoyMDACAq6ur3naurq5iW0ZGBlxcXPTaLS0t4eTkJPYxF16dR0RERJJMvdlmybZpaWlQKpXieoVCUeY2n3/+Od544w3UrVsXFhYWaN26NV555RUkJCQYHUdFYSWKiIiIJJlrYrlSqdRbDCVRjRo1wtGjR5Gbm4u0tDT8+OOPKCwsRMOGDaFWqwEAmZmZettkZmaKbWq1Grdu3dJrLyoqQlZWltjHXJhEERERUZVjZ2cHNzc33L17F3v37kX//v3h5eUFtVqNgwcPiv20Wi1OnToFjUYDANBoNMjOztarXB06dAg6nQ7t2rUza4wcziMiIiJplfAA4r1790IQBPj4+ODy5cuYMmUKmjZtitdffx0ymQwTJ07E3Llz0aRJE3h5eSEiIgLu7u4YMGAAAMDX1xe9evXCyJEjsXr1ahQWFiI8PBxDhgyBu7u7CSdTGpMoIiIikmSuOVHlkZOTg+nTp+P333+Hk5MTgoKCMG/ePFhZWQEApk6divv372PUqFHIzs5Gp06dsGfPHr0r+jZs2IDw8HB0794dcrkcQUFBiImJMfo8yiITBEEw+16pytJqtVCpVFD4j4TMwrqywyGqEHdPf1jZIRBVGK1WC9c6KuTk5OhN1jb3MVQqFZ4auh5y61pG70dX8AB/fB5aobFWJlaiiIiISFJlVKKqEyZRREREJIlJlGG8Oo+IiIjICKxEERERkSRWogxjEkVERETSKuEWB9UJh/OIiIiIjMBKFBEREUnicJ5hTKKIiIhIEpMow5hEERERkSQmUYZxThQRERGREViJIiIiImm8Os8gJlFEREQkicN5hnE4j4iIiMgIrEQRPYIOrRph3NAAtGhaH27OKgRPXoNdR3/R6zP9zT4YNqADVPa2OPXLVby94CtcTbtdal/WVpY4sH4y/L3r4dngKPz62w2xbUBAK7z1eiAa1XfBnbu5+HjzUSz/4mCFnx/RPy1Ztxc7Dp/FpeuZsFFY4X/NG2JWeH80aeAKALibcx9Ra3bi8MmL+D3zLuo42qPPc83x7ui+UNnb6u1r4/cnsWLjIVxJvQUHOxv0794Ki94ZXBmnRUZgJcowVqLKcOTIEchkMmRnZ1d2KFQF1LJV4NffbmBK9FeS7ROGBeDNwV3wVtQm9Hh9ER78WYCty8OgsC79d8rs8f2RcTun1PqADn5YExmKdVuPo8OQeZi88CuMebUbRr7c2eznQ2TIiZ8uY8TLnbHv08nY9mE4CouKMXDch7j/Zz4AIP12DjJu52DOhBdxYtO7WDnzNRyMv4DxkRv09rNiw0HMXfU9Job0QPxX/4dvVoxDt/a+lXFKZCQZZGIiZdRSwydFVWoSFRoaCplMhgULFuit3759e7mz1wYNGmDp0qWP1K/kf66trS0aNGiAQYMG4dChQ3r9OnTogPT0dKhUqnLFYYxZs2ahZcuWFX4cMt6BExcwb/UO7Dzyi2T76Fe6YtGne7H72Dmcv3wTY2bGQv2UCn26tNDrF9DBD13b+SJi2Tel9jG49/+w88hZrNt2HNdv3MG+uPP4YP0+TAjpUSHnRFSWLcvD8Gq/9vBt5AZ/73pYOfM1/J5xF4lJaQAAv8buiI0eid6d/eFVzxmdn/HBe2P6Yc8Pv6KoqBgAkK19gHmrdmDVrGF4udcz8KrnjKeb1MXzXZpX5qkRmVWlV6JsbGywcOFC3L1797Edc86cOUhPT0dycjJiY2Ph6OiIgIAAzJs3T+xjbW0NtVpdrUqRBQUFlR3CE8mzbh2on1LhyI8XxXXa+3lIOH8NzzRvIK5zdnLA0ndfweiZsXiQV/r/lbW1JfILivTW5eUXoK5rbXi4OVVY/ET/RZubBwCoraxlsI+DnQ0sLS0AAIdPXYROEJB+OxvtXo5Esz7v4fXpn+D3jMf3u55MZ1IVysShwOqg0pOogIAAqNVqREVFGey3detWNGvWDAqFAg0aNMDixYvFtueeew7Xr1/HpEmTHul/moODA9RqNerXr4/OnTtjzZo1iIiIwIwZM5CcnAyg9HDe9evX0a9fP9SuXRt2dnZo1qwZdu3aBQAoLi7G8OHD4eXlBVtbW/j4+GDZsmV6xzxy5Aj+97//wc7ODo6OjujYsSOuX7+O9evXY/bs2Th79qwY+/r16wEA2dnZGDFiBJydnaFUKtGtWzecPXtW3GdJBWvt2rXw8vKCjY3NI73nZF6udZQAgNt37umtv3XnHlz+agOAlTNfw7ptx5GYlCq5n0Mnk9C3awt0fsYbMpkMjeq7ICy4OwBA/VTFV0SJpOh0OkxfsgXtWjSEX2N3yT53snPx/ie7EfJiB3HdtRt/QKcTsGTdPsx/KwjrFwzH3ZwHGBj+IQoKiyT3Q1WQzAxLDVbpSZSFhQXmz5+P5cuX4/fff5fsk5CQgEGDBmHIkCE4d+4cZs2ahYiICDHZ2LZtG+rVqydWmNLT08sdx4QJEyAIAr799lvJ9rCwMOTn5+PYsWM4d+4cFi5cCHt7ewAPf8nUq1cPX3/9NS5cuIAZM2bg3XffxebNmwEARUVFGDBgALp06YJffvkF8fHxGDVqFGQyGQYPHoy3334bzZo1E2MfPPjhpMuXX34Zt27dwu7du5GQkIDWrVuje/fuyMrKEuO6fPkytm7dim3btiExMbFU3Pn5+dBqtXoLPX6jBneBfS0bfLB+X5l9PvsmDms3H8OmJaNx68RS7P/0bWzblwDg4WeMqDJMjt6MpCvp+GTe65Lt2tw/MXjiKvh4uWHaqD7iep0goLCoGAsmv4TuGj884++FtfNCcSXtFn4489vjCp+oQlWJq/NefPFFtGzZEjNnzsQnn3xSqn3JkiXo3r07IiIiAADe3t64cOEC3n//fYSGhsLJyQkWFhZihckYTk5OcHFxwbVr1yTbU1NTERQUBH9/fwBAw4YNxTYrKyvMnj1bfO3l5YX4+Hhs3rwZgwYNglarRU5ODvr27YtGjRoBAHx9/55caW9vD0tLS73Yjx8/jh9//BG3bt2CQqEAACxatAjbt2/Hli1bMGrUKAAPh/BiY2Ph7OwsGXdUVJRebGR+mXceJqbOdRzEnwHApY4Dzv328A+Dzm298Yy/FzLjlupte/izqfh6zxmMnf05AGDWh99izsrv4FpHiT/u5qLL/3wAANdu3HkMZ0Kkb0r0Zuz94VfsWjMRdV1rl2q/dz8PL41fCftaNvji/ZGw+msoDwDUf1Vhfbz+/r32VG0H1HG055BeNcKr8wyr9EpUiYULF+Kzzz5DUlJSqbakpCR07NhRb13Hjh1x6dIlFBcXmy0GQRDK/B8+fvx4zJ07Fx07dsTMmTPxyy/6E4xXrFiBNm3awNnZGfb29lizZg1SUx8O2zg5OSE0NBSBgYHo168fli1b9p/VsrNnzyI3Nxd16tSBvb29uKSkpODKlStiP09PzzITKACYPn06cnJyxCUtLe1R3w56RNdv3EHGHzno8oyPuM7BzgZtmjXA6V+uAQCmLdqCZ4Oj0Pm1Bej82gIMmrgKAPDGu+swd9X3evvT6QSk385BYVExgnq2wY+/XMWd7NzHdj5EgiBgSvRm7DxyFt+tGg/Puk+V6qPN/RNB4z6EtZUFNi55EzYKK732di0e/qF5+fotcd3dnPu4k53LOX7VCOdEGVZlkqjOnTsjMDAQ06dPr5Tj37lzB7dv34aXl5dk+4gRI3D16lUMHToU586dQ9u2bbF8+XIAwKZNmzB58mQMHz4c+/btQ2JiIl5//XW9id7r1q1DfHw8OnTogK+++gre3t44efJkmfHk5ubCzc0NiYmJektycjKmTJki9rOzszN4XgqFAkqlUm+h8rOztcbT3nXxtHddAICnex087V0X9f7663z1l4cx+Y1e6N3ZH36N3LFq1lBk/JGDnUcfzmH7PfMukq6ki8vl1IdfLCk3buPmrWwAgJPKDq8P7IQmnq542rsuot4OQv/urTB98dbHf8L0RJu8cDM27z6NjyNDYV/LBpl/aJH5hxZ//nVBxMMEagXu/1mA5RHBuJebJ/YpLn449NzY0xXPd2mOaYu34NTZq7hw+SbGzPoc3p6ueLatd2WeHpWDTGb6UpNVieG8EgsWLEDLli3h4+Ojt97X1xdxcXF66+Li4uDt7Q0Li4flY2tra5OqUsuWLYNcLseAAQPK7OPh4YHRo0dj9OjRmD59Oj7++GOMGzcOcXFx6NChA8aOHSv2/We1qESrVq3QqlUrTJ8+HRqNBhs3bkT79u0lY2/dujUyMjJgaWmJBg0aGH1eZB4tfT2x46MJ4uv5bwUBADbuOImw2V9gWewB1LJV4IN3X4HK3hYnz17BS+NXlrra7r8M6dMOcya8CJkMOH0uBf1GL8NPF66b9VyI/sunW38AAPQdrX+BzIoZr+HVfu3xS3Iazvx6DQDQ+kX96QJnv52N+u51AACrZg3F/32wDYMnrYJcLkPHVk3wdUyY3rAfUXVWpZIof39/BAcHIyYmRm/922+/jWeeeQaRkZEYPHgw4uPj8eGHH2LlypVinwYNGuDYsWMYMmQIFAoFnnqqdPm5xL1795CRkYHCwkKkpKTgiy++wNq1axEVFYXGjRtLbjNx4kT07t0b3t7euHv3Lg4fPizOa2rSpAliY2Oxd+9eeHl54fPPP8fp06fFqlZKSgrWrFmDF154Ae7u7khOTsalS5cwbNgwMfaUlBQkJiaiXr16cHBwQEBAADQaDQYMGIDo6Gh4e3vj5s2b2LlzJ1588UW0bdvWpPeayifup0uo/Uy4wT5RH+1E1Ec7H2l/aelZpfaXlXMfgcMXl7EF0eNz9/SHBts7tfH+zz4AoLS3xfKIYCyPCDZXaPSYPawmmTInyozBVEFVZjivxJw5c0pdidS6dWts3rwZmzZtwtNPP40ZM2Zgzpw5CA0N1dvu2rVraNSokcE5QgAwY8YMuLm5oXHjxhg6dChycnJw8OBBvPPOO2VuU1xcjLCwMPj6+qJXr17w9vYWk7g333wTAwcOxODBg9GuXTvcuXNHrypVq1YtXLx4EUFBQfD29saoUaMQFhaGN998EwAQFBSEXr16oWvXrnB2dsaXX34JmUyGXbt2oXPnznj99dfh7e2NIUOG4Pr163B1dS3v20pERFR+pg7l1fAkSiYIglDZQdDjo9VqoVKpoPAfCZmFdWWHQ1QhHqVKQlRdabVauNZRIScnp8LmuZZ8VzQcvwUWCsNzbw0pzr+PqzEvVWislalKDecRERFR1cFbHBjGJIqIiIgkmXqFXQ3PoarenCgiIiKi6oCVKCIiIpIkl8sglxtfThJM2LY6YBJFREREkjicZxiH84iIiIiMwEoUERERSeLVeYYxiSIiIiJJHM4zjMN5REREJKmkEmXKUh7FxcWIiIiAl5cXbG1t0ahRI0RGRuKf9wUXBEF88oitrS0CAgJw6dIlvf1kZWUhODgYSqUSjo6OGD58OHJzc83ynvwTkygiIiKqEhYuXIhVq1bhww8/RFJSEhYuXIjo6GgsX75c7BMdHY2YmBisXr0ap06dgp2dHQIDA5GXlyf2CQ4Oxvnz57F//37s2LEDx44dw6hRo8weL4fziIiISNLjnhN14sQJ9O/fH3369AEANGjQAF9++SV+/PFHAA+rUEuXLsV7772H/v37AwBiY2Ph6uqK7du3Y8iQIUhKSsKePXtw+vRptG3bFgCwfPlyPP/881i0aBHc3d2NPp9/YyWKiIiIJJny8OF/zqfSarV6S35+vuTxOnTogIMHD+K3334DAJw9exbHjx9H7969AQApKSnIyMhAQECAuI1KpUK7du0QHx8PAIiPj4ejo6OYQAFAQEAA5HI5Tp06Zdb3h5UoIiIiqlAeHh56r2fOnIlZs2aV6jdt2jRotVo0bdoUFhYWKC4uxrx58xAcHAwAyMjIAAC4urrqbefq6iq2ZWRkwMXFRa/d0tISTk5OYh9zYRJFREREkmQwcTgPD7dNS0uDUqkU1ysUCsn+mzdvxoYNG7Bx40Y0a9YMiYmJmDhxItzd3RESEmJ0HBWFSRQRERFJMtctDpRKpV4SVZYpU6Zg2rRpGDJkCADA398f169fR1RUFEJCQqBWqwEAmZmZcHNzE7fLzMxEy5YtAQBqtRq3bt3S229RURGysrLE7c2Fc6KIiIioSnjw4AHkcv3UxMLCAjqdDgDg5eUFtVqNgwcPiu1arRanTp2CRqMBAGg0GmRnZyMhIUHsc+jQIeh0OrRr186s8bISRURERJIe99V5/fr1w7x581C/fn00a9YMP//8M5YsWYI33nhD3N/EiRMxd+5cNGnSBF5eXoiIiIC7uzsGDBgAAPD19UWvXr0wcuRIrF69GoWFhQgPD8eQIUPMemUewCSKiIiIyvC471i+fPlyREREYOzYsbh16xbc3d3x5ptvYsaMGWKfqVOn4v79+xg1ahSys7PRqVMn7NmzBzY2NmKfDRs2IDw8HN27d4dcLkdQUBBiYmKMP5EyyIR/3gaUajytVguVSgWF/0jILKwrOxyiCnH39IeVHQJRhdFqtXCto0JOTs4jzTMy9hgqlQot/+97WNjYGb2f4rz7SJzXr0JjrUysRBEREZEkPoDYMCZRREREJIkPIDaMSRQRERFJYiXKMN7igIiIiMgIrEQRERGRNBOH81CzC1FMooiIiEgah/MM43AeERERkRFYiSIiIiJJvDrPMCZRREREJInDeYZxOI+IiIjICKxEERERkSQO5xnGJIqIiIgkcTjPMA7nERERERmBlSgiIiKSxEqUYUyiiIiISBLnRBnGJIqIiIgksRJlGOdEERERERmBlSgiIiKSxOE8w5hEERERkSQO5xnG4TwiIiIiI7ASRURERJJkMHE4z2yRVE1MooiIiEiSXCaD3IQsypRtqwMO5xEREREZgZUoIiIiksSr8wxjEkVERESSeHWeYUyiiIiISJJc9nAxZfuajHOiiIiIiIzAShQRERFJk5k4JFfDK1FMooiIiEgSJ5YbxuE8IiIiIiOwEkVERESSZH/9Z8r2NRmTKCIiIpLEq/MM43AeERERkRFYiSIiIiJJvNmmYaxEERERkaSSq/NMWcqjQYMGYuL2zyUsLAwAkJeXh7CwMNSpUwf29vYICgpCZmam3j5SU1PRp08f1KpVCy4uLpgyZQqKiorM9ZboeaRK1HfffffIO3zhhReMDoaIiIieXKdPn0ZxcbH4+tdff0WPHj3w8ssvAwAmTZqEnTt34uuvv4ZKpUJ4eDgGDhyIuLg4AEBxcTH69OkDtVqNEydOID09HcOGDYOVlRXmz59v9ngfKYkaMGDAI+1MJpPpnTwRERFVX3KZDHIThuTKu62zs7Pe6wULFqBRo0bo0qULcnJy8Mknn2Djxo3o1q0bAGDdunXw9fXFyZMn0b59e+zbtw8XLlzAgQMH4OrqipYtWyIyMhLvvPMOZs2aBWtra6PPRcojDefpdLpHWphAERER1RzmGs7TarV6S35+/n8eu6CgAF988QXeeOMNyGQyJCQkoLCwEAEBAWKfpk2bon79+oiPjwcAxMfHw9/fH66urmKfwMBAaLVanD9/3rxvDkycE5WXl2euOIiIiKiKkZqfVN4FADw8PKBSqcQlKirqP4+9fft2ZGdnIzQ0FACQkZEBa2trODo66vVzdXVFRkaG2OefCVRJe0mbuZU7iSouLkZkZCTq1q0Le3t7XL16FQAQERGBTz75xOwBEhERUfWWlpaGnJwccZk+ffp/bvPJJ5+gd+/ecHd3fwwRGqfcSdS8efOwfv16REdH640tPv3001i7dq1ZgyMiIqLKY67hPKVSqbcoFAqDx71+/ToOHDiAESNGiOvUajUKCgqQnZ2t1zczMxNqtVrs8++r9Upel/Qxp3InUbGxsVizZg2Cg4NhYWEhrm/RogUuXrxo1uCIiIio8pRMLDdlMca6devg4uKCPn36iOvatGkDKysrHDx4UFyXnJyM1NRUaDQaAIBGo8G5c+dw69Ytsc/+/fuhVCrh5+dn5LtQtnLfbPPGjRto3LhxqfU6nQ6FhYVmCYqIiIieTDqdDuvWrUNISAgsLf9OU1QqFYYPH4633noLTk5OUCqVGDduHDQaDdq3bw8A6NmzJ/z8/DB06FBER0cjIyMD7733HsLCwv6z+mWMcidRfn5++OGHH+Dp6am3fsuWLWjVqpXZAiMiIqLKJftrMWX78jpw4ABSU1PxxhtvlGr74IMPIJfLERQUhPz8fAQGBmLlypViu4WFBXbs2IExY8ZAo9HAzs4OISEhmDNnjglnUbZyJ1EzZsxASEgIbty4AZ1Oh23btiE5ORmxsbHYsWNHRcRIRERElaAyHvvSs2dPCIIg2WZjY4MVK1ZgxYoVZW7v6emJXbt2lfu4xij3nKj+/fvj+++/x4EDB2BnZ4cZM2YgKSkJ33//PXr06FERMRIRERFVOUY9gPjZZ5/F/v37zR0LERERVSFy2cPFlO1rMqOSKAA4c+YMkpKSADycJ9WmTRuzBUVERESVrzKG86qTcidRv//+O1555RXExcWJdw3Nzs5Ghw4dsGnTJtSrV8/cMRIRERFVOeWeEzVixAgUFhYiKSkJWVlZyMrKQlJSEnQ6nd5NsYiIiKj6M/VGmzVZuStRR48exYkTJ+Dj4yOu8/HxwfLly/Hss8+aNTgiIiKqPBzOM6zcSZSHh4fkTTWLi4ur9PNtiIiIqHw4sdywcg/nvf/++xg3bhzOnDkjrjtz5gwmTJiARYsWmTU4IiIioqrqkSpRtWvX1ivJ3b9/H+3atRNvx15UVARLS0u88cYbGDBgQIUESkRERI8Xh/MMe6QkaunSpRUcBhEREVU1lfHYl+rkkZKokJCQio6DiIiIqFox+mabAJCXl4eCggK9dUql0qSAiIiIqGqQy2SQmzAkZ8q21UG5J5bfv38f4eHhcHFxgZ2dHWrXrq23EBERUc1gyj2inoR7RZU7iZo6dSoOHTqEVatWQaFQYO3atZg9ezbc3d0RGxtbETESERERVTnlHs77/vvvERsbi+eeew6vv/46nn32WTRu3Bienp7YsGEDgoODKyJOIiIiesx4dZ5h5a5EZWVloWHDhgAezn/KysoCAHTq1AnHjh0zb3RERERUaTicZ1i5k6iGDRsiJSUFANC0aVNs3rwZwMMKVckDiYmIiIhqunInUa+//jrOnj0LAJg2bRpWrFgBGxsbTJo0CVOmTDF7gERERFQ5Sq7OM2Wpyco9J2rSpEnizwEBAbh48SISEhLQuHFjNG/e3KzBERERUeUxdUiuhudQpt0nCgA8PT3h6elpjliIiIioCuHEcsMeKYmKiYl55B2OHz/e6GCIiIiIqotHSqI++OCDR9qZTCZjElVN/LZvIe8uTzVWrw/jKjsEogpTlHf/sR1LDiMmT/9r+5rskZKokqvxiIiI6MnB4TzDanqSSERERFQhTJ5YTkRERDWTTAbIeXVemZhEERERkSS5iUmUKdtWBxzOIyIiIjICK1FEREQkiRPLDTOqEvXDDz/gtddeg0ajwY0bNwAAn3/+OY4fP27W4IiIiKjylAznmbLUZOVOorZu3YrAwEDY2tri559/Rn5+PgAgJycH8+fPN3uARERERFVRuZOouXPnYvXq1fj4449hZWUlru/YsSN++uknswZHRERElafk2XmmLDVZuedEJScno3PnzqXWq1QqZGdnmyMmIiIiqgLkMhnkJmRCpmxbHZS7EqVWq3H58uVS648fP46GDRuaJSgiIiKqfHIzLDVZuc9v5MiRmDBhAk6dOgWZTIabN29iw4YNmDx5MsaMGVMRMRIRERFVOeVOoqZNm4ZXX30V3bt3R25uLjp37owRI0bgzTffxLhx4yoiRiIiIqoElTEn6saNG3jttddQp04d2Nrawt/fH2fOnBHbBUHAjBkz4ObmBltbWwQEBODSpUt6+8jKykJwcDCUSiUcHR0xfPhw5Obmmvp2lFLuJEomk+H//u//kJWVhV9//RUnT57E7du3ERkZafbgiIiIqPLIIRPnRRm1oHxZ1N27d9GxY0dYWVlh9+7duHDhAhYvXozatWuLfaKjoxETE4PVq1fj1KlTsLOzQ2BgIPLy8sQ+wcHBOH/+PPbv348dO3bg2LFjGDVqlNnelxJG32zT2toafn5+5oyFiIiInmALFy6Eh4cH1q1bJ67z8vISfxYEAUuXLsV7772H/v37AwBiY2Ph6uqK7du3Y8iQIUhKSsKePXtw+vRptG3bFgCwfPlyPP/881i0aBHc3d3NFm+5k6iuXbsavAPpoUOHTAqIiIiIqgZTb1NQsq1Wq9Vbr1AooFAoSvX/7rvvEBgYiJdffhlHjx5F3bp1MXbsWIwcORIAkJKSgoyMDAQEBIjbqFQqtGvXDvHx8RgyZAji4+Ph6OgoJlAAEBAQALlcjlOnTuHFF180/oT+pdzDeS1btkSLFi3Exc/PDwUFBfjpp5/g7+9vtsCIiIiocpnrjuUeHh5QqVTiEhUVJXm8q1evYtWqVWjSpAn27t2LMWPGYPz48fjss88AABkZGQAAV1dXve1cXV3FtoyMDLi4uOi1W1pawsnJSexjLuWuRH3wwQeS62fNmlUhk7aIiIioektLS4NSqRRfS1WhAECn06Ft27biE1BatWqFX3/9FatXr0ZISMhjibU8zHYLh9deew2ffvqpuXZHRERElUwmg0kTy0uG85RKpd5SVhLl5uZWar61r68vUlNTATy8VyUAZGZm6vXJzMwU29RqNW7duqXXXlRUhKysLLGPuZgtiYqPj4eNjY25dkdERESV7HHf4qBjx45ITk7WW/fbb7/B09MTwMNJ5mq1GgcPHhTbtVotTp06BY1GAwDQaDTIzs5GQkKC2OfQoUPQ6XRo166dke+EtHIP5w0cOFDvtSAISE9Px5kzZxAREWG2wIiIiOjJMmnSJHTo0AHz58/HoEGD8OOPP2LNmjVYs2YNgIe3WZo4cSLmzp2LJk2awMvLCxEREXB3d8eAAQMAPKxc9erVCyNHjsTq1atRWFiI8PBwDBkyxKxX5gFGJFEqlUrvtVwuh4+PD+bMmYOePXuaLTAiIiKqXP+cHG7s9uXxzDPP4JtvvsH06dMxZ84ceHl5YenSpQgODhb7TJ06Fffv38eoUaOQnZ2NTp06Yc+ePXqjYRs2bEB4eDi6d+8OuVyOoKAgxMTEGH8iZZAJgiA8aufi4mLExcXB399f78ZXVH1otVqoVCpcT8/Sm+RHVJMMWHOyskMgqjBFefcRNz0QOTk5FfZ7vOS7IuLbn2Fj52D0fvLu30Nk/1YVGmtlKtecKAsLC/Ts2RPZ2dkVFA4RERFVFea6xUFNVe6J5U8//TSuXr1aEbEQERERVRvlTqLmzp2LyZMnY8eOHUhPT4dWq9VbiIiIqGZgJcqwR55YPmfOHLz99tt4/vnnAQAvvPCC3uNfBEGATCZDcXGx+aMkIiKix04mkxl81NujbF+TPXISNXv2bIwePRqHDx+uyHiIiIiIqoVHTqJKLuLr0qVLhQVDREREVcfjvsVBdVOu+0TV9LIcERER/c2Yu47/e/uarFxJlLe3938mUllZWSYFRERERFQdlCuJmj17dqk7lhMREVHNVPIgYVO2r8nKlUQNGTIELi4uFRULERERVSGcE2XYI98nivOhiIiIiP5W7qvziIiI6Alh4sRy1PD6yyMnUTqdriLjICIioipGDhnkJmRCpmxbHZRrThQRERE9OXiLA8PK/ew8IiIiImIlioiIiMrAq/MMYxJFREREknifKMM4nEdERERkBFaiiIiISBInlhvGJIqIiIgkyWHicF4Nv8UBh/OIiIiIjMBKFBEREUnicJ5hTKKIiIhIkhymDVnV9OGumn5+RERERBWClSgiIiKSJJPJIDNhTM6UbasDJlFEREQkSfbXYsr2NRmTKCIiIpLEO5YbxjlRREREREZgJYqIiIjKVLNrSaZhEkVERESSeJ8owzicR0RERGQEVqKIiIhIEm9xYBiTKCIiIpLEO5YbVtPPj4iIiKhCMIkiIiIiSSXDeaYs5TFr1qxS2zdt2lRsz8vLQ1hYGOrUqQN7e3sEBQUhMzNTbx+pqano06cPatWqBRcXF0yZMgVFRUVmeT/+jcN5REREJKky7ljerFkzHDhwQHxtafl3qjJp0iTs3LkTX3/9NVQqFcLDwzFw4EDExcUBAIqLi9GnTx+o1WqcOHEC6enpGDZsGKysrDB//nwTzkQakygiIiKqMiwtLaFWq0utz8nJwSeffIKNGzeiW7duAIB169bB19cXJ0+eRPv27bFv3z5cuHABBw4cgKurK1q2bInIyEi88847mDVrFqytrc0aK4fziIiISJK5hvO0Wq3ekp+fX+YxL126BHd3dzRs2BDBwcFITU0FACQkJKCwsBABAQFi36ZNm6J+/fqIj48HAMTHx8Pf3x+urq5in8DAQGi1Wpw/f97s7w+TKCIiIpIkN8MCAB4eHlCpVOISFRUlebx27dph/fr12LNnD1atWoWUlBQ8++yzuHfvHjIyMmBtbQ1HR0e9bVxdXZGRkQEAyMjI0EugStpL2syNw3lEREQkyVz3iUpLS4NSqRTXKxQKyf69e/cWf27evDnatWsHT09PbN68Gba2tkbHUVFYiSIiIqIKpVQq9Zaykqh/c3R0hLe3Ny5fvgy1Wo2CggJkZ2fr9cnMzBTnUKnV6lJX65W8lppnZSomUURERCRJZobFFLm5ubhy5Qrc3NzQpk0bWFlZ4eDBg2J7cnIyUlNTodFoAAAajQbnzp3DrVu3xD779++HUqmEn5+fidGUxuE8IiIikvS4H0A8efJk9OvXD56enrh58yZmzpwJCwsLvPLKK1CpVBg+fDjeeustODk5QalUYty4cdBoNGjfvj0AoGfPnvDz88PQoUMRHR2NjIwMvPfeewgLC3vk6ld5MIkiIiKiKuH333/HK6+8gjt37sDZ2RmdOnXCyZMn4ezsDAD44IMPIJfLERQUhPz8fAQGBmLlypXi9hYWFtixYwfGjBkDjUYDOzs7hISEYM6cORUSL5MoIiIikiSHDHITBuXKu+2mTZsMttvY2GDFihVYsWJFmX08PT2xa9euch3XWEyiiIiISNLjHs6rbjixnIiIiMgIrEQRERGRJNlf/5myfU3GJIqIiIgkcTjPMA7nERERERmBlSgiIiKSJDPx6jwO5xEREdETicN5hjGJIiIiIklMogzjnCgiIiIiI7ASRURERJJ4iwPDmEQRERGRJLns4WLK9jUZh/OIiIiIjMBKFBEREUnicJ5hTKKIiIhIEq/OM4zDeURERERGYCWKiIiIJMlg2pBcDS9EMYkiIiIiabw6zzAO5xEREREZgZUoonKKid2PXUfP4vL1W7BRWKGtvxfeG9MPjT1dxT4Dw5cj/ufLetsN7d8B0VMHi69/OJOM6I93IelKOmrZWmNQ7/9h2qg+sLS0eGznQiTls2Ft4Kq0KbX++1/SseLYVUS/+DSa11Xpte38NQPLj1wRXzvbW2Pcc43QvK4KeYXFOHDxNj6NvwadUOHhkxnx6jzDmESVQSaT4ZtvvsGAAQMqOxSqYuITL+P1gc+ipW99FBXrEPXRDgyZtArHNkxHLVuF2C/4BQ2mjnhefG1rYy3+fP7SDbw2+SNMGNYTMRGvIf12Dt55fzOKdTrMDB/wOE+HqJTxm89C/o9xmAZOtRA14Gn8cOUPcd2u8xn4/FSq+Dq/UCf+LJcBc/r54e79Qry19Rycallhcg9vFOl0WH/y722o6uPVeYY9ccN5oaGhkMlkkMlksLKygqurK3r06IFPP/0UOt3fvwTS09PRu3fvCo/nyJEjkMlkyM7OrvBjkXl8uWQMBvdpB5+GbmjWpC6W/l8wbmTexdnkNL1+tgpruNRRiouD3d9/2X978Cf4NnLHW2/0glc9Z3Ro1RgRY1/A+q3HkXs/73GfEpGenLwi3H1QKC7/a+CEm9l/4pcbWrFPfqFOr8+DwmKxrbWHI+rXroXo/b/h6h/3cSY1G7EnU9HP3w2WNX2STA0jM8NSkz1xSRQA9OrVC+np6bh27Rp2796Nrl27YsKECejbty+KiooAAGq1GgqF4j/2VHUIgiDGTo/Xvft/AgBqK2vprd+2/wz8nn8Xz70WhXmrvseDvAKxraCwCAprK73+Ngor5BUU4pd/JWNElclSLkM3H2fsTbqlt76rjzO+Gv4/rH6lJV7XeEJh+ffXia9aiWt37iP7z0JxXULqXdgpLOHppP/vhKg6eyKTKIVCAbVajbp166J169Z499138e2332L37t1Yv349gIfDedu3bwcAFBQUIDw8HG5ubrCxsYGnpyeioqLE/S1ZsgT+/v6ws7ODh4cHxo4di9zcXLH9+vXr6NevH2rXrg07Ozs0a9YMu3btwrVr19C1a1cAQO3atSGTyRAaGgoA0Ol0iIqKgpeXF2xtbdGiRQts2bJF3GdJBWv37t1o06YNFAoFjh8/Xupc8/PzodVq9RYyH51OhxnLtuGZ5l5o2tBdXP9ijzb4cMZQbF0ejnFDe2Dr3tMIn/252P7c/3xx5tcUfLM/AcXFOqTfzsaSdXsBAJl3+P+Iqg5NQyfYKyyx/+LfSdTh327j/f2/4Z3tv+KrhBvo5uOMqT28xfbadlZ6CRQA8XXtWvp/PFDVJocMcpkJSw2vRXFO1F+6deuGFi1aYNu2bRgxYoReW0xMDL777jts3rwZ9evXR1paGtLS/q4WyOVyxMTEwMvLC1evXsXYsWMxdepUrFy5EgAQFhaGgoICHDt2DHZ2drhw4QLs7e3h4eGBrVu3IigoCMnJyVAqlbC1tQUAREVF4YsvvsDq1avRpEkTHDt2DK+99hqcnZ3RpUsX8djTpk3DokWL0LBhQ9SuXbvUeUVFRWH27NkV8ZYRgOmLt+Di1Qx8u2qC3vqh/TuIP/s2cofrU0q8PH4Frv3+BxrUewrPtWuKiLD+eOf9zRgX+QWsrSwxKbQnTp29AnlNn0RA1UovP1ecvn4XWff/rqTuPp8p/nztzgNk3S/AwhefhpvSBulaDkfXJKYOydX032ZMov6hadOm+OWXX0qtT01NRZMmTdCpUyfIZDJ4enrqtU+cOFH8uUGDBpg7dy5Gjx4tJlGpqakICgqCv78/AKBhw4ZifycnJwCAi4sLHB0dATysHs2fPx8HDhyARqMRtzl+/Dg++ugjvSRqzpw56NGjR5nnNH36dLz11lvia61WCw8Pj0d5O+g/vLt4Cw6cOI9vVoyHu4ujwb6t/R5+ZlJu3EaDek8BAEYP6Yo3Bz+HzD+0UCltkZaehfmrd8Czbp2KDp3okbg4KNCyniMid1802O9i5j0AgLvjwyTq7v1C+LjY6/VxtH1Ygbr7oLDU9kTVFZOofxAEATKJKkBoaCh69OgBHx8f9OrVC3379kXPnj3F9gMHDiAqKgoXL16EVqtFUVER8vLy8ODBA9SqVQvjx4/HmDFjsG/fPgQEBCAoKAjNmzcvM47Lly/jwYMHpZKjgoICtGrVSm9d27ZtDZ6TQqGoVnO7qgNBEPB/S7Zi97FfsPXDcNR3/++k59dLNwAArnWUeutlMhnUzg8vFd++/ye4uzrC35tJLlUNPX1dkPNnIX68lmWwX6On7ABArFYlZWgxpG09qGytkPPXMF7r+o64n1+E1KwHFRs0mRdLUQY9kXOiypKUlAQvL69S61u3bo2UlBRERkbizz//xKBBg/DSSy8BAK5du4a+ffuiefPm2Lp1KxISErBixQoAD5MeABgxYgSuXr2KoUOH4ty5c2jbti2WL19eZhwl86l27tyJxMREcblw4YLevCgAsLOzM8u506ObvvhrbN13BitmDYN9LRvcuqPFrTta/Jn/8P/3td//wJJ1e3H2YhrS0u9g7w/nMD7yC7Rv2Qh+jeuK+1m54SCSrtxE8tV0LFm3Fx9+cQBzJwbBwoL/LKnyyQD0aOqC/Rdv6d3byU1pg1fb1kNjZzu4OijQvoETJvdogl9u5CDlzsME6ae0bKTefYCpPZrAq04ttKnviJB29fH9uXQU8kZR1YrMDP/VZKxE/eXQoUM4d+4cJk2aJNmuVCoxePBgDB48GC+99BJ69eqFrKwsJCQkQKfTYfHixZDLH375bd68udT2Hh4eGD16NEaPHo3p06fj448/xrhx42Bt/fDeQcXFf18e7OfnB4VCgdTUVL2hO6oaPvsmDgAQFK6fCC9991UM7tMOVlYW+OFMMtZuPoIHeQVwd3FEn+daYGJooF7/QyeTsCx2PwoKiuDX2B3rFoxAd43fYzsPIkNaeTjCVWmDfUmZeusLdTq09HDEgJbusLG0wO3cfMRduYMvT/8u9tEJwMwdSQjv0hAfvNQceUU6HLh4C7GneI8oqlmeyCQqPz8fGRkZKC4uRmZmJvbs2YOoqCj07dsXw4YNK9V/yZIlcHNzQ6tWrSCXy/H1119DrVbD0dERjRs3RmFhIZYvX45+/fohLi4Oq1ev1tt+4sSJ6N27N7y9vXH37l0cPnwYvr6+AABPT0/IZDLs2LEDzz//PGxtbeHg4IDJkydj0qRJ0Ol06NSpE3JychAXFwelUomQkJDH8j6RtPS4ZQbb67rWxjcrxv/nfrYsDzdXSERm91NaNnp9GFdq/R+5BZj6za//uf2te/mYsSOpIkKjx8nEm23W8ELUkzmct2fPHri5uaFBgwbo1asXDh8+jJiYGHz77bewsCj9yA0HBwdER0ejbdu2eOaZZ3Dt2jXs2rULcrkcLVq0wJIlS7Bw4UI8/fTT2LBhg97tD4CHVaawsDD4+vqiV69e8Pb2Fied161bF7Nnz8a0adPg6uqK8PCHX6yRkZGIiIhAVFSUuN3OnTslhxuJiIgqAm+2aZhMEAQOUD9BtFotVCoVrqdnQalU/vcGRNXQgDUnKzsEogpTlHcfcdMDkZOTU2G/x0u+Kw4lpsLewfhj5N7TolvL+hUaa2V6IofziIiI6BHw6jyDmEQRERGRJFOvsOPVeURERPREkpk4sbymP4DhiZxYTkRERFXfggULIJPJ9J4MkpeXh7CwMNSpUwf29vYICgpCZqb+rThSU1PRp08f1KpVCy4uLpgyZQqKiorMHh+TKCIiIpJUmVfnnT59Gh999FGpJ3xMmjQJ33//Pb7++mscPXoUN2/exMCBA8X24uJi9OnTBwUFBThx4gQ+++wzrF+/HjNmzDAhGmlMooiIiEhaJWVRubm5CA4Oxscff4zatWuL63NycvDJJ59gyZIl6NatG9q0aYN169bhxIkTOHny4VW5+/btw4ULF/DFF1+gZcuW6N27NyIjI7FixQrxSSLmwiSKiIiIKpRWq9Vb8vPzDfYPCwtDnz59EBAQoLc+ISEBhYWFeuubNm2K+vXrIz4+HgAQHx8Pf39/uLq6in0CAwOh1Wpx/vx5M54VkygiIiIqg7menefh4QGVSiUu/74p9T9t2rQJP/30k2SfjIwMWFtbw9HRUW+9q6srMjIyxD7/TKBK2kvazIlX5xEREZEkc12dl5aWpnezTYVCIdk/LS0NEyZMwP79+2FjY2P8gR8TVqKIiIioQimVSr2lrCQqISEBt27dQuvWrWFpaQlLS0scPXoUMTExsLS0hKurKwoKCpCdna23XWZmJtRqNQBArVaXulqv5HVJH3NhEkVERESSHve88u7du+PcuXNITEwUl7Zt2yI4OFj82crKCgcPHhS3SU5ORmpqKjQaDQBAo9Hg3LlzuHXrlthn//79UCqV8PPzM+ZtKBOH84iIiEjaY37si4ODA55++mm9dXZ2dqhTp464fvjw4Xjrrbfg5OQEpVKJcePGQaPRoH379gCAnj17ws/PD0OHDkV0dDQyMjLw3nvvISwsrMwKmLGYRBEREVG18cEHH0AulyMoKAj5+fkIDAzEypUrxXYLCwvs2LEDY8aMgUajgZ2dHUJCQjBnzhyzx8IkioiIiCRVhWfnHTlyRO+1jY0NVqxYgRUrVpS5jaenJ3bt2mXysf8LkygiIiKSxGfnGcYkioiIiCQ95ilR1Q6vziMiIiIyAitRREREJI2lKIOYRBEREZGkqjCxvCrjcB4RERGREViJIiIiIkm8Os8wJlFEREQkiVOiDONwHhEREZERWIkiIiIiaSxFGcQkioiIiCTx6jzDOJxHREREZARWooiIiEgSr84zjEkUERERSeKUKMOYRBEREZE0ZlEGcU4UERERkRFYiSIiIiJJvDrPMCZRREREJM3EieU1PIficB4RERGRMViJIiIiIkmcV24YkygiIiKSxizKIA7nERERERmBlSgiIiKSxKvzDGMSRURERJL42BfDOJxHREREZARWooiIiEgS55UbxiSKiIiIpDGLMohJFBEREUnixHLDOCeKiIiIyAisRBEREZEkGUy8Os9skVRNTKKIiIhIEqdEGcbhPCIiIiIjsBJFREREknizTcOYRBEREVEZ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OHHiBDw9PfF///d/4rrr16+X6peamoqbN2/C3d1dPI5cLoePjw9cXV3h7u6Oq1evIjg4uFzHJ6KqhRPLichowcHBeOqpp9C/f3/88MMPSElJwZEjRzB+/Hj8/vvvAIAJEyZgwYIF2L59Oy5evIixY8cavMdTgwYNEBISgjfeeAPbt28X97l582YAgKenJ2QyGXbs2IHbt28jNzcXDg4OmDx5MiZNmoTPPvsMV65cwU8//YTly5eLk7VHjx6NS5cuYcqUKUhOTsbGjRuxfv36cp1vkyZNkJqaik2bNuHKlSuIiYmRnCRvY2ODkJAQnD17Fj/88APGjx+PQYMGQa1WAwBmz56NqKgoxMTE4LfffsO5c+ewbt06LFmypFzxEFHlYhJFREarVasWjh07hvr162PgwIHw9fXF8OHDkZeXJ1am3n77bQwdOhQhISHQaDRwcHDAiy++aHC/q1atwksvvYSxY8eiadOmGDlyJO7fvw8AqFu3LmbPno1p06bB1dUV4eHhAIDIyEhEREQgKioKvr6+6NWrF3bu3AkvLy8AD+cpbd26Fdu3b0eLFi2wevVqzJ8/v1zn+8ILL2DSpEkIDw9Hy5YtceLECURERJTq17hxYwwcOBDPP/88evbsiebNm+vdwmDEiBFYu3Yt1q1bB39/f3Tp0gXr168XYyWi6kEmlDW7k4iIiIjKxEoUERERkRGYRBEREREZgUkUERERkRGYRBEREREZgUkUERERkRGYRBEREREZgUkUERERkRGYRBEREREZgUkUERERkRGYRBEREREZgUkUERERkRH+H2H7a3UOkY4XAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "y_pred_valid = tf.math.round(model_lstm.predict(testing_padded)).numpy().astype(int) \n", + "print(\"****** Test Data ********\")\n", + "print(f\"F1: {metrics.f1_score(y_test, y_pred_valid)}\")\n", + "# Printing performance details\n", + "print(metrics.classification_report(y_test, y_pred_valid))\n", + "\n", + "# Printing confusion matrix\n", + "print(\"Confusion Matrix\")\n", + "ConfusionMatrixDisplay.from_predictions(\n", + " y_test,\n", + " y_pred_valid,\n", + " display_labels=[\"Not Disaster\",\"Disaster\"],\n", + " cmap=plt.cm.Blues\n", + " )" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "71d9e71e", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA04AAAHWCAYAAABACtmGAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAACjf0lEQVR4nOzdeVhUZRsG8HsYmAFkE9kRxR1RtjTMfSNxATPN3VxKs1IzSQtzIS0jM01L03LNys+9UtxS3NOyXEBTcReURRDZ95nz/WEcnQCBYeDAcP+uiyvOe5Z5zhjnzDPnfZ9XJgiCACIiIiIiIiqRgdQBEBERERERVXdMnIiIiIiIiErBxImIiIiIiKgUTJyIiIiIiIhKwcSJiIiIiIioFEyciIiIiIiISsHEiYiIiIiIqBRMnIiIiIiIiErBxImIiIiIiKgUTJyIiIiIqsjYsWPh6uparn2OHj0KmUyGo0ePVkpMNV23bt3QrVs3cfnOnTuQyWTYsGGDZDGRfmLiRARgw4YNkMlk4o+hoSGcnZ0xduxY3L9/v9h9BEHADz/8gC5dusDKygqmpqbw8PDA/PnzkZmZWeJr/fzzz+jTpw9sbGygUCjg5OSEIUOG4PDhw5V1ekREtdZ/r+/GxsZo3rw5Jk+ejISEBKnDq/YKk5DCHwMDA1hbW6NPnz44ffq01OERVSlDqQMgqk7mz5+PRo0aIScnB3/88Qc2bNiAkydP4tKlSzA2Nha3U6lUGDFiBLZu3YrOnTvjo48+gqmpKU6cOIF58+Zh27ZtOHToEOzt7cV9BEHAa6+9hg0bNsDHxwdBQUFwcHBAXFwcfv75Z/Ts2RO///47OnToIMWpExHptaev7ydPnsTKlSuxd+9eXLp0CaamplUWx+rVq6FWq8u1T5cuXZCdnQ2FQlFJUZVu+PDh6Nu3L1QqFa5du4ZvvvkG3bt3x19//QUPDw/J4iKqSkyciJ7Sp08ftG3bFgAwfvx42NjYYOHChdi1axeGDBkibvf5559j69atmD59OhYtWiS2v/HGGxgyZAgGDBiAsWPHYt++feK6xYsXY8OGDXj33XexZMkSyGQycd2sWbPwww8/wNBQ2j/JzMxM1KlTR9IYiIgqw3+v7/Xq1cOSJUvw66+/Yvjw4cXuUxnXRCMjo3LvY2BgoPHlnRSee+45jBo1Slzu3Lkz+vTpg5UrV+Kbb76RMLLqLSsrq0oTc6pc7KpH9AydO3cGANy8eVNsy87OxqJFi9C8eXOEhoYW2ScwMBBjxozB/v378ccff4j7hIaGws3NDV988YVG0lTo1Vdfha+v7zPjUavVWLZsGTw8PGBsbAxbW1v07t0bf//9N4Bn9+uWyWT46KOPxOWPPvoIMpkMly9fxogRI1C3bl106tRJjO/u3btFjjFz5kwoFAo8evRIbPvzzz/Ru3dvWFpawtTUFF27dsXvv//+zPMgIpJajx49AAC3b98G8HjskZmZGW7evIm+ffvC3NwcI0eOBPD42rt06VK0atUKxsbGsLe3x8SJEzWuhYX27duHrl27wtzcHBYWFnj++eexadMmcX1xY5w2b96MNm3aiPt4eHhg2bJl4vqSxjht27YNbdq0gYmJCWxsbDBq1Kgi3csLz+v+/fsYMGAAzMzMYGtri+nTp0OlUmn9/hV3fwSAlJQUvPvuu3BxcYFSqUTTpk2xcOHCIk/ZSrufAcD69evRo0cP2NnZQalUwt3dHStXrtQ65uKkpKRg2rRpcHV1hVKpRP369TF69GgkJSUBeNLV886dOxr7Ffdv0q1bN7Ru3Rpnz55Fly5dYGpqig8//BABAQFo3Lhxsa/fvn17MaEv9OOPP4r/rtbW1hg2bBhiYmJ0et6kHSZORM9QeKGsW7eu2Hby5Ek8evQII0aMKPEJ0ejRowEAYWFh4j7JyckYMWIE5HK51vG8/vrr4g1p4cKFCA4OhrGxsZigaWPw4MHIysrCp59+igkTJmDIkCGQyWTYunVrkW23bt2KXr16ie/H4cOH0aVLF6SlpSEkJASffvopUlJS0KNHD5w5c0brmIiIKlvhB/569eqJbQUFBfD394ednR2++OILDBo0CAAwceJEzJgxAx07dsSyZcswbtw4/PTTT/D390d+fr64/4YNG9CvXz8kJydj5syZ+Oyzz+Dt7Y39+/eXGMfBgwcxfPhw1K1bFwsXLsRnn32Gbt26lfoF1IYNGzBkyBDI5XKEhoZiwoQJ2LlzJzp16oSUlBSNbVUqFfz9/VGvXj188cUX6Nq1KxYvXozvvvuuvG+bqLj7Y1ZWFrp27Yoff/wRo0ePxldffYWOHTti5syZCAoK0ti/LPezlStXomHDhvjwww+xePFiuLi44O2338aKFSu0jvtpGRkZ6Ny5M77++mv06tULy5Ytw5tvvomrV6/i3r17Wh3z4cOH6NOnD7y9vbF06VJ0794dQ4cOxe3bt/HXX39pbHv37l388ccfGDZsmNi2YMECjB49Gs2aNcOSJUvw7rvvIjw8HF26dCny70oSEIhIWL9+vQBAOHTokJCYmCjExMQI27dvF2xtbQWlUinExMSI2y5dulQAIPz8888lHi85OVkAIAwcOFAQBEFYtmxZqfuU5vDhwwIA4Z133imyTq1WC4IgCLdv3xYACOvXry+yDQAhJCREXA4JCREACMOHDy+ybfv27YU2bdpotJ05c0YAIGzcuFF8zWbNmgn+/v7i6wuCIGRlZQmNGjUSXnzxRW1Ok4hIp4q7vm/evFmoV6+eYGJiIty7d08QBEEYM2aMAEAIDg7W2P/EiRMCAOGnn37SaN+/f79Ge0pKimBubi60a9dOyM7O1tj26WvkmDFjhIYNG4rLU6dOFSwsLISCgoISz+HIkSMCAOHIkSOCIAhCXl6eYGdnJ7Ru3VrjtcLCwgQAwty5czVeD4Awf/58jWP6+PgUuc4Xp/C+Mm/ePCExMVGIj48XTpw4ITz//PMCAGHbtm3ith9//LFQp04d4dq1axrHCA4OFuRyuRAdHS0IQtnuZ4Lw+H7yX/7+/kLjxo012rp27Sp07dq1SMzF3QufNnfuXAGAsHPnzhLjKPz/5/bt2xrr//tvUhgHAGHVqlUa26ampgpKpVJ47733NNo///xzQSaTCXfv3hUEQRDu3LkjyOVyYcGCBRrbXbx4UTA0NCzSTlWPT5yInuLn5wdbW1u4uLjglVdeQZ06dbBr1y7Ur19f3CY9PR0AYG5uXuJxCtelpaVp/PdZ+5Rmx44dkMlkCAkJKbKuuK5/ZfXmm28WaRs6dCjOnj2r0QVjy5YtUCqVeOmllwAAFy5cwPXr1zFixAg8fPgQSUlJSEpKQmZmJnr27Injx4+XewA0EVFlefr6PmzYMJiZmeHnn3+Gs7OzxnZvvfWWxvK2bdtgaWmJF198UbzOJSUloU2bNjAzM8ORI0cAPH5ylJ6eLj45edqzrtFWVlbIzMzEwYMHy3wuf//9Nx48eIC3335b47X69esHNzc37Nmzp8g+/73Wd+7cGbdu3Srza4aEhMDW1hYODg7o3Lkzrly5gsWLF+OVV14Rt9m2bRs6d+6MunXrarxXfn5+UKlUOH78OICy389MTEzE31NTU5GUlISuXbvi1q1bSE1NLXPsJdmxYwe8vLzw8ssvPzOO8lAqlRg3bpxGm4WFBfr06YOtW7dCEASxfcuWLXjhhRfQoEEDAMDOnTuhVqsxZMgQjffPwcEBzZo1E/9fI+mwOATRU1asWIHmzZsjNTUV69atw/Hjx6FUKjW2KUx+ChOo4vw3ubKwsCh1n9LcvHkTTk5OsLa21voYxWnUqFGRtsGDByMoKAhbtmzBhx9+CEEQsG3bNvTp00c8l+vXrwMAxowZU+KxU1NTNbpxEBFJpfD6bmhoCHt7e7Ro0QIGBprfHxsaGmp8UQY8vtalpqbCzs6u2OM+ePAAwJOuf61bty5XXG+//Ta2bt2KPn36wNnZGb169cKQIUPQu3fvEvcpHIPaokWLIuvc3Nxw8uRJjbbCMURPq1u3rsYYrcTERI0xT2ZmZjAzMxOX33jjDQwePBg5OTk4fPgwvvrqqyJjpK5fv47IyMgir1Xo6feqLPez33//HSEhITh9+jSysrI01qWmpsLS0vKZ+5fm5s2bYndMXXF2di62+uHQoUPxyy+/4PTp0+jQoQNu3ryJs2fPYunSpeI2169fhyAIaNasWbHH1qawCOkWEyeip/j6+oqDNAcMGIBOnTphxIgRiIqKEm8gLVu2BABERkZiwIABxR4nMjISAODu7g7g8Y0MAC5evFjiPrpQ0jdkzxoA/PQ3eoWcnJzQuXNnbN26FR9++CH++OMPREdHY+HCheI2hU+TFi1aBG9v72KP/fRNl4hISk9f30uiVCqLJFNqtRp2dnb46aefit2npCShrOzs7HDhwgUcOHAA+/btw759+7B+/XqMHj0a33//fYWOXagsY2uff/55jaJAISEhGgWFmjVrBj8/PwBAQEAA5HI5goOD0b17d/F9VavVePHFF/H+++8X+xrNmzcvc8w3b95Ez5494ebmhiVLlsDFxQUKhQJ79+7Fl19+WWU9Gsp7Xy3ungo8LhxlamqKrVu3okOHDti6dSsMDAwwePBgcRu1Wg2ZTIZ9+/YV+2/Ge6r0mDgRlaBwwG337t2xfPlyBAcHAwA6deoEKysrbNq0CbNmzSr24rZx40YAj28uhfvUrVsX//vf//Dhhx9qVSCiSZMmOHDgAJKTk0v8lq7w6c5/B5AWVyGvNEOHDsXbb7+NqKgobNmyBaampggMDNSIB3j8NK3wZkpEpG+aNGmCQ4cOoWPHjiV+KC7cDgAuXbqEpk2blus1FAoFAgMDERgYCLVajbfffhvffvst5syZU+yxGjZsCACIiooSqwMWioqKEteXx08//YTs7GxxuaQqcIVmzZqF1atXY/bs2WLxiyZNmiAjI6PUe0JZ7me7d+9Gbm4udu3aJXZlA6DT7mpNmjTBpUuXnrmNru6rderUQUBAALZt24YlS5Zgy5Yt6Ny5M5ycnDTiEQQBjRo1KleSSVWHY5yInqFbt27w9fXF0qVLkZOTAwAwNTXF9OnTERUVhVmzZhXZZ8+ePdiwYQP8/f3xwgsviPt88MEHuHLlCj744AONPs6Ffvzxx2dWohs0aBAEQcC8efOKrCs8noWFBWxsbMR+5IW0mWNj0KBBkMvl+N///odt27YhICBAYz6TNm3aoEmTJvjiiy+QkZFRZP/ExMRyvyYRUXUzZMgQqFQqfPzxx0XWFRQUiB+oe/XqBXNzc4SGhor3i0LFXfMLPXz4UGPZwMAAnp6eAIDc3Nxi92nbti3s7OywatUqjW327duHK1euoF+/fmU6t6d17NgRfn5+4k9piZOVlRUmTpyIAwcO4MKFCwAev1enT5/GgQMHimyfkpKCgoICAGW7nxV+wfj0e5eamor169eX+9xKMmjQIERERODnn38uMY7ChPjp+6pKpdKqIuHQoUMRGxuLNWvWICIiAkOHDtVYP3DgQMjlcsybN6/I/zOCIBT5f4WqHp84EZVixowZGDx4MDZs2CAOrg0ODsb58+excOFCnD59GoMGDYKJiQlOnjyJH3/8ES1btizSxWLGjBn4559/sHjxYhw5cgSvvPIKHBwcEB8fj19++QVnzpzBqVOnSoyje/fuePXVV/HVV1/h+vXr6N27N9RqNU6cOIHu3btj8uTJAB5P7PjZZ59h/PjxaNu2LY4fP45r166V+7zt7OzQvXt3LFmyBOnp6UUu8AYGBlizZg369OmDVq1aYdy4cXB2dsb9+/dx5MgRWFhYYPfu3eV+XSKi6qRr166YOHEiQkNDceHCBfTq1QtGRka4fv06tm3bhmXLluGVV16BhYUFvvzyS4wfPx7PP/+8OD9eREQEsrKySux2N378eCQnJ6NHjx6oX78+7t69i6+//hre3t5i1/D/MjIywsKFCzFu3Dh07doVw4cPR0JCApYtWwZXV1dMmzatMt8S0dSpU7F06VJ89tln2Lx5M2bMmIFdu3YhICAAY8eORZs2bZCZmYmLFy9i+/btuHPnDmxsbMp0P+vVq5f4JG7ixInIyMjA6tWrYWdnh7i4OJ3EP2PGDGzfvh2DBw/Ga6+9hjZt2iA5ORm7du3CqlWr4OXlhVatWuGFF17AzJkzxSdkmzdvFpPA8iicH2z69OmQy+VFxlc1adIEn3zyCWbOnIk7d+5gwIABMDc3x+3bt/Hzzz/jjTfewPTp03Vy7qQlKUr5EVU3heVG//rrryLrVCqV0KRJE6FJkyYa5WJVKpWwfv16oWPHjoKFhYVgbGwstGrVSpg3b56QkZFR4mtt375d6NWrl2BtbS0YGhoKjo6OwtChQ4WjR4+WGmdBQYGwaNEiwc3NTVAoFIKtra3Qp08f4ezZs+I2WVlZwuuvvy5YWloK5ubmwpAhQ4QHDx6UWI48MTGxxNdbvXq1AEAwNzcvUl630Pnz54WBAwcK9erVE5RKpdCwYUNhyJAhQnh4eKnnQ0RU2Z51fX/amDFjhDp16pS4/rvvvhPatGkjmJiYCObm5oKHh4fw/vvvC7GxsRrb7dq1S+jQoYNgYmIiWFhYCL6+vsL//vc/jdd5uhx54T3Bzs5OUCgUQoMGDYSJEycKcXFx4jbFlb4WBEHYsmWL4OPjIyiVSsHa2loYOXKkWF69tPMqvAeUprC096JFi4pdP3bsWEEulws3btwQBEEQ0tPThZkzZwpNmzYVFAqFYGNjI3To0EH44osvhLy8PHG/stzPdu3aJXh6egrGxsaCq6ursHDhQmHdunVFyoNrW45cEATh4cOHwuTJkwVnZ2dBoVAI9evXF8aMGSMkJSWJ29y8eVPw8/MTlEqlYG9vL3z44YfCwYMHiy1H3qpVq2e+3siRIwUAgp+fX4nb7NixQ+jUqZNQp04doU6dOoKbm5swadIkISoqqtTzocolE4RnPD8mIiIiIiIijnEiIiIiIiIqDRMnIiIiIiKiUjBxIiIiIiIiKgUTJyIiIiIiolIwcSIiIiIiIioFEyciIiIiIqJS1LoJcNVqNWJjY2Fubg6ZTCZ1OEREtYogCEhPT4eTkxMMDPjdXSHem4iIpFGe+1KtS5xiY2Ph4uIidRhERLVaTEwM6tevL3UY1QbvTURE0irLfanWJU7m5uYAHr85FhYWEkdDRFS7pKWlwcXFRbwW02O8NxERSaM896ValzgVdoGwsLDgzYmISCLsjqaJ9yYiImmV5b7EDuZERERERESlYOJERERERERUCiZOREREREREpWDiREREREREVAomTkRERERERKVg4kRERERERFQKJk5ERERERESlYOJERERERERUCiZOREREREREpWDiREREREREVApJE6fjx48jMDAQTk5OkMlk+OWXX0rd5+jRo3juueegVCrRtGlTbNiwodLjJCKi2oP3JiIiKo6kiVNmZia8vLywYsWKMm1/+/Zt9OvXD927d8eFCxfw7rvvYvz48Thw4EAlR0pERLUF701ERFQcQylfvE+fPujTp0+Zt1+1ahUaNWqExYsXAwBatmyJkydP4ssvv4S/v39lhUlERP8SBAEqtQBDuf729K5p9yZBEJCdrwIAmBjJIZPJKv01iYhqoxp15zt9+jT8/Pw02vz9/XH69OkS98nNzUVaWprGDxERlZ0gCLh0PxWf7buKLouOYPvZe1KHVK1IfW/KzlfBfe4BuM89ICZQRESke5I+cSqv+Ph42Nvba7TZ29sjLS0N2dnZMDExKbJPaGgo5s2bV1UhEhHpjesJ6dgdEYuwyDjcSsoU2w/8E49hvg0kjKx64b2JiKh2qFGJkzZmzpyJoKAgcTktLQ0uLi4SRkREVH3dTspE2L/JUlRCutiuNDRA9xZ2CPRyQg83Owkj1A+8NxER1Tw1KnFycHBAQkKCRltCQgIsLCyK/UYPAJRKJZRKZVWER0RUI8UkZ2HPxTiERcbi0v0nXcaM5DJ0bW6LAE8n+Lnbw0xZo24ZVYb3JiKi2qFG3QXbt2+PvXv3arQdPHgQ7du3lygiIqKaKT41B3suxmF3RCwuxKSI7XIDGTo2tUGApyP83R1gaWokXZA1BO9NRES1g6SJU0ZGBm7cuCEu3759GxcuXIC1tTUaNGiAmTNn4v79+9i4cSMA4M0338Ty5cvx/vvv47XXXsPhw4exdetW7NmzR6pTICKqMZIycrHvYhx2R8Thr7vJEITH7TIZ8EKjegjwckTvVg6oZ1a7n4Tw3kRERMWRNHH6+++/0b17d3G5sL/3mDFjsGHDBsTFxSE6Olpc36hRI+zZswfTpk3DsmXLUL9+faxZs4alyImISpCSlYf9l+KxOzIWp28+hFp4sq5tw7oI8HREXw9H2FkYSxdkNcN7ExERFUcmCIJQ+mb6Iy0tDZaWlkhNTYWFhYXU4RAR6VxaTj5++ycBYZGxOHk9CQVPZUte9S0R4OmEfp6OcLIqfvxNpcbGa3CxKvK+ZOUVwH3u48l2L8/3h6miRvXCJyKSVHmuv7y6EhHpgczcAhy6koCwyDgci0pEnkotrmvpaIEAT0cEejqhQT1TCaMkIiKquZg4ERHVUDn5Khy5+gBhkXEIv5qAnPwnyVJTOzMEejohwMsRTWzNJIySiIhIPzBxIiKqQXILVDhxLQlhkbE4eDkBmXkqcV3DeqZistTC3hwymUzCSImIiPQLEyciomouX6XGqZsPERYRi/3/xCM9p0Bc52xlggBPRwR4OqG1swWTJSIiokrCxImIqBpSqQX8efshdkfEYf+lODzKyhfX2Zkr0e/fZOm5BlZMloiIiKoAEyciompCrRZwLvoRdkfEYu+leCSm54rr6tVRoI+HAwI8nfC8qzXkBkyWiIiIqhITJyIiCQmCgMh7qdgdEYs9F+MQl5ojrrM0MULvVg4I9HLCC42tYSg3kDBSIiKi2o2JExFRFRMEAZfj0hAWGYc9kXGITs4S15kpDdHL3R4BXo7o1NQWCkMmS0RERNUBEycioipyPSEduyPjEBYZi1uJmWK7iZEcPVvaIdDLCV2b28LYSC5hlERERFQcJk5ERJXoTlImwiJjsTsiDlEJ6WK7wtAAPVrYIcDLET3c7GCq4OWYiIioOuOdmohIx+49ysKeyDjsjozFpftpYruRXIYuzWwR4OUIv5b2MDc2kjBKIiIiKg8mTkREOpCQliMmS+ejU8R2uYEMHZrUQ6CnE/xbOcDSlMkSERFRTcTEiYhIS0kZudh3MQ67I+Pw151kCMLjdpkMaNfIGgGeTujT2gH1zJTSBkpEREQVxsSJiKgcUrLysP9SPMIi43DqZhLUwpN1bRrWRYCnI/p6OMLewli6IImIiEjnmDgREZUiLScfB/9JQFhkLE5cT0LBU9mSZ31LBHo6oa+nI5ytTCSMkoiIiCoTEyciomJk5RXg0JUHCIuIxdFricgrUIvr3BzMEejlhABPRzSsV0fCKImIiKiqMHEiIvpXTr4KR6MeYHdkHMKvJCAn/0my1MS2zr/JkhOa2plJGCURERFJgYkTEdVqeQVqnLieiLDIOPz2Tzwy81Tiuob1TBHg6YgATye4OZhDJpNJGCkRERFJiYkTEdU6BSo1Tt18iLDIWOy/FI+0nAJxnbOVCfp5OiLA0xEezpZMloiIiAgAEyciqiVUagFnbidj97/JUnJmnrjOzlyJvh6OCPRygo+LFQwMmCwRERGRJiZORKS31GoB52MeYXdEHPZcjENieq64zrqOAn1aOyDA0wm+jawhZ7JEREREz8DEiYj0iiAIiLyXirDIWOyJjENsao64zsLYEL1bOyDQywntG9eDodxAwkiJiIioJmHiREQ1niAIuBKXjrDIWIRFxiE6OUtcZ6Y0RC93ewR4OaJTU1soDJksERERUfkxcSKiGuvGg3TsjojD7shY3ErMFNtNjOTo2dIOAZ5O6NbCFsZGcgmjJCIiIn3AxImIapS7DzMRFhmH3RGxuBqfLrYrDA3QvYUtAjyd0LOlHUwVvLwRERGR7vCTBRFVe/dTsrEnMha7I+Jw8X6q2G4kl6FzM1sEeDriRXd7mBsbSRglERER6TMmTkRULSWk5WBPZBzCImNxLjpFbJcbyNChST0EeDrCv5UDrEwV0gVJREREtQYTJyKqNh5m5GLvpXiERcTizJ1kCMLjdpkM8HW1RoCXE/q0doCNmVLaQImIiKjWYeJERJJKycrDgX/iERYZh1M3H0KlFsR1zzWwQqCXE/p6OMLewljCKImIiKi2Y+JERFUuPScfBy8nICwyDieuJyJf9SRZ8nC2RKCXI/p6OKJ+XVMJoyQiIiJ6gokTEVWJrLwChF95gLDIWByJSkRegVpc5+ZgjkAvJ/TzcISrTR0JoyQiIiIqHhMnIqo0OfkqHI1KRFhkLMKvPEB2vkpc18S2DgI8nRDo5YimduYSRklERERUOiZORKRTeQVqnLyRiLCIOPx2OQEZuQXiugbWpgjwdESApxNaOppDJpNJGCkRERFR2TFxIqIKK1CpcfrWQ+yOiMWBfxKQmp0vrnOyNEY/T0cEejnBw9mSyRIRERHVSEyciEgrKrWAM7eTERYZi/2X4vEwM09cZ2uuRD8PRwR6OcLHpS4MDJgsERERUc3GxImIykytFnA+5hF2R8Rh78U4PEjPFddZ11Ggd2sHBHo6wbeRNeRMloiIiEiPMHEiomcSBAEX76ciLDIOeyLjcD8lW1xnYWyI3q0dEODphA5N6sFQbiBhpERERESVh4kTERUhCAKuxqcjLDIWYZFxuPswS1xXRyFHr1YOCPB0ROdmtlAYMlkiIiIi/cfEiYhENx5kICwyFrsjYnEzMVNsNzYyQM+W9gj0dES3FnYwNpJLGCURERFR1WPiRFTL3X2YibDIOOyOiMXV+HSxXWFogG7NbRHg5YSebnaoo+TlgoiIiGovfhIiqoViU7KxJzIOuyNjEXkvVWw3NJChczMbBHg64cVW9rAwNpIwSiIiIqLqg4kTUS3xIC0Hey7GISwyDmfvPhLbDWRAhyY2CPRyhH8rB1iZKiSMkoiIiKh6YuJEpMceZuRi36V4hEXG4s/byRCEx+0yGfC8qzUCvZzQp7UDbMyU0gZKREREVM0xcSLSM6lZ+TjwTzx2R8bi1M2HUKkFcZ1PAysEejqhr4cjHCyNJYySiIiIqGZh4kSkB9Jz8nHoSgLCIuJw/Hoi8lVPkiUPZ0sEeDqin6cj6tc1lTBKIiIiopqLiRNRDZWVV4DDVx8gLCIOh6MeIK9ALa5zczBHgKcjAjyd4GpTR8IoiYiIiPSD1olTdHQ07t69i6ysLNja2qJVq1ZQKjlOgqgy5eSrcOxaInZHxCL8ygNk56vEdY1t6yDA0wmBno5oZm8uYZRERERE+qdcidOdO3ewcuVKbN68Gffu3YMgPOkOpFAo0LlzZ7zxxhsYNGgQDAwMdB4sUW2UV6DG7zeSsDsiFgcvJyA9t0Bc52JtggBPJwR4OsLd0QIymUzCSImIiIj0V5kTp3feeQfff/89/P398cknn8DX1xdOTk4wMTFBcnIyLl26hBMnTmDu3LmYN28e1q9fj+eff74yYyfSWwUqNU7feoiwiDjs/yceqdn54jpHS2P083BEoJcTPOtbMlkiIiIiqgJlTpzq1KmDW7duoV69ekXW2dnZoUePHujRowdCQkKwf/9+xMTEMHEiKge1WsCZO8kIi4zFvovxeJiZJ66zMVP+O2bJEc81qAsDAyZLRERERFWpzIlTaGhomQ/au3dvrYIhqm0EQcC56BSERcZi78U4JKTliuvqmhqhj8fjZKldo3qQM1kiIiIikgyr6hFVMUEQcOl+GsIiYxEWGYf7KdniOnNjQ/Ru5YAALyd0aFIPRnKOFSQiIiKqDnT6qezKlSto3LixLg9JpBcEQcDV+DR8cSAK3b84isDlJ/Ht8Vu4n5KNOgo5Bng7Yc3otvh7th8WDfZC1+a2TJqIJLRixQq4urrC2NgY7dq1w5kzZ0rcNj8/H/Pnz0eTJk1gbGwMLy8v7N+/vwqjJSKiqqDTJ055eXm4e/euLg9JVKPdTMxAWEQcdkfG4saDDLHd2MgAPd3sEeDpiO5udjA2kksYJRE9bcuWLQgKCsKqVavQrl07LF26FP7+/oiKioKdnV2R7WfPno0ff/wRq1evhpubGw4cOICXX34Zp06dgo+PjwRnQERElaFciVNQUNAz1ycmJlYoGCJ9EP0wC7v/7YZ3JS5NbFfIDdC1hS0CvZzQ080OdZTsKUtUHS1ZsgQTJkzAuHHjAACrVq3Cnj17sG7dOgQHBxfZ/ocffsCsWbPQt29fAMBbb72FQ4cOYfHixfjxxx+rNHYiIqo85frktmzZMnh7e8PCwqLY9RkZGcW2E+m72JRs7ImMQ1hkLCLupYrthgYydGpmg0BPJ7zYyh4WxkYSRklEpcnLy8PZs2cxc+ZMsc3AwAB+fn44ffp0sfvk5ubC2NhYo83ExAQnT54s8XVyc3ORm/ukGExaWlqJ2xIRUfVQrsSpadOmmDZtGkaNGlXs+gsXLqBNmzY6CYyounuQnoO9kXEIi4zD33cfie0GMqB9k3oI9HSCfysH1K2jkDBKIiqPpKQkqFQq2Nvba7Tb29vj6tWrxe7j7++PJUuWoEuXLmjSpAnCw8Oxc+dOqFSqEl8nNDQU8+bN02nsRERUucqVOLVt2xZnz54tMXGSyWQQBEEngRFVR8mZedh3KQ5hEXH44/ZDFP7vLpMBz7taI9DTEb1bO8LWXCltoERUZZYtW4YJEybAzc0NMpkMTZo0wbhx47Bu3boS95k5c6ZG9/e0tDS4uLhURbhERKSlciVOixcv1uha8F9eXl5Qq9UVDoqoOknNzseBf+IRFhmH328kQaV+8uWATwMrBHg6oZ+HIxwsjZ9xFCKqCWxsbCCXy5GQkKDRnpCQAAcHh2L3sbW1xS+//IKcnBw8fPgQTk5OCA4OfmaVWaVSCaWSX7AQEdUk5ap37ODggIYNG+o0gPKUfAWApUuXokWLFjAxMYGLiwumTZuGnJwcncZElJFbgF/O38f47/9C208O4v3tkTh+LREqtYDWzhYI7uOGE+93x89vd8TrnRoxaSLSEwqFAm3atEF4eLjYplarER4ejvbt2z9zX2NjYzg7O6OgoAA7duzASy+9VNnhEhFRFZK0rFd5S75u2rQJwcHBWLduHTp06IBr165h7NixkMlkWLJkiQRnQPokO0+Fw1cfYHdELI5EPUBuwZOnpy3szRHg6YgALyc0sqkjYZREVNmCgoIwZswYtG3bFr6+vli6dCkyMzPFKnujR4+Gs7MzQkNDAQB//vkn7t+/D29vb9y/fx8fffQR1Go13n//fSlPg4iIdEzSxKm8JV9PnTqFjh07YsSIEQAAV1dXDB8+HH/++WeVxk36I7dAhWNRidgdGYfwKwnIynsymLuxTR0xWWpuby5hlERUlYYOHYrExETMnTsX8fHx8Pb2xv79+8WCEdHR0TAweNJhIycnB7Nnz8atW7dgZmaGvn374ocffoCVlZVEZ0BERJVBssRJm5KvHTp0wI8//ogzZ87A19cXt27dwt69e/Hqq6+W+Dos+Ur/la9S4+SNJOyOiMXBfxKQnlsgrqtf1wQBnk4I9HKEu6MFZDKZhJESkVQmT56MyZMnF7vu6NGjGstdu3bF5cuXqyAqIiKSkmSJkzYlX0eMGIGkpCR06tQJgiCgoKAAb775Jj788MMSX4clXwkAClRq/HErGWGRsdj/TzxSsvLFdQ4WxuKTJa/6lkyWiIiIiKgISbvqldfRo0fx6aef4ptvvkG7du1w48YNTJ06FR9//DHmzJlT7D4s+Vp7qdUC/rqTjLDIOOy7FIekjDxxnY2ZEv08HBDg5YQ2DerCwIDJEhERERGVTOvE6fjx4zA1NUXbtm3Ftr///htZWVno0qVLqftrU/J1zpw5ePXVVzF+/HgAgIeHBzIzM/HGG29g1qxZGn3OC7Hka+0iCALOx6QgLCIOey7GIiHtSTdNK1Mj9GntiEBPR7RrXA9yJktEREREVEZaJ07dunWDm5ubRr/uV199FdeuXXvmbOmFni75OmDAAABPSr6W1K88KyurSHIkl8sBgBPv1mKCIOCf2DTsjoxFWEQc7qdki+vMjQ3h38oBAZ6O6NjUBkbyclXgJyIiIiICUIHE6fbt2zAyMtJoCw8PR35+fgl7FFXekq+BgYFYsmQJfHx8xK56c+bMQWBgoJhAUe0RFZ+OsMhY7I6IxZ2HWWJ7HYUcfu72CPB0QpfmNlAa8v8NIiIiIqoYrROn4ibCdXJyKtcxylvydfbs2ZDJZJg9ezbu378PW1tbBAYGYsGCBdqeBtUwNxMzEBYRh7DIWFx/kCG2Kw0N0LOlHQI9ndDdzQ7GRkyWiIiIiEh3ZEIt6+OWlpYGS0tLpKamwsLCQupwqAxikrPEbniX456Uk1fIDdCluS0CvRzRs6U9zJQ1qtYJUa3Ea3DxKvK+ZOUVwH3uAQDA5fn+MFXwWkhEVFbluf6W+epat27dMpdpTk5OLuthiYoVl5qNPZFx2B0Zh4iYFLHd0ECGjk1tEOjlhBfd7WFpYlTyQYiIiIiIdKTMidPSpUsrMQwi4EF6DvZdjEdYZCz+uvNIbDeQAe2b1EOApxN6t3JA3ToKCaMkIiIiotqozInTmDFjKjMOqqWSM/Ow/9LjZOmPWw+hfqrjqK+rNQK8HNGntSNszVlSnoiIiIiko3VH6Js3b2L9+vW4efMmli1bBjs7O+zbtw8NGjRAq1atdBkj6ZnU7Hz89k88dkfG4fcbSVA9lS15u1ghwNMR/Twd4WhpImGURERERERPaJU4HTt2DH369EHHjh1x/PhxLFiwAHZ2doiIiMDatWuxfft2XcdJNVxGbgHCryRgd0Qsjl9LQp5KLa5r5WSBAE8nBHg6wsXaVMIoiYiIiIiKp1XiFBwcjE8++QRBQUEwNzcX23v06IHly5frLDiq2bLzVDgS9QC7I2Jx+OoD5BY8SZaa25uJyVJjWzMJoyQiIiIiKp1WidPFixexadOmIu12dnZISkqqcFBUc+UWqHAsKhFhkXE4dCUBWXkqcV0jmzoI9HREgJcTmtubP+MoRERERETVi1aJk5WVFeLi4tCoUSON9vPnz8PZ2VkngVHNka9S4+SNJIRFxOG3y/FIzykQ1zlbmSDQ6/GTpVZOFmUuaU9EVB65ubn4888/cffuXWRlZcHW1hY+Pj5F7lNERETa0ipxGjZsGD744ANs27YNMpkMarUav//+O6ZPn47Ro0frOkaqhlRqAX/ceoiwyFjsuxSPlKx8cZ2DhTH6eToiwNMR3i5WTJaIqNL8/vvvWLZsGXbv3o38/HxYWlrCxMQEycnJyM3NRePGjfHGG2/gzTff1OhaTkREVF5aJU6ffvopJk2aBBcXF6hUKri7u0OlUmHEiBGYPXu2rmOkakKtFvD33UcIi4zF3otxSMrIE9fZmCnQ18MRAZ5OaNuwLgwMmCwRUeXq378/zp07hxEjRuC3335D27ZtYWLypBrnrVu3cOLECfzvf//DkiVLsHHjRrz44osSRkxERDWZVomTQqHA6tWrMWfOHFy6dAkZGRnw8fFBs2bNdB0fSUwQBFyISUFYZBz2RMYhPi1HXGdlaoQ+rR0Q4OmEdo2sYSg3kDBSIqpt+vXrhx07dsDIyKjY9Y0bN0bjxo0xZswYXL58GXFxcVUcIRER6ROt53ECgAYNGsDFxQUA2B1LjwiCgH9i07A7MhZ7IuNw71G2uM5caYherRwQ6OWIjk1tYMRkiYgkMnHixDJv6+7uDnd390qMhoiI9J3WidPatWvx5Zdf4vr16wCAZs2a4d1338X48eN1FhxJY+z6v3DsWqK4bKqQw6+lPQK9nNCluQ2UhnIJoyMiIiIiqnpaJU5z587FkiVLMGXKFLRv3x4AcPr0aUybNg3R0dGYP3++ToOkqhOXmo1j1xIhkwG9Wzkg0MsJ3VvYwUTBZImIap6IiAg899xzUKlUpW9MRET0DFolTitXrsTq1asxfPhwsa1///7w9PTElClTmDjVYBeiUwAALR0ssHJUG2mDISLSAUEQpA6BiIj0gFaJU35+Ptq2bVukvU2bNigoKChmD6opzsekAAB8GlhJGgcRUVkMHDjwmetTU1M5BpeIiHRCq5H9r776KlauXFmk/bvvvsPIkSMrHBRJ53z0IwCAT4O6EkdCRFS63bt3IycnB5aWlsX+mJmZSR0iERHpiTI/cQoKChJ/l8lkWLNmDX777Te88MILAIA///wT0dHRnAC3BstXqRF5LxUAnzgRUc3QsmVLDBo0CK+//nqx6y9cuICwsLAqjoqIiPRRmROn8+fPayy3afN4/MvNmzcBADY2NrCxscE///yjw/CoKl2NS0dugRqWJkZoVK+O1OEQEZWqTZs2OHfuXImJk1KpRIMGDao4KiIi0kdlTpyOHDlSmXFQNXA+5nE3PW8XKxgYcEwAEVV/q1atembFvJYtW+L27dtVGBEREemrCk2AS/qlsKKet4uVpHEQEZWVUqmUOgQiIqoltE6c/v77b2zduhXR0dHIy8vTWLdz584KB0ZVjxX1iIiIiIiKp1VVvc2bN6NDhw64cuUKfv75Z+Tn5+Off/7B4cOHYWlpqesYqQo8yszD7aRMAHziRERERET0X1olTp9++im+/PJL7N69GwqFAsuWLcPVq1cxZMgQDsKtoS78+7SpsW0dWJkqpA2GiIiIiKia0SpxunnzJvr16wcAUCgUyMzMhEwmw7Rp0/Ddd9/pNECqGuL8TS6cv4mIiIiI6L+0Spzq1q2L9PR0AICzszMuXboEAEhJSUFWVpbuoqMqw/FNREREREQl0ypx6tKlCw4ePAgAGDx4MKZOnYoJEyZg+PDh6Nmzp04DpMqnVgtiRT0mTkRUU23cuBG//vqrRtuvv/6KjRs3ShQRERHpE62q6i1fvhw5OTkAgFmzZsHIyAinTp3CoEGDMHv2bJ0GSJXvVlIG0nMLYGIkRwt7c6nDISLSytixY+Hm5oaXXnpJbPvggw9w/fp1jB49WsLIiIhIH2iVOFlbW4u/GxgYIDg4WGcBUdU79+/TJo/6ljCUa/UQkohIcmq1ukjb1atXJYiEiIj0UZkTp7S0tDIf1MLCQqtgSBrn2U2PiIiIiOiZypw4WVlZQSaTPXMbQRAgk8mgUqkqHBhVHVbUI6KaiF/oERFRVSpz4nTkyJHKjIMkkpFbgGsJjysk8okTEdUk/EKPiIiqUpkTp65du1ZmHCSRyHspUAuAs5UJ7C2MpQ6HiKjM+IUeERFVJa2KQ5D+KBzf5M2nTURUw/ALPSIiqkosoVbLXSic+NbFStI4iIgq6sSJExg1ahQ6dOiA+/fvAwB++OEHnDx5UuLIiIhIHzBxqsUEQWBFPSLSCzt27IC/vz9MTExw7tw55ObmAgBSU1Px6aefShwdERHpAyZOtdi9R9lIysiFkVyGVk6WUodDRKS1Tz75BKtWrcLq1athZGQktnfs2BHnzp2TMDIiItIXWidOBQUFOHToEL799lukpz+uyhYbG4uMjAydBUeV6/y/3fTcHS1gbCSXNhgiogqIiopCly5dirRbWloiJSWl6gMiIiK9o1VxiLt376J3796Ijo5Gbm4uXnzxRZibm2PhwoXIzc3FqlWrdB0nVQJx/qYGnL+JiGo2BwcH3LhxA66urhrtJ0+eROPGjaUJioiI9IpWT5ymTp2Ktm3b4tGjRzAxMRHbX375ZYSHh+ssOKpcHN9ERPpiwoQJmDp1Kv7880/IZDLExsbip59+wvTp0/HWW29JHR4REekBrZ44nThxAqdOnYJCodBod3V1FSsZUfWWW6DC5dg0AICPC584EVHNFhwcDLVajZ49eyIrKwtdunSBUqnE9OnTMWXKFKnDIyIiPaBV4qRWq4udhf3evXswNzevcFBU+S7HpiFPpYZ1HQVcrE1K34GIqBqTyWSYNWsWZsyYgRs3biAjIwPu7u4wMzOTOjQiItITWnXV69WrF5YuXSouy2QyZGRkICQkBH379tVVbFSJxG56LlaQyWTSBkNEpCMKhQLm5uZwdHRk0kRERDqlVeK0ePFi/P7773B3d0dOTg5GjBghdtNbuHChrmOkSlBYUY/jm4hIHxQUFGDOnDmwtLSEq6srXF1dYWlpidmzZyM/P1/q8IiISA9o1VWvfv36iIiIwObNmxEZGYmMjAy8/vrrGDlypEaxCKq+WFGPiPTJlClTsHPnTnz++edo3749AOD06dP46KOP8PDhQ6xcuVLiCImIqKbTKnHKycmBsbExRo0apet4qAo8SM/BvUfZkMkAz/qc+JaIar5NmzZh8+bN6NOnj9jm6ekJFxcXDB8+vNyJ04oVK7Bo0SLEx8fDy8sLX3/9NXx9fUvcfunSpVi5ciWio6NhY2ODV155BaGhoTA2Ntb6nIiIqHrRqquenZ0dxowZg4MHD0KtVus6JqpkF/4d39TczhzmxkbSBkNEpANKpbLIHE4A0KhRoyIVYEuzZcsWBAUFISQkBOfOnYOXlxf8/f3x4MGDYrfftGkTgoODERISgitXrmDt2rXYsmULPvzwQ21OhYiIqimtEqfvv/8eWVlZeOmll+Ds7Ix3330Xf//9t65jo0rC8U1EpG8mT56Mjz/+GLm5uWJbbm4uFixYgMmTJ5frWEuWLMGECRMwbtw4uLu7Y9WqVTA1NcW6deuK3f7UqVPo2LGjON63V69eGD58OM6cOVOhcyIioupFq656L7/8Ml5++WWkp6dj+/bt+N///ocXXngBjRs3xqhRozB37lxdx0k6VPjEydvFStI4iIgqYuDAgRrLhw4dQv369eHl5QUAiIiIQF5eHnr27FnmY+bl5eHs2bOYOXOm2GZgYAA/Pz+cPn262H06dOiAH3/8EWfOnIGvry9u3bqFvXv34tVXXy3xdXJzczWSvLS0tDLHSERE0tAqcSpkbm6OcePGYdy4cbh8+TJGjhyJefPmMXGqxlRqARH3UgCwMAQR1WyWlppjNAcNGqSx7OLiUu5jJiUlQaVSwd7eXqPd3t4eV69eLXafESNGICkpCZ06dYIgCCgoKMCbb775zK56oaGhmDdvXrnjIyIi6VQoccrJycGuXbuwadMm7N+/H/b29pgxY4auYqNKcC0hHVl5KpgpDdHUjnOcEFHNtX79eqlDAAAcPXoUn376Kb755hu0a9cON27cwNSpU/Hxxx9jzpw5xe4zc+ZMBAUFictpaWlaJXpERFR1tEqcDhw4gE2bNuGXX36BoaEhXnnlFfz222/o0qWLruMjHSuc+NbLxRJyA058S0T0NBsbG8jlciQkJGi0JyQkwMHBodh95syZg1dffRXjx48HAHh4eCAzMxNvvPEGZs2aBQODosOJlUollEql7k+AiIgqjdZjnAICArBx40b07dsXRkaszFZTiPM3ubCbHhHpl+3bt2Pr1q2Ijo5GXl6exrpz586V6RgKhQJt2rRBeHg4BgwYAABQq9UIDw8vschEVlZWkeRILpcDAARBKOdZEBFRdaVVVb2EhARs3boVL730EpOmGoYV9YhIH3311VcYN24c7O3tcf78efj6+qJevXq4deuWxtxOZREUFITVq1fj+++/x5UrV/DWW28hMzMT48aNAwCMHj1ao3hEYGAgVq5cic2bN+P27ds4ePAg5syZg8DAQDGBIiKimq/MT5zS0tJgYWEB4PE3aM+qAFS4HVUvqdn5uPEgAwAr6hGRfvnmm2/w3XffYfjw4diwYQPef/99NG7cGHPnzkVycnK5jjV06FAkJiZi7ty5iI+Ph7e3tziOFwCio6M1njDNnj0bMpkMs2fPxv3792Fra4vAwEAsWLBAp+dIRETSkgll7Ecgl8sRFxcHOzs7GBgYQCYrOj5GEATIZDKoVCqdB6oraWlpsLS0RGpqaq1L8E5cT8Sra8+ggbUpjr/fXepwiKgWqqxrsKmpKa5cuYKGDRvCzs4OBw8ehJeXF65fv44XXngBDx8+1NlrVYaKvC9ZeQVwn3sAAHB5vj9MFRWq+0REVKuU5/pb5qvr4cOHYW1tDQA4cuRIxSIkSRQWhmA3PSLSNw4ODkhOTkbDhg3RoEED/PHHH/Dy8sLt27c5zoiIiHSizIlT165dxd8bNWoEFxeXIk+dBEFATEyM7qIjnXpSGMJK2kCIiHSsR48e2LVrF3x8fDBu3DhMmzYN27dvx99//11kolwiIiJtaPU8v1GjRmK3vaclJyejUaNG1bqrXm0lCMJThSFYUY+I9Mt3330HtVoNAJg0aRLq1auHU6dOoX///pg4caLE0RERkT7Qqqpe4Vim/8rIyICxsXG5jrVixQq4urrC2NgY7dq1w5kzZ565fUpKCiZNmgRHR0colUo0b94ce/fuLddr1kZ3HmYhJSsfCkMDtHSsXWO7iEj/GRgYwNDwyXeBw4YNw1dffYUpU6ZAoVBIGBkREemLcj1xKpzlXCaTYc6cOTA1NRXXqVQq/Pnnn/D29i7z8bZs2YKgoCCsWrUK7dq1w9KlS+Hv74+oqKgiT7MAIC8vDy+++CLs7Oywfft2ODs74+7du7CysirPadRKhd30PJwtoTDUKl8mIqpWIiMjy7ytp6dnJUZCRES1QbkSp/PnzwN4/MTp4sWLGt/iKRQKeHl5Yfr06WU+3pIlSzBhwgRxboxVq1Zhz549WLduHYKDg4tsv27dOiQnJ+PUqVPi/FGurq7lOYVaSywMwfFNRKQnvL29IZPJSi3+UN2rvRIRUc1QrsSpsJreuHHjsGzZsgqVks3Ly8PZs2c1JhE0MDCAn58fTp8+Xew+u3btQvv27TFp0iT8+uuvsLW1xYgRI/DBBx+UOMlgbm4ucnNzxeVnzT+lzy78O77JmxX1iEhP3L59W+oQiIioFtGqOMT69esr/MJJSUlQqVTihIKF7O3tcfXq1WL3uXXrFg4fPoyRI0di7969uHHjBt5++23k5+cjJCSk2H1CQ0Mxb968Csdbk2XnqXAl7nHCyMIQRKQvGjZsKHUIRERUi5Q5cRo4cCA2bNgACwuLUku77ty5s8KBFUetVsPOzg7fffcd5HI52rRpg/v372PRokUlJk4zZ84Ux2YBj584ubi4VEp81dWl2FQUqAXYmSvhZFm+4h1ERERERFSOxMnS0lKspGdpaVnhF7axsYFcLkdCQoJGe0JCAhwcHIrdx9HREUZGRhrd8lq2bIn4+Hjk5eUVWzlJqVRCqVRWON6aTJy/qYFVsdUQiYiIiIjo2cqcOD3dPU8XXfUUCgXatGmD8PBwDBgwAMDjJ0rh4eGYPHlysft07NgRmzZtglqthoHB48pw165dg6OjI8vNPoNYGILd9IiI9FpWHotgENUkJkZyfqldg2g1xik7OxuCIIjlyO/evYuff/4Z7u7u6NWrV5mPExQUhDFjxqBt27bw9fXF0qVLkZmZKVbZGz16NJydnREaGgoAeOutt7B8+XJMnToVU6ZMwfXr1/Hpp5/inXfe0eY0ag1W1CMiqh3afnJI6hCIqBzaNqyLbW+2Z/JUQ2iVOL300ksYOHAg3nzzTaSkpMDX1xcKhQJJSUlYsmQJ3nrrrTIdZ+jQoUhMTMTcuXMRHx8Pb29v7N+/XywYER0dLT5ZAgAXFxccOHAA06ZNg6enJ5ydnTF16lR88MEH2pxGrRCXmo34tBzIDWTwqF/xLpZERNVVSkoKtm/fjps3b2LGjBmwtrbGuXPnYG9vD2dnZ6nDqzQmRnK0bVgXf999JHUoRFROf999hOx8FUwVWn0kpyqm1b/SuXPn8OWXXwIAtm/fDgcHB5w/fx47duzA3Llzy5w4AcDkyZNL7Jp39OjRIm3t27fHH3/8oU3YtdKFf582tbA35x8lEemtyMhI+Pn5wdLSEnfu3MGECRNgbW2NnTt3Ijo6Ghs3bpQ6xEojk8mw7c32yM5nNz2imiIrT8UnxDWQVp+ks7KyYG5uDgD47bffMHDgQBgYGOCFF17A3bt3dRogVcz5f+dv8uH8TUSkx4KCgjB27Fh8/vnn4v0JAPr27YsRI0ZIGFnVkMlk/HKMiKiSGZS+SVFNmzbFL7/8gpiYGBw4cEAc1/TgwYMKTYpLuvekoh4LQxCR/vrrr78wceLEIu3Ozs6Ij4+XICIiItI3WiVOc+fOxfTp0+Hq6gpfX1+0b98ewOOnTz4+PjoNkLSXr1Ij8l4qAD5xIiL9plQqkZaWVqT92rVrsLW1lSAiIiLSN1olTq+88gqio6Px999/48CBA2J7z549xbFPJL2rcenILVDD0sQIjerVkTocIqJK079/f8yfPx/5+fkAHnddi46OxgcffIBBgwZJHB0REekDrRInAHBwcICPjw9iY2Nx7949AICvry/c3Nx0FhxVzPmYx930vF2sYGDAMpdEpL8WL16MjIwM2NnZITs7G127dkXTpk1hbm6OBQsWSB0eERHpAa1GkqrVanzyySfijQoAzM3N8d5772HWrFkaJcRJOk8mvrWSNA4iospmaWmJgwcP4uTJk4iMjERGRgaee+45+Pn5SR0aERHpCa0Sp1mzZmHt2rX47LPP0LFjRwDAyZMn8dFHHyEnJ4ff7lUThYUhvDnxLRHpuZiYGLi4uKBTp07o1KmT1OEQEZEe0ipx+v7777FmzRr0799fbCuckPbtt99m4lQNPMrMw52HWQCYOBGR/nN1dUWnTp0watQovPLKK6hbl5VEiYhIt7TqU5ecnFzsWCY3NzckJydXOCiquAv/zt/U2LYOrEwV0gZDRFTJ/v77b/j6+mL+/PlwdHTEgAEDsH37duTm5kodGhER6QmtEicvLy8sX768SPvy5cvh5eVV4aCo4sT5m1z4rSsR6T8fHx8sWrQI0dHR2LdvH2xtbfHGG2/A3t4er732mtThERGRHtCqq97nn3+Ofv364dChQ+IcTqdPn0ZMTAz27t2r0wBJO+f/feLEwhBEVJvIZDJ0794d3bt3x1tvvYXXX38d33//PdatWyd1aEREVMNp9cSpa9euuHbtGgYOHIiUlBSkpKRg4MCBiIqKQufOnXUdI5WTWi3gAivqEVEtdO/ePXz++efw9vaGr68vzMzMsGLFCqnDIiIiPVDuJ0537tzBwYMHkZeXh2HDhqF169aVERdVwM3EDKTnFsDESI4W9uZSh0NEVOm+/fZbbNq0Cb///jvc3NwwcuRI/Prrr2jYsKHUoRERkZ4oV+J05MgRBAQEIDs7+/HOhoZYt24dRo0aVSnBkXYK52/yrG8JQznn1CIi/ffJJ59g+PDh+OqrrzjWloiIKkW5PlXPmTMHL774Iu7fv4+HDx9iwoQJeP/99ysrNtJS4fgmb3bTI6JaIjo6Gp9//jmTJiIiqjTleuJ06dIlnDp1Co6OjgCARYsW4dtvv8XDhw9Rr169SgmQyo8V9YioNoiMjETr1q1hYGCAixcvPnNbT0/PKoqKiIj0VbkSp7S0NNjY2IjLpqamMDExQWpqKhOnaiIjtwDXEtIBsDAEEek3b29vxMfHw87ODt7e3pDJZBAEQVxfuCyTyaBSqSSMlIiI9EG5i0McOHAAlpaW4rJarUZ4eDguXboktvXv31830VG5Rd5LgVoAnK1MYG9hLHU4RESV5vbt27C1tRV/JyIiqkzlTpzGjBlTpG3ixIni7/xmT1qFhSE4vomI9N3TFfPu3r2LDh06wNBQ87ZWUFCAU6dOsboeERFVWLmKQ6jV6lJ/mDRJqzBx8nGxkjQOIqKq1L17dyQnJxdpT01NRffu3SWIiIiI9A1rVesRQRBwIebfwhANWBiCiGqPwrFM//Xw4UPUqVNHgoiIiEjflLmr3h9//IEXXnihTNtmZWXh9u3baNWqldaBUfnde5SNpIw8GMllaOVkIXU4RESVbuDAgQAedxMfO3YslEqluE6lUiEyMhIdOnSQKjwiItIjZX7i9Oqrr8Lf3x/btm1DZmZmsdtcvnwZH374IZo0aYKzZ8/qLEgqm8L5m9wdLWBsJJc2GCKiKmBpaQlLS0sIggBzc3Nx2dLSEg4ODnjjjTfw448/Sh0mERHpgTI/cbp8+TJWrlyJ2bNnY8SIEWjevDmcnJxgbGyMR48e4erVq8jIyMDLL7+M3377DR4eHpUZNxVDnL+J3fSIqJZYv349AMDV1RXTp09ntzwiIqo0ZU6cjIyM8M477+Cdd97B33//jZMnT+Lu3bvIzs6Gl5cXpk2bhu7du8Pa2roy46VnEAtDsKIeEdUyISEhUodARER6rtzlyAGgbdu2aNu2ra5joQrILVDhcmwaAMDHhU+ciEj/PffccwgPD0fdunXh4+NTbHGIQufOnavCyIiISB9plThR9fNPbBryVGrUq6OAi7WJ1OEQEVW6l156SSwGMWDAAGmDISIivcfESU883U3vWd+6EhHpi6e757GrHhERVTbO46QnLvxbUc+bE98SUS0UExODe/fuictnzpzBu+++i++++07CqIiISJ8wcdITrKhHRLXZiBEjcOTIEQBAfHw8/Pz8cObMGcyaNQvz58+XODoiItIHFU6ccnJydBEHVcCD9Bzce5QNmQzwrG8pdThERFXu0qVL8PX1BQBs3boVHh4eOHXqFH766Sds2LBB2uCIiEgvaJU4qdVqfPzxx3B2doaZmRlu3boFAJgzZw7Wrl2r0wCpdBf+Hd/U3M4c5sZG0gZDRCSB/Px8sVDEoUOH0L9/fwCAm5sb4uLipAyNiIj0hFaJ0yeffIINGzbg888/h0KhENtbt26NNWvW6Cw4Kpvz/45v4vxNRFRbtWrVCqtWrcKJEydw8OBB9O7dGwAQGxuLevXqSRwdERHpA60Sp40bN+K7777DyJEjIZfLxXYvLy9cvXpVZ8FR2TwZ32QlbSBERBJZuHAhvv32W3Tr1g3Dhw+Hl5cXAGDXrl1iFz4iIqKK0Koc+f3799G0adMi7Wq1Gvn5+RUOispOpRYQeS8VAAtDEFHt1a1bNyQlJSEtLQ116z65Fr7xxhswNTWVMDIiItIXWiVO7u7uOHHiBBo2bKjRvn37dvj4+OgkMCqbawnpyMpTwUxpiCa2ZlKHQ0QkGblcjoKCApw8eRIA0KJFC7i6ukobFBER6Q2tEqe5c+dizJgxuH//PtRqNXbu3ImoqChs3LgRYWFhuo6RnqFw4lsvF0vIDTjxLRHVTpmZmZgyZQo2btwItVoN4HEiNXr0aHz99dd86kRERBWm1Rinl156Cbt378ahQ4dQp04dzJ07F1euXMHu3bvx4osv6jpGegZxfJMLu+kRUe0VFBSEY8eOYffu3UhJSUFKSgp+/fVXHDt2DO+99165j7dixQq4urrC2NgY7dq1w5kzZ0rctlu3bpDJZEV++vXrV5FTIiKiakarJ04A0LlzZxw8eFCXsZAWWFGPiAjYsWMHtm/fjm7duoltffv2hYmJCYYMGYKVK1eW+VhbtmxBUFAQVq1ahXbt2mHp0qXw9/dHVFQU7Ozsimy/c+dO5OXlicsPHz6El5cXBg8eXKFzIiKi6kWrJ06NGzfGw4cPi7SnpKSgcePGFQ6KyiY1Ox83HmQAALxdrKQNhohIQllZWbC3ty/Sbmdnh6ysrHIda8mSJZgwYQLGjRsHd3d3rFq1Cqampli3bl2x21tbW8PBwUH8OXjwIExNTZk4ERHpGa0Spzt37kClUhVpz83Nxf379yscFJVNxL9PmxrWM0U9M6W0wRARSah9+/YICQlBTk6O2JadnY158+ahffv2ZT5OXl4ezp49Cz8/P7HNwMAAfn5+OH36dJmOsXbtWgwbNgx16tQpcZvc3FykpaVp/BARUfVWrq56u3btEn8/cOAALC0txWWVSoXw8HBWMKpChYUhfPi0iYhqucLudPXr1xfncIqIiICxsTEOHDhQ5uMkJSVBpVIVeXplb29fpnkKz5w5g0uXLmHt2rXP3C40NBTz5s0rc1xERCS9ciVOAwYMAADIZDKMGTNGY52RkRFcXV2xePFinQVHz3Yh5nFhCHbTI6LazsPDAzdu3MCmTZtw5coVAMDw4cMxcuRImJiYVFkca9euhYeHR6mT7s6cORNBQUHiclpaGlxcXCo7PCIiqoByJU6FJV4bNWqEv/76CzY2NpUSFJVOEISnCkOwoh4R1V5//PEHdu/ejby8PPTo0QPjx4/X+lg2NjaQy+VISEjQaE9ISICDg8Mz983MzMTmzZsxf/78Ul9HqVRCqWQXayKimkSrMU63b99m0iSxOw+zkJKVD4WhAVo6WkgdDhGRJLZv346OHTti2bJlWLNmDQICAvDFF19ofTyFQoE2bdogPDxcbFOr1QgPDy91rNS2bduQm5uLUaNGaf36RERUfWldjjwzMxPHjh1DdHS0RhlWAHjnnXcqHBg9W+H8TR7OllAYapX/EhHVeKGhoZgwYQJWrFgBuVyO0NBQfPrpp5g+fbrWxwwKCsKYMWPQtm1b+Pr6YunSpcjMzMS4ceMAAKNHj4azszNCQ0M19lu7di0GDBiAevXqVeiciIioetIqcTp//jz69u2LrKwsZGZmwtraGklJSTA1NYWdnR0TpyrAwhBEREBUVBS2bNkCuVwOAHjvvfcwd+5cPHjwoNg5l8pi6NChSExMxNy5cxEfHw9vb2/s379fLBgRHR0NAwPNL6yioqJw8uRJ/PbbbxU7ISIiqra0SpymTZuGwMBArFq1CpaWlvjjjz9gZGSEUaNGYerUqbqOkYpx/t/CEBzfRES1WVZWFiwsnnRXVigUMDY2RkZGhtaJEwBMnjwZkydPLnbd0aNHi7S1aNECgiBo/XpERFT9aZU4XbhwAd9++y0MDAwgl8uRm5uLxo0b4/PPP8eYMWMwcOBAXcdJT8nOU+FKXDoAwKeBlbTBEBFJbM2aNTAzMxOXCwoKsGHDBo2xuOwJQUREFaVV4mRkZCR2U7Czs0N0dDRatmwJS0tLxMTE6DRAKupSbCpUagF25ko4WhpLHQ4RkWQaNGiA1atXa7Q5ODjghx9+EJdlMhkTJyIiqjCtEicfHx/89ddfaNasGbp27Yq5c+ciKSkJP/zwA1q3bq3rGOk/CgtD+DSwgkwmkzgaIiLp3LlzR+oQiIioltCqHNunn34KR0dHAMCCBQtQt25dvPXWW0hMTMS3336r0wCpKLEwBMc3ERERERFVCa2eOLVt21b83c7ODvv379dZQFQ6VtQjIgI2b96MYcOGlWnbmJgYREdHo2PHjpUcFRER6SudTgB07tw5BAQE6PKQ9B9xqdmIT8uB3EAGj/qWUodDRCSZlStXomXLlvj8889x5cqVIutTU1Oxd+9ejBgxAs899xwePnwoQZRERKQvyp04HThwANOnT8eHH36IW7duAQCuXr2KAQMG4Pnnn4dardZ5kPRE4dMmNwdzmCq0nr+YiKjGO3bsGBYuXIiDBw+idevWsLCwQLNmzeDh4YH69eujXr16eO2119CgQQNcunQJ/fv3lzpkIiKqwcr1yXvt2rWYMGECrK2t8ejRI6xZswZLlizBlClTMHToUFy6dAktW7asrFgJmoUhiIhqu/79+6N///5ISkrCyZMncffuXWRnZ8PGxgY+Pj7w8fEpMlktERGRNsqVOC1btgwLFy7EjBkzsGPHDgwePBjffPMNLl68iPr161dWjPSUCzEpAABvFxaGICIqZGNjgwEDBkgdBhER6bFyfQ138+ZNDB48GAAwcOBAGBoaYtGiRUyaqki+So3Ie6kA+MSJiIiIiKgqlStxys7OhqmpKYDHEwoqlUqxLDlVvqtx6cgtUMPSxAiN6tWROhwiIiIiolqj3NUF1qxZAzMzMwBAQUEBNmzYABsbG41tyjtD+4oVK7Bo0SLEx8fDy8sLX3/9NXx9fUvdb/PmzRg+fDheeukl/PLLL+V6zZrofMzj8U3eLlYwMODEt0REREREVaVciVODBg2wevVqcdnBwQE//PCDxjYymaxcidOWLVsQFBSEVatWoV27dli6dCn8/f0RFRUFOzu7Eve7c+cOpk+fjs6dO5fnFGq0JxPfWkkaBxERERFRbVOuxOnOnTs6D2DJkiWYMGECxo0bBwBYtWoV9uzZg3Xr1iE4OLjYfVQqFUaOHIl58+bhxIkTSElJ0Xlc1dGTinosDEFEREREVJUknQgoLy8PZ8+excyZM8U2AwMD+Pn54fTp0yXuN3/+fNjZ2eH111/HiRMnnvkaubm5yM3NFZfT0tIqHrgEkjPzcOdhFgDAu76VtMEQEVUzKpUKGzZsQHh4OB48eFBkTsHDhw9LFBkREekLSROnpKQkqFQq2Nvba7Tb29vj6tWrxe5z8uRJrF27FhcuXCjTa4SGhmLevHkVDVVyEf+WIW9sWweWpkbSBkNEVM1MnToVGzZsQL9+/dC6dWvIZBwHSkREuiVp4lRe6enpePXVV7F69eoiBSlKMnPmTAQFBYnLaWlpcHFxqawQK43YTY/zNxERFbF582Zs3boVffv2lToUIiLSU5ImTjY2NpDL5UhISNBoT0hIgIODQ5Htb968iTt37iAwMFBsK+yOYWhoiKioKDRp0kRjH6VSCaVSWQnRV63z/z5xYmEIIqKiFAoFmjZtKnUYRESkx8o1j5OuKRQKtGnTBuHh4WKbWq1GeHg42rdvX2R7Nzc3XLx4ERcuXBB/+vfvj+7du+PChQs18klSWajVAi6woh4RUYnee+89LFu2DIIgSB0KERHpKa2fON28eRPr16/HzZs3sWzZMtjZ2WHfvn1o0KABWrVqVebjBAUFYcyYMWjbti18fX2xdOlSZGZmilX2Ro8eDWdnZ4SGhsLY2BitW7fW2N/KygoAirTrk5uJGUjPLYCJkRwt7M2lDoeIqNo5efIkjhw5gn379qFVq1YwMtIcC7pz506JIiMiIn2hVeJ07Ngx9OnTBx07dsTx48exYMEC2NnZISIiAmvXrsX27dvLfKyhQ4ciMTERc+fORXx8PLy9vbF//36xYER0dDQMDCR9MCa5wvmbPOtbwlBeu98LIqLiWFlZ4eWXX5Y6DCIi0mNaJU7BwcH45JNPEBQUBHPzJ09AevTogeXLl5f7eJMnT8bkyZOLXXf06NFn7rthw4Zyv15Ncz6G8zcRET3L+vXrpQ6BiIj0nFaJ08WLF7Fp06Yi7XZ2dkhKSqpwUKSp8ImTt4uVpHEQEVV3iYmJiIqKAgC0aNECtra2EkdERET6Qqt+X1ZWVoiLiyvSfv78eTg7O1c4KHoiI7cA1xLSAbAwBBFRSTIzM/Haa6/B0dERXbp0QZcuXeDk5ITXX38dWVlZUodHRER6QKvEadiwYfjggw8QHx8PmUwGtVqN33//HdOnT8fo0aN1HWOtFnkvBWoBcLYygb2FsdThEBFVS0FBQTh27Bh2796NlJQUpKSk4Ndff8WxY8fw3nvvSR0eERHpAa266n366aeYNGkSXFxcoFKp4O7uDpVKhREjRmD27Nm6jrFWE7vp8WkTEVGJduzYge3bt6Nbt25iW9++fWFiYoIhQ4Zg5cqV0gVHRER6QavESaFQYPXq1ZgzZw4uXbqEjIwM+Pj4oFmzZrqOr9YrTJx8OL6JiKhEWVlZYjXWp9nZ2bGrHhER6YRWidPJkyfRqVMnNGjQAA0aNNB1TPQvQRBwgRX1iIhK1b59e4SEhGDjxo0wNn7crTk7Oxvz5s0rdkJ1IiKi8tIqcerRowecnZ0xfPhwjBo1Cu7u7rqOiwDce5SNpIw8GMllaOVkIXU4RETV1rJly+Dv74/69evDy8sLABAREQFjY2McOHBA4uiIiEgfaFUcIjY2Fu+99x6OHTuG1q1bw9vbG4sWLcK9e/d0HV+tdj4mBQDg7mgBYyO5tMEQEVVjrVu3xvXr1xEaGgpvb294e3vjs88+w/Xr19GqVSupwyMiIj2g1RMnGxsbcdLa27dvY9OmTfj+++8xc+ZMdOnSBYcPH9Z1nLXS+Wh20yMiKitTU1NMmDBB6jCIiEhPaZU4Pa1Ro0YIDg6Gl5cX5syZg2PHjukiLsJThSFYUY+IqIhdu3ahT58+MDIywq5du565bf/+/asoKiIi0lcVSpx+//13/PTTT9i+fTtycnLw0ksvITQ0VFex1Wq5BSpcjk0DAPi48IkTEdF/DRgwAPHx8bCzs8OAAQNK3E4mk0GlUlVdYEREpJe0SpxmzpyJzZs3IzY2Fi+++CKWLVuGl156CaamprqOr9b6JzYNeSo16tVRwMXaROpwiIiqHbVaXezvRERElUGrxOn48eOYMWMGhgwZAhsbG13HRNDspieTyaQNhoioBkpJSYGVlZXUYRARkZ7Qqqre77//jrfffptJUyViYQgiorJbuHAhtmzZIi4PHjwY1tbWcHZ2RkREhISRERGRvijzEycOwq1aF/4tRe7jYiVpHERENcGqVavw008/AQAOHjyIQ4cOYf/+/di6dStmzJiB3377TeIIiYiopitz4sRBuFXnQXoO7j3KhkwGeNS3lDocIqJqLz4+Hi4uLgCAsLAwDBkyBL169YKrqyvatWsncXRERKQPytxVT61Ww87OTvy9pB8mTRV34d/xTc3tzGFubCRtMERENUDdunURExMDANi/fz/8/PwAAIIg8L5EREQ6odUYp40bNyI3N7dIe15eHjZu3FjhoGq784Xd9Dh/ExFRmQwcOBAjRozAiy++iIcPH6JPnz4AgPPnz6Np06YSR0dERPpAq8Rp3LhxSE1NLdKenp6OcePGVTio2u5JYQgraQMhIqohvvzyS0yePBnu7u44ePAgzMzMAABxcXF4++23JY6OiIj0gVblyAVBKLZE9r1792BpyTE5FVGgUiPy3uOklBX1iIjKxsjICNOnTy/SPm3aNAmiISIifVSuxMnHxwcymQwymQw9e/aEoeGT3VUqFW7fvo3evXvrPMja5FpCBrLyVDBXGqKprZnU4RARVVus9kpERFWpXIlTYTW9CxcuwN/fX+wKAQAKhQKurq4YNGiQTgOsbQrLkHu5WMHAgBPfEhGVhNVeiYioKpUrcQoJCQEAuLq6YujQoTA2Nq6UoGqzwvFN3py/iYjomdRqdbG/ExERVQatxjiNGTNG13HQv1hRj4iIiIio+ilzVT1ra2skJSUBeDxfhrW1dYk/pJ3U7HzceJABgE+ciIjK45133sFXX31VpH358uV49913qz4gIiLS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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(10, 5))\n", + "\n", + "roc_display = RocCurveDisplay.from_predictions(y_test, y_pred_valid,ax=ax1)\n", + "pr_display = PrecisionRecallDisplay.from_predictions(y_test, y_pred_valid,ax=ax2)\n", + "roc_display.ax_.set_title(\"ROC curve\")\n", + "pr_display.ax_.set_title(\"Precision-Recall curve\")\n", + "\n", + "plt.show()\n", + "plt.close()" + ] + }, + { + "cell_type": "markdown", + "id": "9ccc48fc", + "metadata": {}, + "source": [ + "Upon evaluating the model, it becomes evident that there is a pronounced overfitting issue to the training set, particularly in the initial epochs. This can be attributed to the constraint posed by the limited size of the training data. Given the challenges associated with small datasets, a pragmatic strategy is to leverage transfer learning. In my approach, I aim to enhance performance by transferring embeddings generated through training on a larger dataset." + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "id": "26b86223", + "metadata": {}, + "outputs": [], + "source": [ + "#Resets all state generated by Keras.\n", + "tf.keras.backend.clear_session()\n", + "del model_lstm\n", + "del history_lstm" + ] + }, + { + "cell_type": "markdown", + "id": "d3262278", + "metadata": {}, + "source": [ + "## Building an LSTM-CNN Model with GloVe Embedding Transfer for Training" + ] + }, + { + "cell_type": "markdown", + "id": "b2b52ed4", + "metadata": {}, + "source": [ + "Using the 200 dimension Twitter version of [GloVe](https://nlp.stanford.edu/projects/glove/) from Stanford." + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "id": "4ef29131", + "metadata": {}, + "outputs": [], + "source": [ + "#!wget https://nlp.stanford.edu/data/glove.twitter.27B.zip" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "id": "ddea95e1", + "metadata": {}, + "outputs": [], + "source": [ + "#!unzip -q glove.twitter.27B.zip" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "id": "18c00e84", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Found 1193514 word vectors.\n" + ] + } + ], + "source": [ + "GLOVE_EMBEDDINGS = {}\n", + "\n", + "# Reading the file and filling GLOVE_EMBEDDINGS with its contents\n", + "with open(\"glove.twitter.27B.200d.txt\") as f:\n", + " for line in f:\n", + " values = line.split()\n", + " word = values[0]\n", + " coefs = np.asarray(values[1:], dtype='float32')\n", + " GLOVE_EMBEDDINGS[word] = coefs\n", + "print(\"Found %s word vectors.\" % len(GLOVE_EMBEDDINGS))" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "id": "863c3f6d", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Vector representation of word sadface looks like this:\n", + "\n", + "[ 0.13942 0.14942 -0.083049 -0.22694 -0.17719 0.068621\n", + " 0.32751 0.29046 -0.98112 -0.055128 -0.32885 -0.028781\n", + " 0.13015 -0.62901 -0.26694 -0.49831 -0.028981 0.53447\n", + " -0.74758 0.46059 0.20023 -0.52688 0.88961 0.20244\n", + " -0.3154 0.76178 -0.097853 0.051232 0.31198 0.28984\n", + " -0.33384 0.79756 0.020365 -0.48581 0.22673 0.08533\n", + " 0.5413 0.032684 0.34624 -0.0050298 0.69359 0.79652\n", + " 0.36373 -0.026102 -0.25161 0.94031 0.35078 -0.27898\n", + " -0.016592 0.4419 0.33657 0.22511 -0.14285 -0.12429\n", + " 0.32822 0.23203 0.22721 0.40608 -0.088886 0.10732\n", + " 0.024414 -0.47135 0.35159 -0.20438 -0.59589 -0.17563\n", + " -0.01621 0.0184 -0.0043566 -0.14127 0.52329 -0.30056\n", + " 0.17157 -0.069917 0.21397 0.04184 -0.33831 -0.40201\n", + " -0.098991 0.69844 -0.061859 -0.21282 0.2322 0.077196\n", + " -0.17289 -0.014947 0.096056 -0.69473 0.31956 -0.45509\n", + " -0.58895 0.052222 0.18515 0.14753 0.045721 -0.42149\n", + " -0.57802 0.40912 0.28521 0.46732 0.34731 -0.073241\n", + " 0.038684 -0.070477 0.054686 0.44633 0.2204 0.59934\n", + " 0.1342 0.27905 -0.62409 -0.74412 -0.56667 -0.06538\n", + " 0.46708 0.5299 0.1005 -0.23566 -0.21163 0.26048\n", + " -0.74041 -0.11932 -0.12042 0.44228 -0.34071 0.34884\n", + " 0.092858 -0.33513 -0.098712 -0.33994 1.0503 0.29984\n", + " -0.069351 0.88771 -0.27936 0.097822 0.37606 0.20166\n", + " 0.62857 -0.27713 0.79396 0.42104 0.20219 -0.18803\n", + " -0.73107 -0.17481 0.0070513 0.39578 -0.52476 0.1787\n", + " 0.33756 0.89093 -0.78324 0.61638 0.18954 -0.13046\n", + " 0.14505 0.37945 0.61627 0.038235 0.45715 -0.50827\n", + " -0.010749 0.026013 0.39216 0.23946 0.41601 0.71101\n", + " -0.31183 -0.30714 -0.23103 0.35787 0.044602 0.098503\n", + " -0.26996 -0.48911 -0.45045 -0.55196 -0.16775 0.23343\n", + " -0.036873 -0.40255 0.45207 0.15214 0.036716 0.20395\n", + " 0.48302 -0.36976 0.08964 -0.11753 -0.52348 -0.085144\n", + " -0.2261 -0.68734 0.33536 0.041088 0.019113 0.59425\n", + " -0.16172 0.71857 ]\n" + ] + } + ], + "source": [ + "test_word = 'sadface'\n", + "\n", + "test_vector = GLOVE_EMBEDDINGS[test_word]\n", + "\n", + "print(f\"Vector representation of word {test_word} looks like this:\\n\\n{test_vector}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "id": "900dbdd6", + "metadata": {}, + "outputs": [], + "source": [ + "EMBEDDING_DIM = 200\n", + "# Initializing an empty numpy array with the appropriate size\n", + "EMBEDDINGS_MATRIX = np.zeros((vocab_size+1, EMBEDDING_DIM))\n", + "\n", + "# Iterating all of the words in the vocabulary and if the vector representation for \n", + "# the word exists within GloVe's representations, saving it in the EMBEDDINGS_MATRIX array\n", + "for word, i in word_index.items():\n", + " embedding_vector = GLOVE_EMBEDDINGS.get(word)\n", + " if embedding_vector is not None:\n", + " EMBEDDINGS_MATRIX[i] = embedding_vector" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "id": "fe84753d", + "metadata": {}, + "outputs": [], + "source": [ + "embedding_layer = tf.keras.layers.Embedding(\n", + " vocab_size+1,\n", + " EMBEDDING_DIM,\n", + " input_length=max_length, \n", + " weights=[EMBEDDINGS_MATRIX], \n", + " trainable=False\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "c129a5d7", + "metadata": {}, + "source": [ + "### Tunning learning rate" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "id": "1d71edc7", + "metadata": {}, + "outputs": [], + "source": [ + "lr_schedule = tf.keras.callbacks.LearningRateScheduler(\n", + " lambda epoch: 1e-6 * 10**(epoch / 20))" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "id": "61692a0b", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Model: \"sequential\"\n", + "_________________________________________________________________\n", + " Layer (type) Output Shape Param # \n", + "=================================================================\n", + " embedding (Embedding) (None, 32, 200) 2436000 \n", + " \n", + " spatial_dropout1d (Spatial (None, 32, 200) 0 \n", + " Dropout1D) \n", + " \n", + " bidirectional (Bidirection (None, 32, 400) 641600 \n", + " al) \n", + " \n", + " dropout (Dropout) (None, 32, 400) 0 \n", + " \n", + " bidirectional_1 (Bidirecti (None, 32, 200) 400800 \n", + " onal) \n", + " \n", + " dropout_1 (Dropout) (None, 32, 200) 0 \n", + " \n", + " conv1d (Conv1D) (None, 28, 200) 200200 \n", + " \n", + " global_max_pooling1d (Glob (None, 200) 0 \n", + " alMaxPooling1D) \n", + " \n", + " dropout_2 (Dropout) (None, 200) 0 \n", + " \n", + " dense (Dense) (None, 100) 20100 \n", + " \n", + " dropout_3 (Dropout) (None, 100) 0 \n", + " \n", + " dense_1 (Dense) (None, 50) 5050 \n", + " \n", + " dropout_4 (Dropout) (None, 50) 0 \n", + " \n", + " dense_2 (Dense) (None, 1) 51 \n", + " \n", + "=================================================================\n", + "Total params: 3703801 (14.13 MB)\n", + "Trainable params: 1267801 (4.84 MB)\n", + "Non-trainable params: 2436000 (9.29 MB)\n", + "_________________________________________________________________\n" + ] + } + ], + "source": [ + "# Model Definition with LSTM\n", + "model_lstm = tf.keras.Sequential([\n", + " embedding_layer,\n", + " tf.keras.layers.SpatialDropout1D(0.2),\n", + " tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(200,dropout=0.50,\n", + " kernel_initializer = 'orthogonal',\n", + " return_sequences=True)),\n", + " tf.keras.layers.Dropout(0.20),\n", + " tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(100, dropout=0.50,\n", + " kernel_initializer = 'orthogonal',\n", + " return_sequences=True)),\n", + " tf.keras.layers.Dropout(0.20),\n", + " tf.keras.layers.Conv1D(200, 5, activation=activation),\n", + " tf.keras.layers.GlobalMaxPool1D(),\n", + " tf.keras.layers.Dropout(0.20),\n", + " tf.keras.layers.Dense(100, kernel_initializer = 'he_normal',\n", + " kernel_regularizer = regularizers.l2(1e-5), \n", + " activation=activation),\n", + " tf.keras.layers.Dropout(0.20),\n", + " tf.keras.layers.Dense(50, kernel_initializer = 'he_normal',\n", + " kernel_regularizer = regularizers.l2(1e-5),\n", + " activation=activation),\n", + " tf.keras.layers.Dropout(0.20),\n", + " tf.keras.layers.Dense(1, kernel_regularizer = regularizers.l2(1e-5), \n", + " activation='sigmoid')\n", + "])\n", + "\n", + "\n", + "# Setting the training parameters\n", + "model_lstm.compile(loss='binary_crossentropy',optimizer=tf.keras.optimizers.experimental.Nadam(),\n", + " metrics=[tfa.metrics.FBetaScore(name='f1_score',num_classes=1,\n", + " average='macro',threshold=0.5)])\n", + "\n", + "# Printing the model summary\n", + "model_lstm.summary()" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "id": "20beb625", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 1/100\n", + "84/84 [==============================] - 8s 32ms/step - loss: 0.7170 - f1_score: 0.5338 - val_loss: 0.6946 - val_f1_score: 0.6147 - lr: 1.0000e-06\n", + "Epoch 2/100\n", + "84/84 [==============================] - 2s 23ms/step - loss: 0.7112 - f1_score: 0.5179 - val_loss: 0.6903 - val_f1_score: 0.6126 - lr: 1.1220e-06\n", + "Epoch 3/100\n", + "84/84 [==============================] - 2s 24ms/step - loss: 0.7031 - f1_score: 0.5222 - val_loss: 0.6863 - val_f1_score: 0.4431 - lr: 1.2589e-06\n", + "Epoch 4/100\n", + "84/84 [==============================] - 2s 23ms/step - loss: 0.6992 - f1_score: 0.4904 - val_loss: 0.6829 - val_f1_score: 0.2931 - lr: 1.4125e-06\n", + "Epoch 5/100\n", + "84/84 [==============================] - 2s 24ms/step - loss: 0.6946 - f1_score: 0.4694 - val_loss: 0.6798 - val_f1_score: 0.1951 - lr: 1.5849e-06\n", + "Epoch 6/100\n", + "84/84 [==============================] - 2s 23ms/step - loss: 0.6850 - f1_score: 0.4687 - val_loss: 0.6770 - val_f1_score: 0.1440 - lr: 1.7783e-06\n", + "Epoch 7/100\n", + "84/84 [==============================] - 2s 23ms/step - loss: 0.6858 - f1_score: 0.4307 - val_loss: 0.6745 - val_f1_score: 0.1305 - lr: 1.9953e-06\n", + "Epoch 8/100\n", + "84/84 [==============================] - 2s 23ms/step - loss: 0.6795 - f1_score: 0.4341 - val_loss: 0.6717 - val_f1_score: 0.1510 - lr: 2.2387e-06\n", + "Epoch 9/100\n", + "84/84 [==============================] - 2s 23ms/step - loss: 0.6782 - f1_score: 0.4109 - val_loss: 0.6687 - val_f1_score: 0.1759 - lr: 2.5119e-06\n", + "Epoch 10/100\n", + "84/84 [==============================] - 2s 23ms/step - loss: 0.6747 - f1_score: 0.4220 - val_loss: 0.6650 - val_f1_score: 0.2175 - lr: 2.8184e-06\n", + "Epoch 11/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.6708 - f1_score: 0.4329 - val_loss: 0.6604 - val_f1_score: 0.2998 - lr: 3.1623e-06\n", + "Epoch 12/100\n", + "84/84 [==============================] - 2s 24ms/step - loss: 0.6662 - f1_score: 0.4594 - val_loss: 0.6547 - val_f1_score: 0.4102 - lr: 3.5481e-06\n", + "Epoch 13/100\n", + "84/84 [==============================] - 2s 21ms/step - loss: 0.6580 - f1_score: 0.4772 - val_loss: 0.6466 - val_f1_score: 0.4819 - lr: 3.9811e-06\n", + "Epoch 14/100\n", + "84/84 [==============================] - 2s 23ms/step - loss: 0.6556 - f1_score: 0.4965 - val_loss: 0.6368 - val_f1_score: 0.5728 - lr: 4.4668e-06\n", + "Epoch 15/100\n", + "84/84 [==============================] - 2s 24ms/step - loss: 0.6396 - f1_score: 0.5515 - val_loss: 0.6242 - val_f1_score: 0.6326 - lr: 5.0119e-06\n", + "Epoch 16/100\n", + "84/84 [==============================] - 2s 23ms/step - loss: 0.6312 - f1_score: 0.5826 - val_loss: 0.6086 - val_f1_score: 0.6796 - lr: 5.6234e-06\n", + "Epoch 17/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.6160 - f1_score: 0.6155 - val_loss: 0.5909 - val_f1_score: 0.6994 - lr: 6.3096e-06\n", + "Epoch 18/100\n", + "84/84 [==============================] - 2s 23ms/step - loss: 0.6002 - f1_score: 0.6382 - val_loss: 0.5719 - val_f1_score: 0.7032 - lr: 7.0795e-06\n", + "Epoch 19/100\n", + "84/84 [==============================] - 2s 23ms/step - loss: 0.5802 - f1_score: 0.6681 - val_loss: 0.5513 - val_f1_score: 0.7238 - lr: 7.9433e-06\n", + "Epoch 20/100\n", + "84/84 [==============================] - 2s 23ms/step - loss: 0.5551 - f1_score: 0.6939 - val_loss: 0.5326 - val_f1_score: 0.7125 - lr: 8.9125e-06\n", + "Epoch 21/100\n", + "84/84 [==============================] - 2s 23ms/step - loss: 0.5490 - f1_score: 0.6926 - val_loss: 0.5172 - val_f1_score: 0.7312 - lr: 1.0000e-05\n", + "Epoch 22/100\n", + "84/84 [==============================] - 2s 23ms/step - loss: 0.5321 - f1_score: 0.7118 - val_loss: 0.5034 - val_f1_score: 0.7383 - lr: 1.1220e-05\n", + "Epoch 23/100\n", + "84/84 [==============================] - 2s 24ms/step - loss: 0.5259 - f1_score: 0.7008 - val_loss: 0.4935 - val_f1_score: 0.7354 - lr: 1.2589e-05\n", + "Epoch 24/100\n", + "84/84 [==============================] - 2s 24ms/step - loss: 0.5097 - f1_score: 0.7089 - val_loss: 0.4841 - val_f1_score: 0.7467 - lr: 1.4125e-05\n", + "Epoch 25/100\n", + "84/84 [==============================] - 2s 24ms/step - loss: 0.5067 - f1_score: 0.7216 - val_loss: 0.4780 - val_f1_score: 0.7464 - lr: 1.5849e-05\n", + "Epoch 26/100\n", + "84/84 [==============================] - 2s 24ms/step - loss: 0.4974 - f1_score: 0.7218 - val_loss: 0.4721 - val_f1_score: 0.7590 - lr: 1.7783e-05\n", + "Epoch 27/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.4956 - f1_score: 0.7208 - val_loss: 0.4660 - val_f1_score: 0.7626 - lr: 1.9953e-05\n", + "Epoch 28/100\n", + "84/84 [==============================] - 2s 23ms/step - loss: 0.4903 - f1_score: 0.7268 - val_loss: 0.4623 - val_f1_score: 0.7504 - lr: 2.2387e-05\n", + "Epoch 29/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.4818 - f1_score: 0.7227 - val_loss: 0.4574 - val_f1_score: 0.7618 - lr: 2.5119e-05\n", + "Epoch 30/100\n", + "84/84 [==============================] - 2s 21ms/step - loss: 0.4822 - f1_score: 0.7315 - val_loss: 0.4511 - val_f1_score: 0.7615 - lr: 2.8184e-05\n", + "Epoch 31/100\n", + "84/84 [==============================] - 2s 21ms/step - loss: 0.4794 - f1_score: 0.7320 - val_loss: 0.4530 - val_f1_score: 0.7649 - lr: 3.1623e-05\n", + "Epoch 32/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.4751 - f1_score: 0.7283 - val_loss: 0.4513 - val_f1_score: 0.7609 - lr: 3.5481e-05\n", + "Epoch 33/100\n", + "84/84 [==============================] - 2s 23ms/step - loss: 0.4731 - f1_score: 0.7367 - val_loss: 0.4534 - val_f1_score: 0.7669 - lr: 3.9811e-05\n", + "Epoch 34/100\n", + "84/84 [==============================] - 2s 24ms/step - loss: 0.4685 - f1_score: 0.7357 - val_loss: 0.4436 - val_f1_score: 0.7605 - lr: 4.4668e-05\n", + "Epoch 35/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.4599 - f1_score: 0.7394 - val_loss: 0.4508 - val_f1_score: 0.7688 - lr: 5.0119e-05\n", + "Epoch 36/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.4580 - f1_score: 0.7414 - val_loss: 0.4442 - val_f1_score: 0.7672 - lr: 5.6234e-05\n", + "Epoch 37/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.4680 - f1_score: 0.7303 - val_loss: 0.4437 - val_f1_score: 0.7654 - lr: 6.3096e-05\n", + "Epoch 38/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.4564 - f1_score: 0.7386 - val_loss: 0.4419 - val_f1_score: 0.7553 - lr: 7.0795e-05\n", + "Epoch 39/100\n", + "84/84 [==============================] - 2s 23ms/step - loss: 0.4644 - f1_score: 0.7332 - val_loss: 0.4390 - val_f1_score: 0.7496 - lr: 7.9433e-05\n", + "Epoch 40/100\n", + "84/84 [==============================] - 2s 23ms/step - loss: 0.4628 - f1_score: 0.7425 - val_loss: 0.4379 - val_f1_score: 0.7633 - lr: 8.9125e-05\n", + "Epoch 41/100\n", + "84/84 [==============================] - 2s 24ms/step - loss: 0.4543 - f1_score: 0.7425 - val_loss: 0.4430 - val_f1_score: 0.7630 - lr: 1.0000e-04\n", + "Epoch 42/100\n", + "84/84 [==============================] - 2s 24ms/step - loss: 0.4542 - f1_score: 0.7408 - val_loss: 0.4422 - val_f1_score: 0.7554 - lr: 1.1220e-04\n", + "Epoch 43/100\n", + "84/84 [==============================] - 2s 24ms/step - loss: 0.4563 - f1_score: 0.7390 - val_loss: 0.4417 - val_f1_score: 0.7611 - lr: 1.2589e-04\n", + "Epoch 44/100\n", + "84/84 [==============================] - 2s 24ms/step - loss: 0.4517 - f1_score: 0.7443 - val_loss: 0.4560 - val_f1_score: 0.7570 - lr: 1.4125e-04\n", + "Epoch 45/100\n", + "84/84 [==============================] - 2s 24ms/step - loss: 0.4484 - f1_score: 0.7425 - val_loss: 0.4433 - val_f1_score: 0.7511 - lr: 1.5849e-04\n", + "Epoch 46/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.4555 - f1_score: 0.7424 - val_loss: 0.4465 - val_f1_score: 0.7474 - lr: 1.7783e-04\n", + "Epoch 47/100\n", + "84/84 [==============================] - 2s 21ms/step - loss: 0.4446 - f1_score: 0.7451 - val_loss: 0.4476 - val_f1_score: 0.7577 - lr: 1.9953e-04\n", + "Epoch 48/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.4492 - f1_score: 0.7432 - val_loss: 0.4431 - val_f1_score: 0.7582 - lr: 2.2387e-04\n", + "Epoch 49/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.4447 - f1_score: 0.7403 - val_loss: 0.4384 - val_f1_score: 0.7582 - lr: 2.5119e-04\n", + "Epoch 50/100\n", + "84/84 [==============================] - 2s 24ms/step - loss: 0.4482 - f1_score: 0.7418 - val_loss: 0.4378 - val_f1_score: 0.7626 - lr: 2.8184e-04\n", + "Epoch 51/100\n", + "84/84 [==============================] - 2s 23ms/step - loss: 0.4352 - f1_score: 0.7560 - val_loss: 0.4392 - val_f1_score: 0.7534 - lr: 3.1623e-04\n", + "Epoch 52/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.4342 - f1_score: 0.7505 - val_loss: 0.4427 - val_f1_score: 0.7489 - lr: 3.5481e-04\n", + "Epoch 53/100\n", + "84/84 [==============================] - 2s 23ms/step - loss: 0.4434 - f1_score: 0.7420 - val_loss: 0.4286 - val_f1_score: 0.7601 - lr: 3.9811e-04\n", + "Epoch 54/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.4376 - f1_score: 0.7553 - val_loss: 0.4427 - val_f1_score: 0.7557 - lr: 4.4668e-04\n", + "Epoch 55/100\n", + "84/84 [==============================] - 2s 23ms/step - loss: 0.4341 - f1_score: 0.7471 - val_loss: 0.4329 - val_f1_score: 0.7429 - lr: 5.0119e-04\n", + "Epoch 56/100\n", + "84/84 [==============================] - 2s 23ms/step - loss: 0.4362 - f1_score: 0.7519 - val_loss: 0.4291 - val_f1_score: 0.7650 - lr: 5.6234e-04\n", + "Epoch 57/100\n", + "84/84 [==============================] - 2s 23ms/step - loss: 0.4290 - f1_score: 0.7537 - val_loss: 0.4290 - val_f1_score: 0.7547 - lr: 6.3096e-04\n", + "Epoch 58/100\n", + "84/84 [==============================] - 2s 23ms/step - loss: 0.4328 - f1_score: 0.7511 - val_loss: 0.4277 - val_f1_score: 0.7576 - lr: 7.0795e-04\n", + "Epoch 59/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.4235 - f1_score: 0.7636 - val_loss: 0.4298 - val_f1_score: 0.7514 - lr: 7.9433e-04\n", + "Epoch 60/100\n", + "84/84 [==============================] - 2s 24ms/step - loss: 0.4232 - f1_score: 0.7729 - val_loss: 0.4474 - val_f1_score: 0.7666 - lr: 8.9125e-04\n", + "Epoch 61/100\n", + "84/84 [==============================] - 2s 23ms/step - loss: 0.4231 - f1_score: 0.7590 - val_loss: 0.4476 - val_f1_score: 0.7701 - lr: 0.0010\n", + "Epoch 62/100\n", + "84/84 [==============================] - 2s 23ms/step - loss: 0.4105 - f1_score: 0.7641 - val_loss: 0.4318 - val_f1_score: 0.7462 - lr: 0.0011\n", + "Epoch 63/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.4191 - f1_score: 0.7630 - val_loss: 0.4464 - val_f1_score: 0.7527 - lr: 0.0013\n", + "Epoch 64/100\n", + "84/84 [==============================] - 2s 23ms/step - loss: 0.4160 - f1_score: 0.7698 - val_loss: 0.4586 - val_f1_score: 0.7669 - lr: 0.0014\n", + "Epoch 65/100\n", + "84/84 [==============================] - 2s 24ms/step - loss: 0.4089 - f1_score: 0.7785 - val_loss: 0.4846 - val_f1_score: 0.7723 - lr: 0.0016\n", + "Epoch 66/100\n", + "84/84 [==============================] - 2s 25ms/step - loss: 0.4022 - f1_score: 0.7831 - val_loss: 0.4239 - val_f1_score: 0.7698 - lr: 0.0018\n", + "Epoch 67/100\n", + "84/84 [==============================] - 2s 25ms/step - loss: 0.3973 - f1_score: 0.7794 - val_loss: 0.4554 - val_f1_score: 0.7727 - lr: 0.0020\n", + "Epoch 68/100\n", + "84/84 [==============================] - 2s 24ms/step - loss: 0.3990 - f1_score: 0.7816 - val_loss: 0.4299 - val_f1_score: 0.7562 - lr: 0.0022\n", + "Epoch 69/100\n", + "84/84 [==============================] - 2s 23ms/step - loss: 0.3946 - f1_score: 0.7831 - val_loss: 0.4894 - val_f1_score: 0.7704 - lr: 0.0025\n", + "Epoch 70/100\n", + "84/84 [==============================] - 2s 24ms/step - loss: 0.3887 - f1_score: 0.7816 - val_loss: 0.4263 - val_f1_score: 0.7619 - lr: 0.0028\n", + "Epoch 71/100\n", + "84/84 [==============================] - 2s 24ms/step - loss: 0.3881 - f1_score: 0.7925 - val_loss: 0.4579 - val_f1_score: 0.7518 - lr: 0.0032\n", + "Epoch 72/100\n", + "84/84 [==============================] - 2s 24ms/step - loss: 0.3784 - f1_score: 0.7938 - val_loss: 0.4375 - val_f1_score: 0.7165 - lr: 0.0035\n", + "Epoch 73/100\n", + "84/84 [==============================] - 2s 23ms/step - loss: 0.3794 - f1_score: 0.8018 - val_loss: 0.4491 - val_f1_score: 0.7753 - lr: 0.0040\n", + "Epoch 74/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.3856 - f1_score: 0.7946 - val_loss: 0.4435 - val_f1_score: 0.7729 - lr: 0.0045\n", + "Epoch 75/100\n", + "84/84 [==============================] - 2s 21ms/step - loss: 0.3715 - f1_score: 0.8045 - val_loss: 0.4517 - val_f1_score: 0.7678 - lr: 0.0050\n", + "Epoch 76/100\n", + "84/84 [==============================] - 2s 21ms/step - loss: 0.3800 - f1_score: 0.7947 - val_loss: 0.4501 - val_f1_score: 0.7632 - lr: 0.0056\n", + "Epoch 77/100\n", + "84/84 [==============================] - 2s 23ms/step - loss: 0.3773 - f1_score: 0.7946 - val_loss: 0.4651 - val_f1_score: 0.7707 - lr: 0.0063\n", + "Epoch 78/100\n", + "84/84 [==============================] - 2s 26ms/step - loss: 0.3861 - f1_score: 0.7796 - val_loss: 0.5485 - val_f1_score: 0.7531 - lr: 0.0071\n", + "Epoch 79/100\n", + "84/84 [==============================] - 2s 25ms/step - loss: 0.3835 - f1_score: 0.7974 - val_loss: 0.4484 - val_f1_score: 0.7660 - lr: 0.0079\n", + "Epoch 80/100\n", + "84/84 [==============================] - 2s 24ms/step - loss: 0.4132 - f1_score: 0.7803 - val_loss: 0.4451 - val_f1_score: 0.7657 - lr: 0.0089\n", + "Epoch 81/100\n", + "84/84 [==============================] - 2s 24ms/step - loss: 0.4145 - f1_score: 0.7706 - val_loss: 0.5056 - val_f1_score: 0.7729 - lr: 0.0100\n", + "Epoch 82/100\n", + "84/84 [==============================] - 2s 25ms/step - loss: 0.3955 - f1_score: 0.7939 - val_loss: 0.4458 - val_f1_score: 0.7515 - lr: 0.0112\n", + "Epoch 83/100\n", + "84/84 [==============================] - 2s 23ms/step - loss: 0.4233 - f1_score: 0.7671 - val_loss: 0.4596 - val_f1_score: 0.7612 - lr: 0.0126\n", + "Epoch 84/100\n", + "84/84 [==============================] - 2s 24ms/step - loss: 0.4468 - f1_score: 0.7552 - val_loss: 0.4993 - val_f1_score: 0.6615 - lr: 0.0141\n", + "Epoch 85/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.4723 - f1_score: 0.7381 - val_loss: 0.4628 - val_f1_score: 0.7275 - lr: 0.0158\n", + "Epoch 86/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.4703 - f1_score: 0.7315 - val_loss: 0.5033 - val_f1_score: 0.7307 - lr: 0.0178\n", + "Epoch 87/100\n", + "84/84 [==============================] - 2s 24ms/step - loss: 0.6168 - f1_score: 0.6112 - val_loss: 0.7140 - val_f1_score: 0.0000e+00 - lr: 0.0200\n", + "Epoch 88/100\n", + "84/84 [==============================] - 2s 24ms/step - loss: 0.8732 - f1_score: 0.3823 - val_loss: 0.7745 - val_f1_score: 0.0000e+00 - lr: 0.0224\n", + "Epoch 89/100\n", + "84/84 [==============================] - 2s 23ms/step - loss: 0.6874 - f1_score: 0.5277 - val_loss: 0.6826 - val_f1_score: 0.4078 - lr: 0.0251\n", + "Epoch 90/100\n", + "84/84 [==============================] - 2s 23ms/step - loss: 1.5431 - f1_score: 0.5103 - val_loss: 11.5980 - val_f1_score: 0.6128 - lr: 0.0282\n", + "Epoch 91/100\n", + "84/84 [==============================] - 2s 24ms/step - loss: 12.4891 - f1_score: 0.4053 - val_loss: 1.5880 - val_f1_score: 0.0000e+00 - lr: 0.0316\n", + "Epoch 92/100\n", + "84/84 [==============================] - 2s 23ms/step - loss: 1.8273 - f1_score: 0.4126 - val_loss: 0.9482 - val_f1_score: 0.0000e+00 - lr: 0.0355\n", + "Epoch 93/100\n", + "84/84 [==============================] - 2s 23ms/step - loss: 1.0247 - f1_score: 0.3710 - val_loss: 0.9151 - val_f1_score: 0.0000e+00 - lr: 0.0398\n", + "Epoch 94/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 1.0395 - f1_score: 0.3609 - val_loss: 0.8861 - val_f1_score: 0.6128 - lr: 0.0447\n", + "Epoch 95/100\n", + "84/84 [==============================] - 2s 21ms/step - loss: 0.8927 - f1_score: 0.2821 - val_loss: 0.8513 - val_f1_score: 0.1799 - lr: 0.0501\n", + "Epoch 96/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.8612 - f1_score: 0.2087 - val_loss: 0.8379 - val_f1_score: 0.0000e+00 - lr: 0.0562\n", + "Epoch 97/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.8738 - f1_score: 0.2902 - val_loss: 0.8431 - val_f1_score: 0.0000e+00 - lr: 0.0631\n", + "Epoch 98/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.8634 - f1_score: 0.3281 - val_loss: 0.8195 - val_f1_score: 0.0000e+00 - lr: 0.0708\n", + "Epoch 99/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 3.2867 - f1_score: 0.3390 - val_loss: 2.4957 - val_f1_score: 0.0000e+00 - lr: 0.0794\n", + "Epoch 100/100\n", + "84/84 [==============================] - 2s 23ms/step - loss: 5921.1733 - f1_score: 0.4137 - val_loss: 121.7635 - val_f1_score: 0.6128 - lr: 0.0891\n" + ] + } + ], + "source": [ + "NUM_EPOCHS = 100\n", + "BATCH_SIZE = 64\n", + "\n", + "# Training the model\n", + "history_lstm = model_lstm.fit(padded, y_train, \n", + " batch_size=BATCH_SIZE, epochs=NUM_EPOCHS, \n", + " callbacks=[lr_schedule ],\n", + " validation_data=(testing_padded, y_test))" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "id": "03d019a9", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(1e-06, 0.001, 0.0, 1.0)" + ] + }, + "execution_count": 45, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1QAAAElCAYAAADjgKMQAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA7h0lEQVR4nO3de3zU5Z33//ccM5lMziHJEAIREEQ5H8VWkRbFtmKt1braW5RurbXS25a7XbVrofy61W5PS+9q62HrtrtdV9SuuvfK0sVUii5Y5BAtSORMOCST82Emhzl9f3/MZCASIDMkmWTyej4eeczkm+/hmjF8nXeu6/pcJsMwDAEAAAAA4mZOdgMAAAAAYLgiUAEAAABAgghUAAAAAJAgAhUAAAAAJIhABQAAAAAJIlABAAAAQIIIVAAAAACQIAIVAAAAACSIQAUAAAAACSJQAQAAAECC4g5UW7Zs0bJlyzR69GiZTCa9+uqrFzxm8+bNmj17ttLS0jRx4kT95je/SaCpAAAAADC0xB2ofD6fZsyYoSeffLJP+x85ckSf+cxntHjxYlVUVOgb3/iGvvzlL+sPf/hD3I0FAAAAgKHEZBiGkfDBJpNeeeUV3Xzzzefc56GHHtLrr7+uPXv2xLb91V/9lZqbm7Vx48ZELw0AAAAASWcd6Ats27ZNS5Ys6bFt6dKl+sY3vnHOY6qrq1VdXR3XdcLhsMxmsyZMmCCTyZRIUwEAAACkAMMw1NbWptGjR8tsHtiyEQMeqGpqalRUVNRjW1FRkVpbW9XR0aH09PSzjnn66ae1du3agW4aAAAAgBR2/PhxjRkzZkCvMeCBKhH33XefbrrppriOaWtr07XXXqv9+/crLy9vgFoGYCgLBAJ68803tXjxYtlstmQ3B0AScB8YXv73+vf01oEGffczk3XLrJJkN2fQ/X//uU+vVFTrxmlF+v5nr0h2c+L2+l9q9OhrH+jKS/L0qy/OTHZzemhsbNSkSZOUmZk54Nca8EBVXFwsj8fTY5vH41FWVlavvVOS5Ha75Xa747pOa2urJCkvL0/5+fmJNRbAsBYIBOR0OpWfn88HKWCE4j4wvHSZHDKnOTWmaNSI/Py2/Nor9Nq+Fr15pF32jCxlOobX76zD1S5zmlOurKwh+99vMKYCDfg6VAsXLlR5eXmPbZs2bdLChQsH+tIAAAAYwlo7A5Kk7PThFST6y+yxORo/KkMdgZBefz+++gFDQSAUliTZLCO7fkHcgcrr9aqiokIVFRWSImXRKyoqVFVVJUl65JFHtHz58tj+X/3qV3X48GH9zd/8jSorK/XLX/5SL774or75zW/2zysAAADAsNTSEQlUWSM0UJlMJn1hbqkk6aWdJ5LcmvgFgt2BasD7aIa0uF/9jh07NGvWLM2aNUuStGrVKs2aNUurV6+WFKnQ1x2uJOmSSy7R66+/rk2bNmnGjBn66U9/qn/8x3/U0qVL++klAAAAYDjqDlQjtYdKkm6ZVSKL2aSdx5p0sNab7ObEJRCKrL5kH+GBKu45VNdee63Ot3TVb37zm16P2b17d7yXAgAAQIrqCobUGYj0cIzUHipJKsxy6NpJo1ReWauXd57Qw5+6LNlN6jN/iB4qaRDmUAEAAAAf1doRlCSZTFJm2pAsPD1obpsbKev9+10nFIyGlOEgNofKyhwqAAAAYFB1D/fLTLPKbB7ZH8g/cVmR8jLsqmvr0pYDdcluTp8F6KGSRKACAABAEsTmTzlH7nC/bnarWTfPjKzD9eK7w6c4RfccKgIVAAAAMMhaKUjRwxfmRYb9lVd61ODtSnJr+sYfpGy6RKACAABAEoz0Nag+6rLiLE0ryVYgZOjVilPJbk6fBMMM+ZMIVAAAAEiC2BpUDgJVty9Ei1O8tOP4eatqDxWBIEP+JAIVAAAAkqClnR6qj7ppRonsVrMqa9q052RrsptzQd1FKUb6OlQj+9UDAAAgKVjU92zZTpuWXlEsSXpp5/Ekt+bCTq9DxRwqAAAAYFB1z6EayYv69ua2OZFhf6/uPqnOQCjJrTm/0+tQjexIMbJfPQAAAJIiNoeKQNXDxyYWaHS2Q62dQW36wJPs5pwXZdMjRvarBwAAQFIw5K93FrNJn4/2Ur24Y2gP+2MOVcTIfvUAAABIitaOoCQCVW9ujQaqtw/W61RzR5Jbc27d61BZmUMFAAAADK7TZdOtSW7J0DMuP0MLLsmTYUi/33ki2c05p9gcKnqoAAAAgMHVypC/8/rC3FJJ0su7TgzZNam651Ax5A8AAAAYRKGwobYuhvydz6emFcuVZtWxhnZtP9KY7Ob0ih6qiJH96gEAADDo2qIl0yWq/J2L027VjdPdkqQXdwzNYX8B1qGSRKACAADAIOueP+W0W0Z878b53DY3Upxiw1+qVd0y9IpTxMqmsw4VAAAAMHgomd43s8fmamKhSx2BkD750z/p/5YfUId/6Cz2S9n0iJH96gEAADDoCFR9YzKZ9KsvztassTlq94f0s037tfgnm/Xvu04oHE5+oQrmUEWM7FcPAACAQde9BlWWg0B1IZcWZerf779K//eOWSrJSVdNa6dWvfiebv7l/yS9WEX3OlTMoQIAAADiZBhGwuW8Y2tQ0UPVJyaTSTfNGK3y/7NIf3PDZLnSrHr/RIu+8PQ23f+7nTrW4Luo8xuGoaqGdn1Y0xbrdeqL2ByqEd5DxUpqAAAAiEu9t0s3rNui+Zfk6ZdfnBP38Qz5S4zDZtHXrp2o2+aU6h/e2K8Xtlfpv/bUqHxfre75WJkeWDyxT+9pZyCkPSdbtPNYk3Yea9KuqibVe/2SIvOhLi1yaYo7S5e7s3T56CxNcWf1el6G/EUQqAAAABCXtw/Uq97r14a/1Ki2tVOFWY64jidQXZxRmWl67HPTtHzhOP3g9X1660C9ntlyWC/tOK5vXjdJd8wf2yPk1LR0xoLTzmNN2nuqJda71M1mMSnNapG3K6i9p1q191Rrj5+X5KTr8tGRkNUdtoJhI3bsSEagAgAAQFx2VzXFnv+xslZ/NX9sXMe3dnYP+eOj6MW4rDhL//yl+dq8v04/eH2fDtZ6tfq1vfrt1qP6/Jwx2lfdpl3HmnSy+eyS6wWuNM0Zl6PZY3M1Z1yuppZkK81q1ommDu091aoPqlu1r7pVH5xq1cnmjtjXpg88Z51rpJdN57cYAAAAcdl9vDn2/I198Qcqeqj6j8lk0uLJhbp6YoH+7d3j+odN+3Wozqcfbfwwto/ZFAlfc8ZFwtPssbkqzUuXyXR2z1JpnlOleU7dMLU4tq2lPXA6YEVD1oHaNgVChtzZDjltlkF5rUMVgQoAAAB91hkI6YMzhoO9fbBOnYGQHHF8qG4lUPU7q8Wsu64cp8/OHK1n/nRY+z1tmlaSrTnjcjW9NEeutMQ/9mc7bVo4IV8LJ+THtvmDYR2p96koK01W5lABAAAAfbPnZIuCYUMFrjTZLSadaunU1kP1+sRlRX0+B4Fq4GQ5bPrW0skDfh271azJxZkDfp3hYGTHSQAAAMSlIjrcb9bYHH1ySiREvbGvNq5zUDYdqYRABQAAgD7bXdUsqTtQFUqSyvd54lqTijlUSCUEKgAAAPRZd4W/WaW5unJ8vpx2izytXdpzsvUCR0YYhqHWzqAkAhVSA4EKAAAAfVLT0qlTLZ0ym6TpY7LlsFl09aUFkqQ39p1dTrs3Pn9Ioej6RVkOAhWGPwIVAAAA+qTieKR3anJxljKiVeO651GVV/YtUHUP97NbzHLY+CiK4Y/fYgAAAPRJ9/ypmaU5sW2fuKxQJpO052Sralo6L3iOlvbTBSl6WwcJGG4IVAAAAOiT3WdU+OtW4EqLBay+9FKdLkjB6j1IDQQqAAAAXFAwFNb7J5olSbPPCFSStKR72F8fyqe3dlIyHakloUD15JNPqqysTA6HQwsWLND27dvPu/+6des0efJkpaenq7S0VN/85jfV2XnhLmEAAAAMDZU1beoMhJXpsGp8gavHz7rLp//PwXp1+EPnPQ8l05Fq4g5U69ev16pVq7RmzRrt2rVLM2bM0NKlS1Vb2/tfJJ5//nk9/PDDWrNmjfbt26df//rXWr9+vb7zne9cdOMBAAAwOLqH+80szZHZ3HPu0+SiTJXkpKsrGNbbB+vPe55WAhVSTNyB6mc/+5nuvfderVixQpdffrmeeuopOZ1OPffcc73uv3XrVn3sYx/TnXfeqbKyMl1//fW64447LtirBQAAgKEjtv7U2NyzfmYymbTkjEV+z4ceKqSauGYD+v1+7dy5U4888khsm9ls1pIlS7Rt27Zej7nqqqv0u9/9Ttu3b9f8+fN1+PBhbdiwQXfdddc5r1NdXa3q6up4miav1ytJCgQCCgQCcR0LIDV0/9vnHgCMXNwHBs7uY5FANW20q9f3d9GkfP122zGV7/Ooq8t/Vi9Wt2ZflyQpw27mvxMGzGD+bsUVqOrr6xUKhVRUVNRje1FRkSorK3s95s4771R9fb0+/vGPyzAMBYNBffWrXz3vkL+nn35aa9eujadpMW+++aacTmdCxwJIDZs2bUp2EwAkGfeB/uULSEcaIh8b6/a9qw0Hz94nGJbSzBbVef16+uX/0jjX2ftI0geHzJLMOnX0oDZsODBwjcaI1t7ePmjXGvB6lZs3b9Zjjz2mX/7yl1qwYIEOHjyoBx98UN///vf13e9+t9dj7rvvPt10001xXcfr9WrRokVavHix8vPz+6PpAIaZQCCgTZs26brrrpPNxlASYCTiPjAwthyol3bsUlm+U7d99uPn3G+T9z1t3OtRV/4kffqTE3vd59//ZZdUX68Fs6br03NKBqrJGOEaGhoG7VpxBaqCggJZLBZ5PD3Hxno8HhUXF/d6zHe/+13ddddd+vKXvyxJmjZtmnw+n77yla/ob//2b2U2nz2Ny+12y+12x9M0tba2SpJsNhs3UGCE4z4AgPtA/3r/ZJskafbY3PO+r9ddXqyNez1688N6ffuGKb3u4+2KVAHMc6Xx3wgDZjB/t+IqSmG32zVnzhyVl5fHtoXDYZWXl2vhwoW9HtPe3n5WaLJYLJIkwzDibS8AAAAGWW8L+vZm8WWFMpukD6pbdaq5o9d9uotSsA4VUkXcVf5WrVqlZ599Vr/97W+1b98+3X///fL5fFqxYoUkafny5T2KVixbtky/+tWv9MILL+jIkSPatGmTvvvd72rZsmWxYAUAAIChKRw2VHGeCn9nysuwa3Z0n/LK3pfUocofUk3cc6huv/121dXVafXq1aqpqdHMmTO1cePGWKGKqqqqHj1Sjz76qEwmkx599FGdPHlSo0aN0rJly/SDH/yg/14FAAAABsThep9aO4Ny2MyaXJx5wf0/OaVIO441qXyfR3ddOe6snxOokGoSKkqxcuVKrVy5stefbd68uecFrFatWbNGa9asSeRSAAAASKLu9aemlWTLZrnw4KYlUwr19xsrtfVQg9r9QTntpz9udgZC8gfDkhjyh9QR95A/AAAAjBwVsflT5x/u121ioUtj85zyB8N660B9j5+1RnunzCbJZR/wYtPAoCBQAQAA4Jx2VzVLkmaV5vRpf5PJpE9OKZQkle/rWRn6zIIU51r4FxhuCFQAAADoVbs/qMqayNI0fe2hkqQlUyJz6/9YWatw+HRVZ+ZPIRURqAAAANCr90+0KGxI7myHirMdfT5uXlmeMtOsqvf6VXGiOba9tTPaQ+UgUCF1EKgAAADQq9hwvwusP/VRdqtZ10weJannsD96qJCKCFQAAADoVXeFv5l9nD91piWxeVSn16NqaSdQIfUQqAAAAHAWwzC0O84Kf2e6dlKhzCapsqZNJ5raJUktHUFJUlY6Ff6QOghUAAAAOMuplk7VtXXJajZp6ujsuI/PzbBr7rg8Sad7qWJzqOihQgohUAEAAOAs3cP9prizlG63JHSO7vLpb0TnUTGHCqmIQAUAAICzJFqQ4kyfjJZP//PhRnm7ggQqpCQCFQAAAM7S3UN1MYFqwqgMXVKQIX8orLf2151e2Jey6UghBCoAAAD00BUMac+pyIK+M0vjL0jRzWQy6ZOXdQ/7q1UrPVRIQQQqAAAA9LCvuk3+YFg5TpvK8p0Xda7uYX9vflirZsqmIwVRsxIAAAA9VHQP9yvNkclkuqhzzS3LVZbDqkafP7aNQIVUQg8VAAAAeriY9ac+ymYx69rJhT22UTYdqYRABQAAgB76o8LfmbrLp3fLcjBICqmDQAUAAICYem+XqhrbZTJJM0pz+uWc104qlMUcGTroSrPKauEjKFIHv80AAACIqYj2Tk0c5eq38ubZTpvmlUWGD9I7hVRDoAIAAEDM7uORghQz+6l3qtuSaLU/5k8h1fAnAgAAAMRU9GNBijN9fvYY/Wl/nT4zzd2v5wWSjUAFAAAASVIobOi94y2S+q8gRbfcDLv+5a8X9Os5gaGAIX8AAACQJB2s9crbFZTTbtGkosxkNwcYFghUAAAAkCTtji7oO2NMTqwqH4DzI1ABAABAUv+vPwWMBAQqAAAASBq4Cn9AKiNQAQAAQG2dAR2o9UqSZtJDBfQZgQoAAAB6/0SLDEMak5uuwkxHspsDDBsEKgAAAMQKUvT3+lNAqiNQAQAA4HRBCuZPAXEhUAEAAIxwhmFo9/FmSVT4A+JFoAIAABjhqhrb1ejzy24x6/LRWcluDjCsEKgAAABGuO7hfpePzlKa1ZLcxgDDDIEKAABghKtguB+QMAIVAADACEeFPyBxBCoAAIARrDMQ0gfVrZKo8AckIqFA9eSTT6qsrEwOh0MLFizQ9u3bz7t/c3OzHnjgAbndbqWlpWnSpEnasGFDQg0GAABA//ljZa0CIUPubIfG5KYnuznAsGON94D169dr1apVeuqpp7RgwQKtW7dOS5cu1YcffqjCwsKz9vf7/bruuutUWFiol19+WSUlJTp27JhycnL6o/0AAAC4CC/uOC5J+tysEplMpiS3Bhh+4g5UP/vZz3TvvfdqxYoVkqSnnnpKr7/+up577jk9/PDDZ+3/3HPPqbGxUVu3bpXNZpMklZWVXVyrAQAAcNGqWzq0ZX+dJOm2uaVJbg0wPMUVqPx+v3bu3KlHHnkkts1sNmvJkiXatm1br8f8x3/8hxYuXKgHHnhAr732mkaNGqU777xTDz30kCyW3styVldXq7q6Op6myev1SpICgYACgUBcxwJIDd3/9rkHACMX94H4vPRulcKGNHdcjsZk23nfkDIG83c5rkBVX1+vUCikoqKiHtuLiopUWVnZ6zGHDx/WH//4R33xi1/Uhg0bdPDgQX3ta19TIBDQmjVrej3m6aef1tq1a+NpWsybb74pp9OZ0LEAUsOmTZuS3QQAScZ94MIMQ/rnCoskky61NjC/HSmlvb190K4V95C/eIXDYRUWFuqZZ56RxWLRnDlzdPLkSf34xz8+Z6C67777dNNNN8V1Ha/Xq0WLFmnx4sXKz8/vj6YDGGYCgYA2bdqk6667LjbEGMDIwn2g79492qT6d96V027RQ3d8QhlpA/6xEBg0DQ0Ng3atuP7lFBQUyGKxyOPx9Nju8XhUXFzc6zFut1s2m63H8L4pU6aopqZGfr9fdru912Pcbnc8TVNra6Tcp81m4wYKjHDcBwBwH7iwf6+ITK+4cbpbOS6q+yG1DOa//7jKptvtds2ZM0fl5eWxbeFwWOXl5Vq4cGGvx3zsYx/TwYMHFQ6HY9v2798vt9vda5gCAADAwPJ2BbXhL5FA9QWKUQAXJe51qFatWqVnn31Wv/3tb7Vv3z7df//98vl8sap/y5cv71G04v7771djY6MefPBB7d+/X6+//roee+wxPfDAA/33KgAAANBnG96vVrs/pPEFGZozLjfZzQGGtbgHy95+++2qq6vT6tWrVVNTo5kzZ2rjxo2xQhVVVVUym0/ntNLSUv3hD3/QN7/5TU2fPl0lJSV68MEH9dBDD/XfqwAAAECfda89devcMaw9BVykhGYfrly5UitXruz1Z5s3bz5r28KFC/XOO+8kcikAAAD0o8N1Xu041iSzSfr87DHJbg4w7MU95A8AAADD10s7T0iSFk0apaIsR5JbAwx/BCoAAIARIhgK6/fRQEUxCqB/EKgAAABGiLcO1Ku2rUt5GXZ9ckpRspsDpAQCFQAAwAjRXYzi5pklslv5GAj0B/4lAQAAjAAN3i69sc8jSbptLsUogP5CoAIAABgBXq04pUDI0LSSbE1xZyW7OUDKIFABAACkOMMw9FJ0uN8X6J0C+hWBCgAAIMXtOdmqypo22a1m3TSjJNnNAVIKgQoAACDFdRejWHpFsbKdtiS3BkgtBCoAAIAU1hkI6bWKk5IY7gcMBAIVAABACvvvDzxq7QyqJCddV00oSHZzgJRDoAIAAEhh3cUoPj+7RBazKcmtAVIPgQoAACBFnWzu0NsH6yVJt84pTXJrgNREoAIAAEhRv995QoYhLRyfr7H5zmQ3B0hJBCoAAIAUFA4bemlnZLjfbRSjAAYMgQoAACAF/flIo443dsiVZtWnprqT3RwgZRGoAAAAUlB3MYplM0Yr3W5JcmuA1EWgAgAASDGtnQFt2FMtibWngIFGoAIAAEgxr79frc5AWBMLXZpZmpPs5gApjUAFAACQYl6MDvf7wtwxMplYewoYSAQqAACAFHLA06bdVc2ymE363CyG+wEDzZrsBgAAAOBswVBYmz7w6ECtVw6bWQ6b5fSXNfJ9ut0ih9XS4+f/tj3SO7V4cqFGZaYl+VUAqY9ABQAAMIS0+4Na/+5x/frtIzrR1JHweShGAQwOAhUAAMAQUNfWpd9uPap/eeeYWjoCkqS8DLs+cVmhwmFDncGQOvwhdQbCseddwbA6AyF1BELqDER+JklT3FlafFlhMl8OMGIQqAAAAJLoUJ1X//jWYf1+10n5g5FANC7fqS9fPV63zh4T1xpShmGoKxhWmtVMMQpgkKRcoPqvPTXKyulS9y3EZJJM0e8izyOP3bqCYXUFwrG/7HREv7oC4chfgbr/GhQMq9MfUlcorMw0q/Iy7MrLsCs/w658V1rkuev0tiyHTWbzwN3IAqGwTjV36ERTh040tet4Y4faOgO6tChTU0uydVlxphw2FvEDAGCo2nG0UU9vOaw39nlkGJFtM0tzdN8143X9FcWyJPA5wmQy8f9/YJClXKD6zqsfyJzmTHYzZDGblOu0Ky/DprxowMp02JTpsCor3aYsh1WZDmtsW+xn0Uer2aSa1k6daOrQ8cb2yGNT5PFEY7tqWjsVNs5//UsLXbpidLamlmRpakm2priz5EpL/D95ZyCkBp9fgWBYuRl2ZTms/PULAIA4hMKGNn3g0TNbDmlXVXNs+5IphfrKNRM0ryyX/7cCw0zKBap543Jkc7okSYYhxTKHIRkyYn8BMhTpFk+zRivkRKvjpEcr5KRHK+ekWc2xCjrpdotsFrNaOwJq9PnV4POr0dd1xnO/Gr1+tXUFFQobqvd2qd7bNWCvNc1q1pjcdJXmOTUmN10Zdqv21bRp78kWNfj8qqxpU2VNm36/K7K/ySRdkp+hK0qyNXV0JGSV5jrV3BFpf4M38noaoq+j0edXffdr9Prl84d6XN9m6Q6N9h49dnkZadEgebrnrvt9a+0MqLUjGH3s7fugWjoiz7PTbZozLldzxuVqblmeyvKd/E8GADAsebuCemX3ST339hEdqfdJkuwWsz43q0T3XnOJJhZmJrmFABKVcoHqmbtmKz8/P6lt6AqG1OQLqCEathp9frV1BtXWGQkObZ2B2PdnPm/tCMjrD8ZCn81iUklOusbkOlWaF3k8M0CNcqX1GjAMw5CntUt7TrZoz6kW7TnZqr2nWlTd0qnD9T4drvfp/713KqHXZrOYZLOY1e4PKRAyVNvWpdq2gQmNtW1dOlDr1QvvRsq/FrjskXA1Lk9zynI1dXS27NaBXUotHDZ0srlDB2rbdMDj1cFarw7X+5RmNas4y6HCLIeKstJUlOWIfqWpMNMx4O0CAAwPB2u9+t07x/TyzhPydgUlSVkOq/7XleN0z1VlKsxyJLmFAC5WygWqoSDNalFxtkXF2fHfJMNhQ15/UF2BsPIy7AmPny7Odqg426EllxfFttd7u7T3VCRc7T3Zqj2nWlTT0nlWD1NsTlj3Npdd+RlpynPZlZkWGebXGQipqb27V8sf66VrOkfPXTBkKCs23NGmrHRr9NEWGwL50Z9Vt3Rqx7FG7TzapPdPtKje69cf9nr0h72e6Pts1owxOZpblqu5ZbmaPTZXOU573O+XFFnro6qxXQdqI6HpgKdNB+siz7srJsUjP8N+OmxlRh5znHZlf/T1ptuUnW5Tht2SUO9bj6pPwbCCobAKMx1xTWAGAPSvYCis8spa/cu2Y3r7YH1s+yUFGbrrynH6wrzSixqCD2Bo4V/zEGM2m5TlsEkD8AerAleaFk0apUWTRl30uRw2i9zZ6XJnp/dDy3o3tSRb10UDYVcwpD0nW/Tu0SbtONqkncca1dQe0Pajjdp+tDF2THa6TTaLSVazWRazKfLcYpbVbJI1ut1mMUV/FtmnurlTR+p98od6D052i1njR2VoYqFLlxZmavyoDAXDYXlau+Rp7VRta5dqWjtjz/2hcGQIpc+vfdV9e61mk3oEyux0m1xpVgVDRqxQSnd53A7/6fK4XcHe21zgSlNpXrpKo72bkUenSnOdcuc4ZLP0rQfNMCLXb+kIqKUjoOb2yKM/GNYlBZH3hMnPABDR4O3SC+8e1/N/rtLJ5sj6USaT9MnLirR84Th9fGLBgBasApAcBCoMC2lWi+aMy9OccXnSosgH/cP1Pu042hgNWE06XO+LrduRiHSbRRMLXbGvSwtdurQoU6W56bLGEUCa2wM9ApantVOetk41t0fmiPWYO9YRkD8UVtiQmtsjgSVRdqtZFpNJHYFQbP7e7jMmPHezmE0qznJobF4kbBVmOuTzB9USDUvNZ4Sn7vadi8kkjc1zxt6rSwtdmlSUqQmjXPSSARgxKo4365+3HtV/vl8du2fmOm26fd5YfXHBWJXmJb9YFoCBQ6DCsGQymTRhlEsTRrl0+7yxkhQdetilYNhQMGQoEAorFDYUCBmRx3BYwZChUDisQMhQMPo4ypWmiYUuleSkX/RfDk0mk3Iz7MrNsGuKO+uC+3evF9IdsiIFObrn2gVlt5iVZjPHiqScWTjFccb2NKtFFrNJhmGopSOg442RqpDHG9ujj6erRPqDYZ1s7tDJ5g5tO9y312U1m5TjjAxRzEm3yWQy6VCdV83tAR1raNexhna9sa/2jPdBKs09HbQmFblUmueUxRxZxMBsMsWWNDCZIvufuc1s6l7ewBRb5sAUfX+7n3dfJ7qXJCkYCqgj2LfXBAAXozMQ0n++X61/3nZU759oiW2fPiZbyxeW6cbpbnrwgRGCQIWU0T0PbDjpXi/EYbP0y8Rkk8mkHKddOU67po3JPuvn4bChOm9Xj6BV19YllyMyzDAn3XZGcLIr2xnZ5uxljpdhGKr3+nXA06YDtV7tjz4e8LSpqT2gqsZ2VTW2q7yy9qx2DCyr/vHo/0R7NHM1e1yuxhdk9Nswm0AorOON7QqGDbnSrHI5rHLZrQzjAUaIzkBIz/+5Sk/96VCsKJPdYtaN091aflWZZpbmJLeBAAYdgQoYQcxmU6wi4dyyvIs6l8lk0qjMNI3KTNNVEwti2w3DUIPPr/2eNh3sDloeb3TttMjSBZEvQ4Z0elv02O7np/eNlL08cwmEM78/8+eROV9hHazz6WCdT+t3RCpEZqfbNHtsjmaPjZThn1Gao4wLTAhv9Pl1uM6rw3U+Harz6lCdT4frvapqiISpj3KlWU8HrLTudeai29JscjmsKsxMi1XqLMlJ56/XwEUKhw35Q2EFw4YCwbACobDau/xq8ff/tTr8If3rn4/p6S2HVRcNUu5sh/7XleP0V/NKle9K6/+LAhgWTEb3p5FhrrW1VdnZ2aqvr0962XQAyREIBPTiaxuUP3mu3jvZpp3HmvT+ieazKjWaTdJlxVnRHqwcZditOlzv06FoWfzDdV41nWc+m8NmltNuVVtnQIFQ4rfQMwPWmNzoEgnR5RFG56RTfh8jWmcgpN9uPap/33VSPn9QgVBkmHYgGFYgOmQ7dJ4V7i8tzNCN00t04wy3JoxyJdyO7iD11J8Ox9aWLMlJ19cWT9Ctc8YozcofRoChqKGhQQUFBWppaVFW1oWnYVyMhALVk08+qR//+MeqqanRjBkz9Itf/ELz58+/4HEvvPCC7rjjDn32s5/Vq6++mkh7z4lABSAQCGjDhg369Kc/LZvNFtkWCmtfdat2HWvSzqpm7TrWFKu+dSElOekaPypD4wsyNH6US+NHZWjCKJeKsxwyR+esdQXD8nYF5e0MytsVmf/W/dzbFeyx5pyntTM2n639Iwtlf5TJJBVnOVSSk66SaMAqiX6Njm6j7DJSUTAU1ks7T+jnbxxQTWtnXMeaTZLNYlYgGFJYp4fhTnFn6cbpbt043a1x+Rl9Ole7P6jfvXNMz2w5rHpvpMurJCddKz8xUZ+fPYY/eABD3JAOVOvXr9fy5cv11FNPacGCBVq3bp1eeuklffjhhyosLDzncUePHtXHP/5xjR8/Xnl5eQQqAP2ut0DVm5qWTu2qilSH3F3VpEDIiAanSGgaPypDlxRkyGkfmMBiGIaa2gM6ES0Ucrwx8niiqV3Ho499Wf8sy2HV6Jz0WI9Wd9gqzExTvitNo1xpykq3JrTGGTDYDMPQf+2p0U/+8KEO1/skRQLM//7kRE0uzpLVbJLdapbNYo4tMv/R5xazSYFAQC//xwaZS2fov/bW6u0D9T2G6U4rydaN09369DR3r9X3fF1B/cs7x/TslsNq8EWC1JjcdK1cPFG3EKSAYWNIB6oFCxZo3rx5euKJJyRJ4XBYpaWl+vrXv66HH36412NCoZCuueYafelLX9Jbb72l5ubm8waq6upqVVf3cQGfKK/Xq0WLFqm6uppABYxQgUBAmzZt0nXXXXfeQDXUGYahRp9fx5s6VN3SqZPNnTrV0qnq5g6dbO5UdUunmvu4RIDNYlJ+hl0FrrToIt12Fbii30ef5zrtChuG/MGwuoJhdQUja5x1BiLf+6Pfn94WUjBsKNthU26GTXlO+xmPduU6bX1e6wyQpP851KCfbjqgv5xslRQpOf61a8frjnmlSoszwHz0PtDcHtCmfR69/heP3jnS2GOY4Iwx2frMtGLdcEWRshxW/e7Px/Xr/zkaG/Jbmpuu+xeN180z3fxOA8NMQ0OD3G730AtUfr9fTqdTL7/8sm6++ebY9rvvvlvNzc167bXXej1uzZo1ev/99/XKK6/onnvuuWCg+t73vqe1a9f2+UWc6fnnn5fTyXoPAFJbZ0hq7pKaukxq9Ecfu6TmLpPaAlJbQOoIJa9nKt1iKMMquWxShs2QK/o8y24oxy5lRx+zbBKfU0euY17pP6vM2t8S+SVIMxtaPNrQYndYjgHoIPYGpIoGkyoaTDrYapJxxrDANLOhrnDk+4I0Q9ePCWtugcHvJzBMtbe368477xyUQBXX7aq+vl6hUEhFRUU9thcVFamysrLXY95++239+te/VkVFRZ+vc9999+mmm26Kp2mxHqrFixfTQwWMUKnSQ9VfugIhNfj8qvf6Tz96u1Qffd7o86ve26Wm9oAsZpPSrObol+X0c9tHvreaZbeaZTWb1dIZUJPPr8b27ke/mtsDChuRMNcRkuq7JOncwc5kkgoy7NHqk2mRr0yHirPTVJTlUEGGXRazSWaTKbKOWXTNsh7PTZGqk5Htkj3aXgxdh+t8+ofyg9q41yMp0pN65/xS3X/NJRddLe9C94EvRB/r2rq0ca9HG/bUaMexZnWFTSrLd+pri8Zr2fTiPi/oDmBoamhoGLRrDeiM5ra2Nt1111169tlnVVBQcOEDotxut9xud1zXam2NDBOw2Wx8kAJGOO4DETabTS6nQ+NGDd41w+HI4tKN7f7oYtt+Nfkiga7B65entVM1rZ2qaelUbVunAiFDdV6/6rx+7TnVP20wmaSy/AxNKnJpcnGWJhdlanJxpsrynYP6Ibl7rlx1S4dqWiJDNTPSLFpwSb5G56QPWjv6i2EY8rR26VCdVwdrvTra4JPZZFKG3SJnmlUZadbIc7tVGWmRR1eaVU67RRnRx6Z2v37+xgG9tPOEQmFDJpN0y6wx+saSS3udz3QxLnQfGJ1n05eudulLV09QdUuHTjV3aMaYHIIUkCIG83NAXIGqoKBAFotFHo+nx3aPx6Pi4uKz9j906JCOHj2qZcuWxbaFw5GJ1larVR9++KEmTJiQSLsBAEOQ2WyKzKPKsGvCBYJcOBxZs8wTDVg1rZ1nPW/w+hU2IuWxDSOyPlnIMBSOrlEWCkeen8kwpCP1Ph2p9+kPe0///8puNWviKJcmF0cCVnfQcmc74ircEQ4bCoYNtXYGVNPSqVPNHappjQSmSHCKzH2rbumUP9h7cZGxeU5dOT5PCyfk68rx+XJn90/ACobCOtncEVt42mm3KCPOhacDobCqGtt1sDYSnA7VeXWoNrIWm7cr2C/tlKQlU4r07aWTNbk4s9/OmSh3dnq//TcAMPLEFajsdrvmzJmj8vLy2ByqcDis8vJyrVy58qz9L7vsMv3lL3/pse3RRx9VW1ubfv7zn6u0tDTxlgMAhjWz+fTi0FNLsi/qXGeGq+YOv/bXePWhp00f1rTqQ49X+2va1BEI6YPqVn1Q3drj2EyHVSU56QpFg1IwHFYwFH0eXTQ2GF3zKBAOK97FRgpcaXJnRxbUrvN2ac/JFlU1tquqsV0v7jghSSrLd+rK8fmxgFWU5TjvOZt8fh3qXni6PvJ4uM6rqsb2XtdGc9q7e4ws0Z6kaC9SmlUuu1XpdouqWzp0qM6nYw2+c66vZjGbNC7PqQmFLo0vyJDJZFK7PyhfV0i+rqB8/qDa/ZHn7f6Q2v2R5QPOrFo5vyxPD31qsuaMu7jFxQFgqIh7yN+qVat09913a+7cuZo/f77WrVsnn8+nFStWSJKWL1+ukpISPf7443I4HJo6dWqP43NyciTprO0AACTKZDLJaon0whRmOlSY6dDHLz091DwcNnSiqUOVNa3a72lTZU2b9nvadLjOp7bOoCpr2hK4pjQqGpbc2ekqznbIne2IPqbHQtRHy2y3dQa042iT3jncoG2HG7TnZIuONrTraEO7Xnj3uCTpkoIMXTk+X1eOz5PDZokFpr4uPG2zmOXrCsZ67yLhJqR6b99eW7rNogmFGZo4yqWJhS5NiD6Oy89IqGx4KGyo3R9UMGQoN8Me9/EAMJTFHahuv/121dXVafXq1aqpqdHMmTO1cePGWKGKqqoqmc2MPwYADB1ms0lj850am+/U9VecHqLuD4Z1qM6rem+XrObImkYWs0lWs1lWi0lWs0lWi1lWc3S75fTP0m2WhEppZzpsWnxZoRZfFlm7sbUzoB1HG7XtUIPeOdyoPadaYkMW/2171TnPMzrbEVtwenxBRqTXaJRL7l4Wnm7vCkUeoz1Gvq6QfP5gpFepKyifP6RRrrRIeCo8fY7+YjGblOlgXiOA1BT3OlRDFQv7Aujrwr7AUNbSEdC7Rxq17XCDth9plCHjjEWnXZowwAtPD3fcBwBIg7uwL3djAACGkOx0m5ZcXqQllxddeGcAQNIxNg8AAAAAEkSgAgAAAIAEEagAAAAAIEEEKgAAAABIEIEKAAAAABJEoAIAAACABBGoAAAAACBBBCoAAAAASBCBCgAAAAASRKACAAAAgAQRqAAAAAAgQQQqAAAAAEgQgQoAAAAAEkSgAgAAAIAEEagAAAAAIEEEKgAAAABIEIEKAAAAABJEoAIAAACABBGoAAAAACBBBCoAAAAASBCBCgAAAAASRKACAAAAgAQRqAAAAAAgQQQqAAAAAEgQgQoAAAAAEkSgAgAAAIAEEagAAAAAIEEEKgAAAABIEIEKAAAAABJEoAIAAACABBGoAAAAACBBBCoAAAAASBCBCgAAAAASRKACAAAAgAQlFKiefPJJlZWVyeFwaMGCBdq+ffs593322Wd19dVXKzc3V7m5uVqyZMl59wcAAACA4SLuQLV+/XqtWrVKa9as0a5duzRjxgwtXbpUtbW1ve6/efNm3XHHHXrzzTe1bds2lZaW6vrrr9fJkycvuvEAAAAAkEwmwzCMeA5YsGCB5s2bpyeeeEKSFA6HVVpaqq9//et6+OGHL3h8KBRSbm6unnjiCS1fvrzXfaqrq1VdXR1Ps+T1erVo0SJVV1crPz8/rmMBpIZAIKBNmzbpuuuuk81mS3ZzACQB9wEAktTQ0CC3262WlhZlZWUN6LWs8ezs9/u1c+dOPfLII7FtZrNZS5Ys0bZt2/p0jvb2dgUCAeXl5Z1zn6efflpr166Np2kxb775ppxOZ0LHAkgNmzZtSnYTACQZ9wFgZGtvbx+0a8UVqOrr6xUKhVRUVNRje1FRkSorK/t0joceekijR4/WkiVLzrnPfffdp5tuuimepsV6qBYvXkwPFTBC8ZdpANwHAEiRHqrBElegulg//OEP9cILL2jz5s1yOBzn3M/tdsvtdsd17tbWVkmSzWbjBgqMcNwHAHAfAEa2wfz3H1egKigokMVikcfj6bHd4/GouLj4vMf+5Cc/0Q9/+EO98cYbmj59evwtBQAAAIAhJq4qf3a7XXPmzFF5eXlsWzgcVnl5uRYuXHjO4370ox/p+9//vjZu3Ki5c+cm3loAAAAAGELiHvK3atUq3X333Zo7d67mz5+vdevWyefzacWKFZKk5cuXq6SkRI8//rgk6e///u+1evVqPf/88yorK1NNTY0kyeVyyeVy9eNLAQAAAIDBFXeguv3221VXV6fVq1erpqZGM2fO1MaNG2OFKqqqqmQ2n+74+tWvfiW/369bb721x3nWrFmj733vexfXegAAAABIooSKUqxcuVIrV67s9WebN2/u8f3Ro0cTuQQAAAAADHlxzaECAAAAAJxGoAIAAACABBGoAAAAACBBBCoAAAAASBCBCgAAAAASRKACAAAAgAQRqAAAAAAgQQQqAAAAAEgQgQoAAAAAEkSgAgAAAIAEEagAAAAAIEEEKgAAAABIEIEKAAAAABJEoAIAAACABBGoAAAAACBBBCoAAAAASBCBCgAAAAASRKACAAAAgAQRqAAAAAAgQQQqAAAAAEgQgQoAAAAAEkSgAgAAAIAEEagAAAAAIEEEKgAAAABIEIEKAAAAABJEoAIAAACABBGoAAAAACBBBCoAAAAASBCBCgAAAAASRKACAAAAgAQRqAAAAAAgQQQqAAAAAEgQgQoAAAAAEkSgAgAAAIAEEagAAAAAIEEJBaonn3xSZWVlcjgcWrBggbZv337e/V966SVddtllcjgcmjZtmjZs2JBQYwEAAABgKIk7UK1fv16rVq3SmjVrtGvXLs2YMUNLly5VbW1tr/tv3bpVd9xxh/76r/9au3fv1s0336ybb75Ze/bsuejGAwAAAEAyxR2ofvazn+nee+/VihUrdPnll+upp56S0+nUc8891+v+P//5z3XDDTfo29/+tqZMmaLvf//7mj17tp544omLbjwAAAAAJJM1np39fr927typRx55JLbNbDZryZIl2rZtW6/HbNu2TatWreqxbenSpXr11VfPeZ3q6mpVV1fH0zS1tbVJkhobG+M6DkDqCAQCam9vV0NDg2w2W7KbAyAJuA8AkE5nAsMwBvxacQWq+vp6hUIhFRUV9dheVFSkysrKXo+pqanpdf+amppzXufpp5/W2rVr42lazKRJkxI6DgAAAEBqOXTokGbPnj2g14grUA2W++67TzfddFNcx+zdu1fLly/X5s2bNWvWrAFqWeqpqKjQokWL9Kc//UkzZ85MdnP6JNltHozrD8Q1+uOcF3OORI6N95hk/24MV8PxfRsKbR6O94LheB+I97ih8LsxHA3X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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Define the learning rate array\n", + "lrs = 1e-8 * (10 ** (np.arange(100) / 20))\n", + "# Set the figure size\n", + "plt.figure(figsize=(10, 3))\n", + "plt.grid(True)\n", + "plt.semilogx(lrs, history_lstm.history[\"loss\"])\n", + "plt.tick_params('both', length=10, width=1, which='both')\n", + "plt.axis([1e-6, 1e-3, 0, 1])" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "id": "7a0fd4fd", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(1e-05, 0.0002, 0.0, 1.0)" + ] + }, + "execution_count": 46, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "## Zooming in to 1e-5 & 2e-4 range to read the optimum learning rate\n", + "plt.figure(figsize=(10, 3))\n", + "plt.grid(True)\n", + "plt.semilogx(lrs, history_lstm.history[\"loss\"])\n", + "plt.tick_params('both', length=10, width=1, which='both')\n", + "plt.axis([1e-5, 2e-4, 0, 1])" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "id": "2bec2f68", + "metadata": {}, + "outputs": [], + "source": [ + "#Resets all state generated by Keras.\n", + "tf.keras.backend.clear_session()\n", + "del model_lstm\n", + "del history_lstm" + ] + }, + { + "cell_type": "markdown", + "id": "4a691eab", + "metadata": {}, + "source": [ + "### Building Model " + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "id": "35490139", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Model: \"sequential\"\n", + "_________________________________________________________________\n", + " Layer (type) Output Shape Param # \n", + "=================================================================\n", + " embedding (Embedding) (None, 32, 200) 2436000 \n", + " \n", + " spatial_dropout1d (Spatial (None, 32, 200) 0 \n", + " Dropout1D) \n", + " \n", + " bidirectional (Bidirection (None, 32, 400) 641600 \n", + " al) \n", + " \n", + " dropout (Dropout) (None, 32, 400) 0 \n", + " \n", + " bidirectional_1 (Bidirecti (None, 32, 200) 400800 \n", + " onal) \n", + " \n", + " dropout_1 (Dropout) (None, 32, 200) 0 \n", + " \n", + " conv1d (Conv1D) (None, 28, 200) 200200 \n", + " \n", + " global_max_pooling1d (Glob (None, 200) 0 \n", + " alMaxPooling1D) \n", + " \n", + " dropout_2 (Dropout) (None, 200) 0 \n", + " \n", + " dense (Dense) (None, 100) 20100 \n", + " \n", + " dropout_3 (Dropout) (None, 100) 0 \n", + " \n", + " dense_1 (Dense) (None, 50) 5050 \n", + " \n", + " dropout_4 (Dropout) (None, 50) 0 \n", + " \n", + " dense_2 (Dense) (None, 1) 51 \n", + " \n", + "=================================================================\n", + "Total params: 3703801 (14.13 MB)\n", + "Trainable params: 1267801 (4.84 MB)\n", + "Non-trainable params: 2436000 (9.29 MB)\n", + "_________________________________________________________________\n" + ] + } + ], + "source": [ + "# Model Definition with LSTM\n", + "model_lstm = tf.keras.Sequential([\n", + " embedding_layer,\n", + " tf.keras.layers.SpatialDropout1D(0.2),\n", + " tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(200,dropout=0.50,\n", + " kernel_initializer = 'orthogonal',\n", + " return_sequences=True)),\n", + " tf.keras.layers.Dropout(0.20),\n", + " tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(100, dropout=0.50,\n", + " kernel_initializer = 'orthogonal',\n", + " return_sequences=True)),\n", + " tf.keras.layers.Dropout(0.20),\n", + " tf.keras.layers.Conv1D(200, 5, activation=activation),\n", + " tf.keras.layers.GlobalMaxPool1D(),\n", + " tf.keras.layers.Dropout(0.20),\n", + " tf.keras.layers.Dense(100,kernel_initializer = 'he_normal', \n", + " kernel_regularizer = regularizers.l2(1e-5),\n", + " activation=activation),\n", + " tf.keras.layers.Dropout(0.20),\n", + " tf.keras.layers.Dense(50,kernel_initializer = 'he_normal',\n", + " kernel_regularizer = regularizers.l2(1e-5), \n", + " activation=activation),\n", + " tf.keras.layers.Dropout(0.20),\n", + " tf.keras.layers.Dense(1,kernel_regularizer = regularizers.l2(1e-5), \n", + " activation='sigmoid')\n", + "])\n", + "\n", + "learning_rate= 5e-5\n", + "\n", + "# Setting the training parameters\n", + "model_lstm.compile(loss='binary_crossentropy',\n", + " optimizer=tf.keras.optimizers.experimental.Nadam(learning_rate=learning_rate),\n", + " metrics=[tfa.metrics.FBetaScore(name='f1_score',num_classes=1,\n", + " average='macro',threshold=0.5)])\n", + "\n", + "# Printing the model summary\n", + "model_lstm.summary()" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "id": "10ef7deb", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 1/100\n", + "84/84 [==============================] - 6s 30ms/step - loss: 0.6645 - f1_score: 0.4075 - val_loss: 0.6142 - val_f1_score: 0.7074 - lr: 5.0000e-05\n", + "Epoch 2/100\n", + "84/84 [==============================] - 2s 23ms/step - loss: 0.5725 - f1_score: 0.6632 - val_loss: 0.5101 - val_f1_score: 0.7378 - lr: 5.0000e-05\n", + "Epoch 3/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.5175 - f1_score: 0.7165 - val_loss: 0.4834 - val_f1_score: 0.7445 - lr: 5.0000e-05\n", + "Epoch 4/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.4972 - f1_score: 0.7198 - val_loss: 0.4770 - val_f1_score: 0.7631 - lr: 5.0000e-05\n", + "Epoch 5/100\n", + "84/84 [==============================] - 2s 20ms/step - loss: 0.4848 - f1_score: 0.7248 - val_loss: 0.4623 - val_f1_score: 0.7610 - lr: 5.0000e-05\n", + "Epoch 6/100\n", + "84/84 [==============================] - 2s 19ms/step - loss: 0.4716 - f1_score: 0.7275 - val_loss: 0.4650 - val_f1_score: 0.7677 - lr: 5.0000e-05\n", + "Epoch 7/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.4790 - f1_score: 0.7235 - val_loss: 0.4485 - val_f1_score: 0.7561 - lr: 5.0000e-05\n", + "Epoch 8/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.4702 - f1_score: 0.7348 - val_loss: 0.4471 - val_f1_score: 0.7558 - lr: 5.0000e-05\n", + "Epoch 9/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.4699 - f1_score: 0.7353 - val_loss: 0.4462 - val_f1_score: 0.7552 - lr: 5.0000e-05\n", + "Epoch 10/100\n", + "84/84 [==============================] - 2s 23ms/step - loss: 0.4570 - f1_score: 0.7399 - val_loss: 0.4576 - val_f1_score: 0.7667 - lr: 5.0000e-05\n", + "Epoch 11/100\n", + "84/84 [==============================] - 2s 21ms/step - loss: 0.4601 - f1_score: 0.7395 - val_loss: 0.4494 - val_f1_score: 0.7625 - lr: 5.0000e-05\n", + "Epoch 12/100\n", + "84/84 [==============================] - 2s 21ms/step - loss: 0.4589 - f1_score: 0.7374 - val_loss: 0.4457 - val_f1_score: 0.7640 - lr: 5.0000e-05\n", + "Epoch 13/100\n", + "84/84 [==============================] - 2s 21ms/step - loss: 0.4556 - f1_score: 0.7387 - val_loss: 0.4385 - val_f1_score: 0.7604 - lr: 5.0000e-05\n", + "Epoch 14/100\n", + "84/84 [==============================] - 2s 21ms/step - loss: 0.4591 - f1_score: 0.7397 - val_loss: 0.4429 - val_f1_score: 0.7638 - lr: 5.0000e-05\n", + "Epoch 15/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.4578 - f1_score: 0.7418 - val_loss: 0.4370 - val_f1_score: 0.7554 - lr: 5.0000e-05\n", + "Epoch 16/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.4557 - f1_score: 0.7364 - val_loss: 0.4420 - val_f1_score: 0.7643 - lr: 5.0000e-05\n", + "Epoch 17/100\n", + "84/84 [==============================] - 2s 23ms/step - loss: 0.4547 - f1_score: 0.7383 - val_loss: 0.4407 - val_f1_score: 0.7510 - lr: 5.0000e-05\n", + "Epoch 18/100\n", + "84/84 [==============================] - 2s 23ms/step - loss: 0.4521 - f1_score: 0.7373 - val_loss: 0.4389 - val_f1_score: 0.7550 - lr: 5.0000e-05\n", + "Epoch 19/100\n", + "84/84 [==============================] - 2s 23ms/step - loss: 0.4573 - f1_score: 0.7408 - val_loss: 0.4396 - val_f1_score: 0.7543 - lr: 5.0000e-05\n", + "Epoch 20/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.4502 - f1_score: 0.7395 - val_loss: 0.4344 - val_f1_score: 0.7535 - lr: 5.0000e-05\n", + "Epoch 21/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.4537 - f1_score: 0.7492 - val_loss: 0.4471 - val_f1_score: 0.7605 - lr: 5.0000e-05\n", + "Epoch 22/100\n", + "84/84 [==============================] - 2s 21ms/step - loss: 0.4461 - f1_score: 0.7433 - val_loss: 0.4448 - val_f1_score: 0.7603 - lr: 5.0000e-05\n", + "Epoch 23/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.4515 - f1_score: 0.7498 - val_loss: 0.4445 - val_f1_score: 0.7570 - lr: 5.0000e-05\n", + "Epoch 24/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.4418 - f1_score: 0.7481 - val_loss: 0.4443 - val_f1_score: 0.7647 - lr: 5.0000e-05\n", + "Epoch 25/100\n", + "84/84 [==============================] - 2s 21ms/step - loss: 0.4376 - f1_score: 0.7469 - val_loss: 0.4339 - val_f1_score: 0.7500 - lr: 5.0000e-05\n", + "Epoch 26/100\n", + "84/84 [==============================] - 2s 20ms/step - loss: 0.4380 - f1_score: 0.7482 - val_loss: 0.4438 - val_f1_score: 0.7610 - lr: 5.0000e-05\n", + "Epoch 27/100\n", + "84/84 [==============================] - 2s 21ms/step - loss: 0.4481 - f1_score: 0.7450 - val_loss: 0.4356 - val_f1_score: 0.7572 - lr: 5.0000e-05\n", + "Epoch 28/100\n", + "84/84 [==============================] - 2s 21ms/step - loss: 0.4440 - f1_score: 0.7458 - val_loss: 0.4450 - val_f1_score: 0.7457 - lr: 5.0000e-05\n", + "Epoch 29/100\n", + "84/84 [==============================] - 2s 20ms/step - loss: 0.4368 - f1_score: 0.7495 - val_loss: 0.4361 - val_f1_score: 0.7592 - lr: 5.0000e-05\n", + "Epoch 30/100\n", + "84/84 [==============================] - 2s 23ms/step - loss: 0.4441 - f1_score: 0.7417 - val_loss: 0.4314 - val_f1_score: 0.7588 - lr: 5.0000e-05\n", + "Epoch 31/100\n", + "84/84 [==============================] - 2s 23ms/step - loss: 0.4416 - f1_score: 0.7476 - val_loss: 0.4378 - val_f1_score: 0.7619 - lr: 5.0000e-05\n", + "Epoch 32/100\n", + "84/84 [==============================] - 2s 23ms/step - loss: 0.4396 - f1_score: 0.7460 - val_loss: 0.4420 - val_f1_score: 0.7579 - lr: 5.0000e-05\n", + "Epoch 33/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.4357 - f1_score: 0.7493 - val_loss: 0.4509 - val_f1_score: 0.7681 - lr: 5.0000e-05\n", + "Epoch 34/100\n", + "84/84 [==============================] - 2s 23ms/step - loss: 0.4371 - f1_score: 0.7570 - val_loss: 0.4393 - val_f1_score: 0.7605 - lr: 5.0000e-05\n", + "Epoch 35/100\n", + "82/84 [============================>.] - ETA: 0s - loss: 0.4299 - f1_score: 0.7585\n", + "Epoch 35: ReduceLROnPlateau reducing learning rate to 9.999999747378752e-06.\n", + "84/84 [==============================] - 2s 23ms/step - loss: 0.4292 - f1_score: 0.7589 - val_loss: 0.4471 - val_f1_score: 0.7631 - lr: 5.0000e-05\n", + "Epoch 36/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.4281 - f1_score: 0.7598 - val_loss: 0.4388 - val_f1_score: 0.7607 - lr: 1.0000e-05\n", + "Epoch 37/100\n", + "84/84 [==============================] - 2s 19ms/step - loss: 0.4377 - f1_score: 0.7475 - val_loss: 0.4360 - val_f1_score: 0.7590 - lr: 1.0000e-05\n", + "Epoch 38/100\n", + "84/84 [==============================] - 2s 21ms/step - loss: 0.4307 - f1_score: 0.7473 - val_loss: 0.4370 - val_f1_score: 0.7573 - lr: 1.0000e-05\n", + "Epoch 39/100\n", + "84/84 [==============================] - 2s 21ms/step - loss: 0.4329 - f1_score: 0.7463 - val_loss: 0.4367 - val_f1_score: 0.7574 - lr: 1.0000e-05\n", + "Epoch 40/100\n", + "84/84 [==============================] - ETA: 0s - loss: 0.4317 - f1_score: 0.7556\n", + "Epoch 40: ReduceLROnPlateau reducing learning rate to 1.9999999494757505e-06.\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.4317 - f1_score: 0.7556 - val_loss: 0.4354 - val_f1_score: 0.7597 - lr: 1.0000e-05\n", + "Epoch 41/100\n", + "84/84 [==============================] - 2s 21ms/step - loss: 0.4318 - f1_score: 0.7506 - val_loss: 0.4368 - val_f1_score: 0.7581 - lr: 2.0000e-06\n", + "Epoch 42/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.4261 - f1_score: 0.7550 - val_loss: 0.4365 - val_f1_score: 0.7583 - lr: 2.0000e-06\n", + "Epoch 43/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.4278 - f1_score: 0.7556 - val_loss: 0.4360 - val_f1_score: 0.7578 - lr: 2.0000e-06\n", + "Epoch 44/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.4294 - f1_score: 0.7580 - val_loss: 0.4358 - val_f1_score: 0.7582 - lr: 2.0000e-06\n", + "Epoch 45/100\n", + "82/84 [============================>.] - ETA: 0s - loss: 0.4245 - f1_score: 0.7591\n", + "Epoch 45: ReduceLROnPlateau reducing learning rate to 3.999999989900971e-07.\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.4250 - f1_score: 0.7582 - val_loss: 0.4370 - val_f1_score: 0.7585 - lr: 2.0000e-06\n", + "Epoch 46/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.4351 - f1_score: 0.7560 - val_loss: 0.4369 - val_f1_score: 0.7572 - lr: 4.0000e-07\n", + "Epoch 47/100\n", + "84/84 [==============================] - 2s 23ms/step - loss: 0.4254 - f1_score: 0.7569 - val_loss: 0.4368 - val_f1_score: 0.7572 - lr: 4.0000e-07\n", + "Epoch 48/100\n", + "84/84 [==============================] - 2s 24ms/step - loss: 0.4339 - f1_score: 0.7623 - val_loss: 0.4367 - val_f1_score: 0.7578 - lr: 4.0000e-07\n", + "Epoch 49/100\n", + "84/84 [==============================] - 2s 24ms/step - loss: 0.4296 - f1_score: 0.7524 - val_loss: 0.4367 - val_f1_score: 0.7586 - lr: 4.0000e-07\n", + "Epoch 50/100\n", + "84/84 [==============================] - ETA: 0s - loss: 0.4320 - f1_score: 0.7582Restoring model weights from the end of the best epoch: 30.\n", + "\n", + "Epoch 50: ReduceLROnPlateau reducing learning rate to 8.00000009348878e-08.\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.4320 - f1_score: 0.7582 - val_loss: 0.4365 - val_f1_score: 0.7579 - lr: 4.0000e-07\n", + "Epoch 50: early stopping\n" + ] + } + ], + "source": [ + "NUM_EPOCHS = 100\n", + "BATCH_SIZE = 64\n", + "\n", + "# Training the model\n", + "history_lstm = model_lstm.fit(padded, y_train, \n", + " batch_size=BATCH_SIZE, epochs=NUM_EPOCHS, \n", + " callbacks=[callbacks],\n", + " validation_data=(testing_padded, y_test))" + ] + }, + { + "cell_type": "markdown", + "id": "6a76112a", + "metadata": {}, + "source": [ + "### Assessing Model Performance" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "id": "5adc796a", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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vn370qpVK7744gu2b99eW+VqVEocTkqd5niUqgESERGpe9UKQDfffDMvvvgiYM4B1qdPH26++WZ69OjBhx9+WKsFbAzKan8AfH00FYaIiEhdq9bV9r///S8DBgwA4OOPP8YwDDIzM3nhhReYOXNmrRawMSjr/+NhAx9PBSAREZG6Vq2rbVZWFs2aNQNg2bJljBw5En9/f6699lp2795dqwVsDH59B5jNZrO4NCIiIhe+ao8DtHr1avLy8li2bBmDBg0C4OTJk/j6+tZqARsDVwDSGEAiIiJuUa27wB588EFGjx5NkyZNaN26NVdeeSVgNo117969NsvXKLgGQVQHaBEREbeoVgC67777iI+PJzk5mauvvhoPD7MiqV27duoDVA0FGgNIRETEraoVgADi4uKIi4srt+7aa68t9zgoKIhNmzbRrl276r5Mo1CoMYBERETcqk5vOTIMoy4Pf8HQNBgiIiLupXuu64GyJjBNhCoiIuIeCkD1wOkaIP06RERE3EFX3HqgUE1gIiIiblWnAUiD+lWO6y4wNYGJiIi4hTpB1wOaCV5ERMS96jQAffHFF0RHR9flS1wQygZCVBOYiIiIe9RqADp06BB33HGH63H//v2x2+21+RIXJN0GLyIi4l61GoAyMjJ46623avOQjYIGQhQREXGvKo0E/emnn57z+X379tWoMI2VxgESERFxryoFoBEjRmCz2c7ZuVl3flWdmsBERETcq0pNYJGRkXz00Uc4nc4Klw0bNtRVOS9oCkAiIiLuVaUAFBcXx/r168/6/Plqh6RiroEQfTQupYiIiDtUuglsy5Yt/PGPfyQvL++s23To0IFvv/22VgrWmLj6AKkGSERExC0qHYB69+5NSkoKYWFhtGvXjnXr1tG8efNy2wQEBHDFFVfUeiEvdGoCExERca9Kt7mEhISwf/9+AA4cOIDT6ayzQjU2roEQdReYiIiIW1S6BmjkyJFcccUVREZGYrPZ6NOnD56eFV+wdTt81WgyVBEREfeqdAB69dVXufHGG9mzZw8PPPAAEyZMIDAwsC7L1igYhqG5wERERNysSuMADRkyBID169czZcoUBaBaUOIwcDjNO+cUgERERNyjSgGozJtvvlnb5Wi0ymp/QE1gIiIi7lIvBp556aWXaNOmDb6+vsTHx7N27dqzbjt//nxsNlu5xdfXt9w248aN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mTNnMm/ePI4dO8bkyZOZPHkyb775Zo3f07koALlRQbFGgRYRuVA1bdqUoUOH8u9//9sVgBYvXkxoaCi/+c1v8PDwoGfPnq7tn3rqKT7++GM+/fRTJk+eXKXXatGiBXa7HT8/PyIiImql/MnJycTGxtK/f39sNhutW7d2Pff111+zdu1atm/fTseOHQFo166d6/nZs2czcOBAHnvsMQA6duzItm3beO6558oFoKuuuoo//OEPrsd33XUXo0eP5sEHHwQgNjaWF154gSuuuIKXX34ZX1/fWnlvFVEAciPXLfAKQCIiVePtb9bEWPXalTR69GgmTJjAv/71L+x2O++++y633HILHh4e5Obm8vjjj7N06VJSUlIoLS2loKCA5OTkOix85Y0bN46rr76aTp06MWTIEK677joGDRoEwKZNm2jZsqUr/Pyv7du3M3z48HLrLrvsMubMmYPD4XDVFPXp06fcNps3b2bLli28++67rnWGYeB0Otm/fz9dunSpzbdYjgKQG2kQRBGRarLZKtUMZbVhw4ZhGAZLly6lb9++rFy5kn/84x8APPTQQyxfvpy//e1vdOjQAT8/P2666SbLOwOXufjii9m/fz9ffPEFX3/9NTfffDOJiYksXry4VprYAAICyv8Oc3Nzueeee3jggQfO2LaqzYJVpQDkRuoDJCJyYfP19eXGG2/k3XffZc+ePXTq1ImLL74YgFWrVjFu3DhuuOEGwLz4HzhwwMLSnikoKIhRo0YxatQobrrpJoYMGUJGRgY9evTg8OHD7Nq1q8JaoC5durBq1apy61atWkXHjh1dtT8Vufjii9m2bRsdOnSo9fdyPgpAbuRwGvj7eOKvACQicsEaPXo01113Hb/88gu33Xaba31sbCwfffQRw4YNw2az8dhjj51xx1hNpaamkpqayp49ewDYunUrgYGBtGrVimbNmp1z39mzZxMZGUnv3r3x8PDggw8+ICIigpCQEK644gouv/xyRo4cyezZs+nQoQM7duzAZrMxZMgQ/vCHP9C3b1+eeuopRo0axerVq3nxxRf517/+dc7XfOSRR7jkkkuYPHkyd911FwEBAWzbto3ly5fz4osv1tp5qYhug3eja7pHsu3JISy4o5/VRRERkTpy1VVX0axZM3bu3Mnvfvc71/rZs2fTtGlTLr30UoYNG8bgwYNdtUO1Ze7cufTu3ZsJEyYAcPnll9O7d28+/fTT8+4bGBjIs88+S58+fejbty8HDhzg888/x8PDjAoffvghffv25dZbb6Vr1648/PDDOBxmy8bFF1/M+++/z8KFC7nooouYPn06Tz75ZLkO0BXp0aMHK1asYNeuXQwYMIDevXszffp0oqLq/o4/m2FUcoCDRiQ7O5vg4GCysrIICgqyujgiIo1KYWEh+/fvp23btnV6F5A0TOf6fFTl+l0vaoBeeukl2rRpg6+vL/Hx8axdu7ZS+y1cuBCbzcaIESPKrTcMg+nTpxMZGYmfnx+JiYns3r27DkouIiIiDZHlAWjRokVMnTqVGTNmsGHDBnr27MngwYNJT08/534HDhzgoYceYsCAAWc89+yzz/LCCy8wd+5c1qxZQ0BAAIMHD6awsLCu3oaIiEiteffdd2nSpEmFS7du3ap1zKeffvqsxxw6dGgtv4P6z/ImsPj4ePr27evq7OR0OomJieH+++/n0UcfrXAfh8PB5Zdfzh133MHKlSvJzMxkyZIlgFn7ExUVxR/+8AceeughALKysggPD2f+/Pnccsst5y2TmsBERKyjJjDIyckhLS2twue8vb3LDVJYWRkZGWRkZFT4nJ+fH9HR0VU+phVqqwnM0rvAiouLWb9+PdOmTXOt8/DwIDExkdWrV591vyeffJKwsDDuvPNOVq5cWe65/fv3k5qaSmJiomtdcHAw8fHxrF69usIAVFRURFFRketxdnZ2Td6WiIhIjQQGBhIYGFirx2zWrNl57wRrTCxtAjt+/DgOh4Pw8PBy68PDw0lNTa1wn++//5433niD1157rcLny/aryjFnzZpFcHCwa4mJianqWxERkVqme3SkIrX1ubC8D1BV5OTkcPvtt/Paa68RGhpaa8edNm0aWVlZrqVs8jcREXE/b29vAPLz8y0uidRHZZ+Lss9JdVnaBBYaGoqnp+cZ7ZxpaWkVTu62d+9eDhw4wLBhw1zrygaR8vLyYufOna790tLSiIyMLHfMXr16VVgOu92O3W6v6dsREZFa4OnpSUhIiOtmGH9/f2w2m8WlEqsZhkF+fj7p6emEhIScc4TpyrA0APn4+BAXF0dSUpLrVnan00lSUlKFM+N27tyZrVu3llv35z//mZycHJ5//nliYmLw9vYmIiKCpKQkV+DJzs5mzZo1TJw4sa7fkoiI1IKyL7PnuyNYGp+QkJAKK0mqyvKpMKZOncrYsWPp06cP/fr1Y86cOeTl5TF+/HgAxowZQ3R0NLNmzcLX15eLLrqo3P4hISEA5dY/+OCDzJw5k9jYWNq2bctjjz1GVFTUGeMFiYhI/WSz2YiMjCQsLIySkhKriyP1hLe3d41rfspYHoBGjRrFsWPHmD59OqmpqfTq1Ytly5a5OjEnJye7huGurIcffpi8vDzuvvtuMjMz6d+/P8uWLWu0t1OKiDRUnp6etXbBE/k1y8cBqo80DpCIiEjD0+CmwhARERFxJwUgERERaXQs7wNUH5W1CmpEaBERkYaj7Lpdmd49CkAVyMnJAdCI0CIiIg1QTk4OwcHB59xGnaAr4HQ6OXr0KIGBgbU++FZ2djYxMTEcOnRIHazdQOfbvXS+3Uvn2710vt2rOufbMAxycnKIioo67x3kqgGqgIeHBy1btqzT1wgKCtJ/IDfS+XYvnW/30vl2L51v96rq+T5fzU8ZdYIWERGRRkcBSERERBodBSA3s9vtzJgxQ5OvuonOt3vpfLuXzrd76Xy7V12fb3WCFhERkUZHNUAiIiLS6CgAiYiISKOjACQiIiKNjgKQiIiINDoKQG700ksv0aZNG3x9fYmPj2ft2rVWF+mC8N///pdhw4YRFRWFzWZjyZIl5Z43DIPp06cTGRmJn58fiYmJ7N6925rCXgBmzZpF3759CQwMJCwsjBEjRrBz585y2xQWFjJp0iSaN29OkyZNGDlyJGlpaRaVuGF7+eWX6dGjh2swuISEBL744gvX8zrXdeuvf/0rNpuNBx980LVO57z2PP7449hstnJL586dXc/X5blWAHKTRYsWMXXqVGbMmMGGDRvo2bMngwcPJj093eqiNXh5eXn07NmTl156qcLnn332WV544QXmzp3LmjVrCAgIYPDgwRQWFrq5pBeGFStWMGnSJH788UeWL19OSUkJgwYNIi8vz7XN73//e/7zn//wwQcfsGLFCo4ePcqNN95oYakbrpYtW/LXv/6V9evX89NPP3HVVVcxfPhwfvnlF0Dnui6tW7eOV155hR49epRbr3Neu7p160ZKSopr+f77713P1em5NsQt+vXrZ0yaNMn12OFwGFFRUcasWbMsLNWFBzA+/vhj12On02lEREQYzz33nGtdZmamYbfbjffee8+CEl540tPTDcBYsWKFYRjm+fX29jY++OAD1zbbt283AGP16tVWFfOC0rRpU+P111/Xua5DOTk5RmxsrLF8+XLjiiuuMKZMmWIYhj7ftW3GjBlGz549K3yurs+1aoDcoLi4mPXr15OYmOha5+HhQWJiIqtXr7awZBe+/fv3k5qaWu7cBwcHEx8fr3NfS7KysgBo1qwZAOvXr6ekpKTcOe/cuTOtWrXSOa8hh8PBwoULycvLIyEhQee6Dk2aNIlrr7223LkFfb7rwu7du4mKiqJdu3aMHj2a5ORkoO7PtSZDdYPjx4/jcDgIDw8vtz48PJwdO3ZYVKrGITU1FaDCc1/2nFSf0+nkwQcf5LLLLuOiiy4CzHPu4+NDSEhIuW11zqtv69atJCQkUFhYSJMmTfj444/p2rUrmzZt0rmuAwsXLmTDhg2sW7fujOf0+a5d8fHxzJ8/n06dOpGSksITTzzBgAED+Pnnn+v8XCsAiUi1TZo0iZ9//rlcm73Uvk6dOrFp0yaysrJYvHgxY8eOZcWKFVYX64J06NAhpkyZwvLly/H19bW6OBe8oUOHun7u0aMH8fHxtG7dmvfffx8/P786fW01gblBaGgonp6eZ/RcT0tLIyIiwqJSNQ5l51fnvvZNnjyZzz77jG+//ZaWLVu61kdERFBcXExmZma57XXOq8/Hx4cOHToQFxfHrFmz6NmzJ88//7zOdR1Yv3496enpXHzxxXh5eeHl5cWKFSt44YUX8PLyIjw8XOe8DoWEhNCxY0f27NlT559vBSA38PHxIS4ujqSkJNc6p9NJUlISCQkJFpbswte2bVsiIiLKnfvs7GzWrFmjc19NhmEwefJkPv74Y7755hvatm1b7vm4uDi8vb3LnfOdO3eSnJysc15LnE4nRUVFOtd1YODAgWzdupVNmza5lj59+jB69GjXzzrndSc3N5e9e/cSGRlZ95/vGnejlkpZuHChYbfbjfnz5xvbtm0z7r77biMkJMRITU21umgNXk5OjrFx40Zj48aNBmDMnj3b2Lhxo3Hw4EHDMAzjr3/9qxESEmJ88sknxpYtW4zhw4cbbdu2NQoKCiwuecM0ceJEIzg42Pjuu++MlJQU15Kfn+/a5t577zVatWplfPPNN8ZPP/1kJCQkGAkJCRaWuuF69NFHjRUrVhj79+83tmzZYjz66KOGzWYzvvrqK8MwdK7d4dd3gRmGznlt+sMf/mB89913xv79+41Vq1YZiYmJRmhoqJGenm4YRt2eawUgN/rnP/9ptGrVyvDx8TH69etn/Pjjj1YX6YLw7bffGsAZy9ixYw3DMG+Ff+yxx4zw8HDDbrcbAwcONHbu3GltoRuwis41YLz55puubQoKCoz77rvPaNq0qeHv72/ccMMNRkpKinWFbsDuuOMOo3Xr1oaPj4/RokULY+DAga7wYxg61+7wvwFI57z2jBo1yoiMjDR8fHyM6OhoY9SoUcaePXtcz9flubYZhmHUvB5JREREpOFQHyARERFpdBSAREREpNFRABIREZFGRwFIREREGh0FIBEREWl0FIBERESk0VEAEhERkUZHAUhEREQaHQUgEZGzsNlsLFmyxOpiiEgdUAASkXpp3Lhx2Gy2M5YhQ4ZYXTQRuQB4WV0AEZGzGTJkCG+++Wa5dXa73aLSiMiFRDVAIlJv2e12IiIiyi1NmzYFzOapl19+maFDh+Ln50e7du1YvHhxuf23bt3KVVddhZ+fH82bN+fuu+8mNze33Dbz5s2jW7du2O12IiMjmTx5crnnjx8/zg033IC/vz+xsbF8+umnrudOnjzJ6NGjadGiBX5+fsTGxp4R2ESkflIAEpEG67HHHmPkyJFs3ryZ0aNHc8stt7B9+3YA8vLyGDx4ME2bNmXdunV88MEHfP311+UCzssvv8ykSZO4++672bp1K59++ikdOnQo9xpPPPEEN998M1u2bOGaa65h9OjRZGRkuF5/27ZtfPHFF2zfvp2XX36Z0NBQ950AEam+WplTXkSklo0dO9bw9PQ0AgICyi1/+ctfDMMwDMC49957y+0THx9vTJw40TAMw3j11VeNpk2bGrm5ua7nly5danh4eBipqamGYRhGVFSU8ac//emsZQCMP//5z67Hubm5BmB88cUXhmEYxrBhw4zx48fXzhsWEbdSHyARqbd+85vf8PLLL5db16xZM9fPCQkJ5Z5LSEhg06ZNAGzfvp2ePXsSEBDgev6yyy7D6XSyc+dObDYbR48eZeDAgecsQ48ePVw/BwQEEBQURHp6OgATJ05k5MiRbNiwgUGDBjFixAguvfTSar1XEXEvBSARqbcCAgLOaJKqLX5+fpXaztvbu9xjm82G0+kEYOjQoRw8eJDPP/+c5cuXM3DgQCZNmsTf/va3Wi+viNQu9QESkQbrxx9/PONxly5dAOjSpQubN28mLy/P9fyqVavw8PCgU6dOBAYG0qZNG5KSkmpUhhYtWjB27Fjeeecd5syZw6uvvlqj44mIe6gGSETqraKiIlJTU8ut8/LycnU0/uCDD+jTpw/9+/fn3XffZe3atbzxxhsAjB49mhkzZjB27Fgef/xxjh07xv3338/tt99OeHg4AI8//jj33nsvYWFhDB06lJycHFatWsX9999fqfJNnz6duLg4unXrRlFREZ999pkrgIlI/aYAJCL11rJly4iMjCy3rlOnTuzYsQMw79BauHAh9913H5GRkbz33nt07doVAH9/f7788kumTJlC37598ff3Z+TIkcyePdt1rLFjx1JYWMg//vEPHnroIUJDQ7npppsqXT4fHx+mTZvGgQMH8PPzY8CAASxcuLAW3rmI1DWbYRiG1YUQEakqm83Gxx9/zIgRI6wuiog0QOoDJCIiIo2OApCIiIg0OuoDJCINklrvRaQmVAMkIiIijY4CkIiIiDQ6CkAiIiLS6CgAiYiISKOjACQiIiKNjgKQiIiINDoKQCIiItLoKACJiIhIo/P/LE2BqRNvmQcAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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2qUwbNgwRo0axbvvvou3tzeffvopt956K1arlfT0dJ577jkWLFjAsWPHyM/PJysr64L9ZEti27ZtdOzY0Rl+wPzMdjgc7Nixg0svvZS77rqL/v37069fP+Li4rj55puJjIwEYPz48dx77718/PHHxMXFcdNNNzmDUmVx6xCk8ePHM23aND766CO2bdvG6NGjycjIcI4KGz58OBMmTHAeP3r0aE6ePMm4cePYuXMnCxYs4IUXXmDMmDHOYx577DGWL1/O/v37+f3337n++uux2WzcdtttLn9/xQnVXEAiItWHxWI2Q7njcbqJqKSuvfZaDMNgwYIFHDp0iF9//ZVhw4YB5ufj3LlzeeGFF/j111/ZtGkT7du3JzfXNZ9FH374IStXrqRnz57Mnj2bFi1asGrVKsCcw2/Lli1cc801/Pzzz7Rp04a5c+dWannc2gfolltu4fjx4zz77LPEx8fTqVMnFi9e7OwYffDgQWdND0B0dDTff/89jzzyCB06dKBevXqMGzeOJ5980nnM4cOHue2220hKSqJOnTr07t2bVatWUadOHZe/v+JoOQwREakMPj4+3HDDDXz66afs3r2bli1b0qVLFwBWrFjBXXfdxfXXXw+YLST79++vkNdt3bo1M2bMICMjw1kLtGLFCqxWKy1btnQe17lzZzp37syECROIjY3ls88+45JLLgGgRYsWtGjRgkceeYTbbruNDz/80FnWyuD2TtBjx44ttslr2bJl5+yLjY11JsaizJo1q6KKVmm0IKqIiFSWYcOGMWjQILZs2cIdd9zh3N+8eXO+/vprrr32WiwWC88888w5I8bK85oTJ05kxIgRPPfccxw/fpwHH3yQO++8k/DwcPbt28f777/PddddR1RUFDt27GDXrl0MHz6crKwsHn/8cW688UYaN27M4cOHWbt2LUOHDq2QshXH7QGoJgo+3QSWrBogERGpYFdeeSW1atVix44d3H777c79r732GnfffTc9e/YkLCyMJ598ssIm/vXz8+P7779n3LhxdOvWDT8/P4YOHcprr73mfH779u189NFHJCUlERkZyZgxY/jHP/5Bfn4+SUlJDB8+nISEBMLCwrjhhht4/vnnK6RsxbEYRikmGaghUlNTCQ4OJiUlhaCgoAq//tcbDjP+iz/o0zyMj+/pUeHXFxGRssvOzmbfvn00btwYHx8f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jOeff54+ffrw119/Vfq9VgASkTIbM2YMf/31V6E2e6l4LVu2ZNOmTaSkpDBnzhxGjBjB8uXL3V2si9KhQ4cYN24cP/74Iz4+Pu4uzkVv4MCBzu0OHTrQo0cPGjZsyBdffIGvr2+lvraawFwgLCwMm812Ts/1hIQEIiIi3FSqmqHg/ureV7yxY8fy3XffsXTpUurXr+/cHxERQW5uLsnJyYWO1z0vOy8vL5o1a0ZMTAyTJk2iY8eOvPnmm7rXlWD9+vUkJibSpUsXPDw88PDwYPny5bz11lt4eHgQHh6ue16JQkJCaNGiBbt37670f98KQC7g5eVFTEwMS5Ysce5zOBwsWbKE2NhYN5bs4te4cWMiIiIK3fvU1FRWr16te19GhmEwduxY5s6dy88//0zjxo0LPR8TE4Onp2ehe75jxw4OHjyoe15BHA4HOTk5uteVoG/fvmzevJlNmzY5H127dmXYsGHObd3zypOens6ePXuIjIys/H/f5e5GLSUya9Ysw9vb25gxY4axdetW47777jNCQkKM+Ph4dxet2ktLSzM2btxobNy40QCM1157zdi4caNx4MABwzAM48UXXzRCQkKMb775xvjzzz+NwYMHG40bNzaysrLcXPLqafTo0UZwcLCxbNky49ixY85HZmam85j777/faNCggfHzzz8b69atM2JjY43Y2Fg3lrr6euqpp4zly5cb+/btM/7880/jqaeeMiwWi/HDDz8YhqF77QpnjwIzDN3zivToo48ay5YtM/bt22esWLHCiIuLM8LCwozExETDMCr3XisAudDbb79tNGjQwPDy8jK6d+9urFq1yt1FuigsXbrUAM55jBgxwjAMcyj8M888Y4SHhxve3t5G3759jR07dri30NVYUfcaMD788EPnMVlZWcYDDzxghIaGGn5+fsb1119vHDt2zH2Frsbuvvtuo2HDhoaXl5dRp04do2/fvs7wYxi6167w9wCke15xbrnlFiMyMtLw8vIy6tWrZ9xyyy3G7t27nc9X5r22GIZhlL8eSURERKT6UB8gERERqXEUgERERKTGUQASERGRGkcBSERERGocBSARERGpcRSAREREpMZRABIREZEaRwFIREREahwFIBGRYlgsFubNm+fuYohIJVAAEpEq6a677sJisZzzGDBggLuLJiIXAQ93F0BEpDgDBgzgww8/LLTP29vbTaURkYuJaoBEpMry9vYmIiKi0CM0NBQwm6emTJnCwIED8fX1pUmTJsyZM6fQ+Zs3b+bKK6/E19eX2rVrc99995Genl7omOnTp9O2bVu8vb2JjIxk7NixhZ4/ceIE119/PX5+fjRv3pz58+c7nzt16hTDhg2jTp06+Pr60rx583MCm4hUTQpAIlJtPfPMMwwdOpQ//viDYcOGceutt7Jt2zYAMjIy6N+/P6Ghoaxdu5Yvv/ySn376qVDAmTJlCmPGjOG+++5j8+bNzJ8/n2bNmhV6jeeff56bb76ZP//8k6uvvpphw4Zx8uRJ5+tv3bqVRYsWsW3bNqZMmUJYWJjrboCIlF2FrCkvIlLBRowYYdhsNsPf37/Q4z//+Y9hGIYBGPfff3+hc3r06GGMHj3aMAzDeP/9943Q0FAjPT3d+fyCBQsMq9VqxMfHG4ZhGFFRUcb/+3//r9gyAMbTTz/t/D49Pd0AjEWLFhmGYRjXXnutMXLkyIp5wyLiUuoDJCJV1hVXXMGUKVMK7atVq5ZzOzY2ttBzsbGxbNq0CYBt27bRsWNH/P39nc/36tULh8PBjh07sFgsHD16lL59+563DB06dHBu+/v7ExQURGJiIgCjR49m6NChbNiwgauuuoohQ4bQs2fPMr1XEXEtBSARqbL8/f3PaZKqKL6+viU6ztPTs9D3FosFh8MBwMCBAzlw4AALFy7kxx9/pG/fvowZM4ZXXnmlwssrIhVLfYBEpNpatWrVOd+3bt0agNatW/PHH3+QkZHhfH7FihVYrVZatmxJYGAgjRo1YsmSJeUqQ506dRgxYgSffPIJb7zxBu+//365ricirqEaIBGpsnJycoiPjy+0z8PDw9nR+Msvv6Rr16707t2bTz/9lDVr1vDBBx8AMGzYMCZOnMiIESN47rnnOH78OA8++CB33nkn4eHhADz33HPcf//91K1bl4EDB5KWlsaKFSt48MEHS1S+Z599lpiYGNq2bUtOTg7fffedM4CJSNWmACQiVdbixYuJjIwstK9ly5Zs374dMEdozZo1iwceeIDIyEg+//xz2rRpA4Cfnx/ff/8948aNo1u3bvj5+TF06FBee+0157VGjBhBdnY2r7/+Oo899hhhYWHceOONJS6fl5cXEyZMYP/+/fj6+tKnTx9mzZpVAe9cRCqbxTAMw92FEBEpLYvFwty5cxkyZIi7iyIi1ZD6AImIiEiNowAkIiIiNY76AIlItaTWexEpD9UAiYiISI2jACQiIiI1jgKQiIiI1DgKQCIiIlLjKACJiIhIjaMAJCIiIjWOApCIiIjUOApAIiIiUuP8f4yQ4Qfb6kD9AAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Plotting the accuracy and loss history\n", + "plot_graphs(history_lstm, 'f1_score')\n", + "plot_graphs(history_lstm, 'loss')" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "id": "1678570f", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "72/72 [==============================] - 1s 7ms/step\n", + "****** Test Data ********\n", + "F1: 0.7588046958377801\n", + " precision recall f1-score support\n", + "\n", + " 0 0.79 0.88 0.83 1275\n", + " 1 0.82 0.70 0.76 1009\n", + "\n", + " accuracy 0.80 2284\n", + " macro avg 0.81 0.79 0.80 2284\n", + "weighted avg 0.80 0.80 0.80 2284\n", + "\n", + "Confusion Matrix\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 51, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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6tSp6tOnjxITE/Xyyy/rlVdesc2pU6eOduzYob59+8rd3V033XTTFV/n119/VVpamvLy8pSSkqK33npLixcvVnx8vOrVq2d6zKhRo9StWzeFh4fr3Llz2rZtm21dU/369bVs2TL961//UlhYmN58803t27fPVtVKSUnRwoULdd999yk4OFjJycn6/vvv9eijj9piT0lJ0YEDB1SrVi35+PgoMjJSERER6tWrl2bMmKHw8HCdPHlS69ev1/3336/WrVubxonSsevL71X1tmFXHH973R69vW7PFcf/7PhLegya86dzgGuhfatwndv38hXHV8/98/fz79UOrubwfCifLlaiitPOK8FgyqEyf8TBH02ZMkWFhfaLbVu2bKmVK1fqnXfe0S233KKJEydqypQpdm2/KVOm6NixY7r55psdrhGSpIkTJyooKEj16tXTI488ooyMDH3yySd66qmnrnhMQUGBhg4dqkaNGqlr164KDw+3JXF///vf9cADD6hPnz5q06aNfvnlF7uqVJUqVfTtt98qOjpa4eHhGjhwoIYOHaq///3vkqTo6Gh17dpVHTt2VPXq1fX222/LYrFow4YN6tChgx577DGFh4erb9++On78uAICAor6bQUAoOgs/2vpObNV9EccWAzDMMo6CFw7mZmZ8vX1lXvTAbK48vA7VExUPFCRZWZmKqCarzIyMmS1WkvtNXx9fVV3xCq5ujtee+tIQc55/ZDwYKnGWpbKVTsPAACUH9yd5xhJFAAAMMXdeY6VuzVRAAAA1wMqUQAAwJSLi0UuLs6Xk4xiHHs9IIkCAACmaOc5RjsPAADACVSiAACAKe7Oc4wkCgAAmKKd5xhJFAAAMEUlyjHWRAEAADiBShQAADBFJcoxkigAAGCKNVGO0c4DAABwApUoAABgyqJitvNUsUtRJFEAAMAU7TzHaOcBAAA4gUoUAAAwxd15jpFEAQAAU7TzHKOdBwAA4ASSKAAAYOpSO684W1EUFBRowoQJCgsLk6enp26++WZNnTpVhmHY5hiGoYkTJyooKEienp6KjIzU999/b3ees2fPKiYmRlarVX5+furXr5+ysrJK5HvyeyRRAADA1KV2XnG2onj++ef16quv6uWXX1ZSUpKef/55zZgxQ3PnzrXNmTFjhhISEjR//nzt2bNHXl5eioqKUnZ2tm1OTEyMvvnmG23evFnr1q3Tjh07NHDgwJL6ttiwJgoAAJi61gvLd+/erZ49e+ree++VJNWpU0dvv/229u7dK+liFWr27Nl6+umn1bNnT0nSsmXLFBAQoLVr16pv375KSkrSpk2btG/fPrVu3VqSNHfuXN1zzz168cUXFRwc7PT1/BGVKAAAUKoyMzPttpycHNN5bdu21SeffKLvvvtOknTw4EHt3LlT3bp1kySlpKQoLS1NkZGRtmN8fX3Vpk0bJSYmSpISExPl5+dnS6AkKTIyUi4uLtqzZ0+JXheVKAAAYK6Yd+ddemB5SEiI3e5nnnlGkyZNumz6uHHjlJmZqYYNG8rV1VUFBQWaNm2aYmJiJElpaWmSpICAALvjAgICbGNpaWmqUaOG3XilSpXk7+9vm1NSSKIAAICpkmrnnThxQlar1bbf3d3ddP7KlSu1fPlyrVixQk2aNNGBAwc0atQoBQcHKzY21uk4SgtJFAAAKFVWq9UuibqSJ598UuPGjVPfvn0lSU2bNtXx48cVHx+v2NhYBQYGSpJOnz6toKAg23GnT59W8+bNJUmBgYE6c+aM3Xnz8/N19uxZ2/ElhTVRAADA1LW+O+/ChQtycbFPTVxdXVVYWChJCgsLU2BgoD755BPbeGZmpvbs2aOIiAhJUkREhNLT07V//37bnK1bt6qwsFBt2rRx8jthjkoUAAAwda3vzuvRo4emTZum2rVrq0mTJvrqq680a9Ys/e1vf7Odb9SoUXr22WdVv359hYWFacKECQoODlavXr0kSY0aNVLXrl01YMAAzZ8/X3l5eRo2bJj69u1bonfmSSRRAACgnJg7d64mTJigIUOG6MyZMwoODtbf//53TZw40TZn7NixOn/+vAYOHKj09HS1b99emzZtkoeHh23O8uXLNWzYMHXq1EkuLi6Kjo5WQkJCicdrMX7/GFBUeJmZmfL19ZV70wGyuLqVdThAqTi37+WyDgEoNZmZmQqo5quMjIyrWmfk7Gv4+vqqzdSNquTh5fR58rPPa8+EbqUaa1miEgUAAExd63be9YaF5QAAAE6gEgUAAExRiXKMJAoAAJhy5jEFfzy+IiOJAgAApqhEOcaaKAAAACdQiQIAAKZo5zlGEgUAAEzRznOMdh4AAIATqEQBAABTFhWznVdikZRPJFEAAMCUi8Uil2JkUcU59npAOw8AAMAJVKIAAIAp7s5zjCQKAACY4u48x0iiAACAKRfLxa04x1dkrIkCAABwApUoAABgzlLMllwFr0SRRAEAAFMsLHeMdh4AAIATqEQBAABTlv/+V5zjKzKSKAAAYIq78xyjnQcAAOAEKlEAAMAUD9t0jCQKAACY4u48x64qifrwww+v+oT33Xef08EAAABcL64qierVq9dVncxisaigoKA48QAAgHLCxWKRSzHKScU59npwVUlUYWFhaccBAADKGdp5jhVrTVR2drY8PDxKKhYAAFCOsLDcsSI/4qCgoEBTp05VzZo15e3trR9++EGSNGHCBL322mslHiAAAEB5VOQkatq0aVq6dKlmzJghNzc32/5bbrlFixcvLtHgAABA2bnUzivOVpEVOYlatmyZFi5cqJiYGLm6utr2N2vWTN9++22JBgcAAMrOpYXlxdkqsiInUT/99JPq1at32f7CwkLl5eWVSFAAAADlXZGTqMaNG+uzzz67bP+qVavUokWLEgkKAACUPUsJbBVZke/OmzhxomJjY/XTTz+psLBQa9asUXJyspYtW6Z169aVRowAAKAMcHeeY0WuRPXs2VMfffSRtmzZIi8vL02cOFFJSUn66KOP1Llz59KIEQAAoNxx6jlRd9xxhzZv3lzSsQAAgHLExXJxK87xFZnTD9v84osvlJSUJOniOqlWrVqVWFAAAKDs0c5zrMhJ1I8//qj/+7//065du+Tn5ydJSk9PV9u2bfXOO++oVq1aJR0jAABAuVPkNVH9+/dXXl6ekpKSdPbsWZ09e1ZJSUkqLCxU//79SyNGAABQRnjQ5pUVuRL16aefavfu3WrQoIFtX4MGDTR37lzdcccdJRocAAAoO7TzHCtyEhUSEmL6UM2CggIFBweXSFAAAKDssbDcsSK381544QUNHz5cX3zxhW3fF198oZEjR+rFF18s0eAAAADKq6uqRFWtWtWuJHf+/Hm1adNGlSpdPDw/P1+VKlXS3/72N/Xq1atUAgUAANcW7TzHriqJmj17dimHAQAAypvifnRLxU6hrjKJio2NLe04AAAAritOP2xTkrKzs5Wbm2u3z2q1FisgAABQPrhYLHIpRkuuOMdeD4q8sPz8+fMaNmyYatSoIS8vL1WtWtVuAwAAFUNxnhF1IzwrqshJ1NixY7V161a9+uqrcnd31+LFizV58mQFBwdr2bJlpREjAABAuVPk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Y+rYsaMkqWrVqrJYLIqLi5N08fM84+Pjbe/9Zs2aadWqVbZzXvp7tHHjRrVq1Uru7u7auXNn6X7jgKvEZ+fhuufq6qrp06froYce0ogRI0w/G3D//v3q3bu3Jk2apD59+mj37t0aMmSIqlWrpri4OK1Zs0bNmjXTwIEDNWDAAKfiGDlypKZOnaoPPvhAY8eOvWx86NChys3N1Y4dO+Tl5aXDhw/L29tb0sUfJLVq1dJ7772natWqaffu3Ro4cKCCgoLUu3dv5efnq1evXhowYIDefvtt5ebmau/evbJYLOrTp4++/vprbdq0SVu2bJH0v8/V+utf/ypPT09t3LhRvr6+WrBggTp16qTvvvtO/v7+kqQjR45o9erVWrNmjVxdXZ26dlw/7r77bjVr1kxr1qxR//797cYSEhL04YcfauXKlapdu7ZOnDihEydO2MZdXFyUkJCgsLAw/fDDDxoyZIjGjh2rV155RdKV3+MhISFavXq1oqOjlZycLKvVKk9PT0lSfHy83nrrLc2fP1/169fXjh079PDDD6t69eq68847ba89btw4vfjii6pbt66qVq16Db5TwJ8jiUKFcP/996t58+Z65pln9Nprr102PmvWLHXq1EkTJkyQJIWHh+vw4cN64YUXFBcXJ39/f7m6utoqTM7w9/dXjRo1dOzYMdPx1NRURUdHq2nTppKkunXr2sYqV66syZMn274OCwtTYmKiVq5cqd69eyszM1MZGRnq3r27br75ZklSo0aNbPO9vb1VqVIlu9h37typvXv36syZM7Z2zYsvvqi1a9dq1apVGjhwoKSL1Ydly5apevXqTl03rj8NGzbUv//978v2p6amqn79+mrfvr0sFotCQ0PtxkeNGmX7c506dfTss89q0KBBtiTK0Xv8UtJeo0YN+fn5SZJycnI0ffp0bdmyRREREbZjdu7cqQULFtglUVOmTFHnzp2Lf/FACaKdhwrj+eef1xtvvKGkpKTLxpKSktSuXTu7fe3atdP333+vgoKCEovBMIwrtgJHjBihZ599Vu3atdMzzzxz2Q+xefPmqVWrVqpevbq8vb21cOFCpaamSrr4AyguLk5RUVHq0aOH5syZo1OnTjmM5eDBg8rKylK1atXk7e1t21JSUnT06FHbvNDQUBKoG8yV3qdxcXE6cOCAGjRooBEjRujjjz+2G9+yZYs6deqkmjVrysfHR4888oh++eUXXbhwQdKfv8f/6MiRI7pw4YI6d+5s9x5dtmyZ3XtUklq3bl3MqwZKHkkUKowOHTooKipK48ePL5PX/+WXX/Tzzz8rLCzMdLx///764Ycf9Mgjj+jQoUNq3bq15s6dK0l65513NGbMGPXr108ff/yxDhw4oMcee8xuofeSJUuUmJiotm3b6t1331V4eLg+//zzK8aTlZWloKAgHThwwG5LTk7Wk08+aZvn5eVVQt8BXC+SkpJM36ctW7ZUSkqKpk6dqt9++029e/fWgw8+KEk6duyYunfvrltvvVWrV6/W/v37NW/ePEn/uyHB0XvczKX1VOvXr7d7jx4+fNhuXZTE+xTlE+08VCjPPfecmjdvrgYNGtjtb9SokXbt2mW3b9euXQoPD7etA3JzcytWVWrOnDlycXFRr169rjgnJCREgwYN0qBBgzR+/HgtWrRIw4cP165du9S2bVsNGTLENvePv4lLUosWLdSiRQuNHz9eERERWrFihW6//XbT2Fu2bKm0tDRVqlRJderUcfq6ULFs3bpVhw4d0ujRo03HrVar+vTpoz59+ujBBx9U165ddfbsWe3fv1+FhYWaOXOmXFwu/v69cuXKy46/0nvczc1Nkuzep40bN5a7u7tSU1PtWnfA9YIkChVK06ZNFRMTo4SEBLv9TzzxhG677TZNnTpVffr0UWJiol5++WXbWg7p4hqPHTt2qG/fvnJ3d9dNN910xdf59ddflZaWpry8PKWkpOitt97S4sWLFR8fr3r16pkeM2rUKHXr1k3h4eE6d+6ctm3bZlvXVL9+fS1btkz/+te/FBYWpjfffFP79u2zVQtSUlK0cOFC3XfffQoODlZycrK+//57Pfroo7bYU1JSdODAAdWqVUs+Pj6KjIxURESEevXqpRkzZig8PFwnT57U+vXrdf/999MeuQHk5OQoLS1NBQUFOn36tDZt2qT4+Hh1797d9t75vVmzZikoKEgtWrSQi4uL3nvvPQUGBsrPz0/16tVTXl6e5s6dqx49emjXrl2aP3++3fGO3uOhoaGyWCxat26d7rnnHnl6esrHx0djxozR6NGjVVhYqPbt2ysjI0O7du2S1WpVbGzsNfk+AU4zgOtYbGys0bNnT7t9KSkphpubm/HHt/eqVauMxo0bG5UrVzZq165tvPDCC3bjiYmJ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PXvqs88+U0pKirZv364RI0boxx9/lCSNHDlSzz33nNauXatvv/1WQ4YMcfiMpzp16ig2NlZ/+9vftHbtWts5V65cKUkKDQ2VxWLRunXr9PPPPysrK0s+Pj4aM2aMRo8erTfeeENHjx7Vl19+qblz59oWaw8aNEjff/+9nnzySSUnJ2vFihVaunRpka63fv36Sk1N1TvvvKOjR48qISHBdJG8h4eHYmNjdfDgQX322WcaMWKEevfurcDAQEnS5MmTFR8fr4SEBH333Xc6dOiQlixZolmzZhUpHgBliyQKgNOqVKmiHTt2qHbt2nrggQfUqFEj9evXT9nZ2bbK1BNPPKFHHnlEsbGxioiIkI+Pj+6//36H53311Vf14IMPasiQIWrYsKEGDBig8+fPS5Jq1qypyZMna9y4cQoICNCwYcMkSVOnTtWECRMUHx+vRo0aqWvXrlq/fr3CwsIkXVyntHr1aq1du1bNmjXT/PnzNX369CJd73333afRo0dr2LBhat68uXbv3q0JEyZcNq9evXp64IEHdM8996hLly669dZb7R5h0L9/fy1evFhLlixR06ZNdeedd2rp0qW2WAFcHyzGlVZ3AgAA4IqoRAEAADiBJAoAAMAJJFEAAABOIIkCAABwAkkUAACAE0iiAAAAnEASBQAA4ASSKAAAACeQRAEAADiBJAoAAMAJJFEAAABO+H9VI7K7Q/MFlAAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "y_pred_valid = tf.math.round(model_lstm.predict(testing_padded)).numpy().astype(int) \n", + "print(\"****** Test Data ********\")\n", + "print(f\"F1: {metrics.f1_score(y_test, y_pred_valid)}\")\n", + "# Printing performance details\n", + "print(metrics.classification_report(y_test, y_pred_valid))\n", + "\n", + "# Printing confusion matrix\n", + "print(\"Confusion Matrix\")\n", + "ConfusionMatrixDisplay.from_predictions(\n", + " y_test,\n", + " y_pred_valid,\n", + " display_labels=[\"Not Disaster\",\"Disaster\"],\n", + " cmap=plt.cm.Blues\n", + " )" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "id": "d2fdfef1", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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xcnNzRWcnJyEAwcOCIIgCDt27BD09PSE2NjYIrdv1qyZMHXqVHH54MGDQvv27QUrKyuhdu3aQufOnYUTJ04U2q8073lF2LZtm9C4cWPB0NBQaN68uVhyucCYMWOETp06qbQlJycLxsbGKu/ni7Zu3SrUr19fMDQ0FBwcHIRJkyYJycnJKttER0cLBgYGwsOHD4uNjeXIy66s5cirC16TnivPNamocuQV7cmTJ8Lw4cMFU1NTwdzcXBg3bpzw7NkzcX1kZGSh908QBCEwMFBwcXERFApFkcft1KlToVLwAITIyEhxm3feeafE6RWq898FVS1luS9JBKEcIzg1oE2bNvDx8cH3338PAFAqlahTpw4mT55cZHGIoUOHIiMjA7///rvY1q5dO7Rq1apUxSFSU1NhYWGBlJQUlcGmREB+94DIyEjUq1evyEG8VL0sX74ce/bswcGD2iknr4s+/fRTPH36VOXp1n+97O+I1+Civex94XVJd/CaVLLExEQ0adIEFy5cQL169Yrdjn8XpClluS9pvateQEAAxowZg9atW8PHxwdLly5Fenq62DVk9OjRkMvlCA4OBlC6LipERAAwceJEJCcn49mzZ1qtYqdL7OzsChXoIaLS4TWpZPfv38ePP/740qSJSFu0njgNHToUCQkJmDNnDmJjY+Hh4YEDBw6IBSCioqJUKse0a9cOmzdvxqxZs/DZZ5+hUaNG2L17d6XM4URE1Yu+vr7KIHMqv48//ljbIRBVW7wmlax169alKu9OpA1aT5wAYPLkyZg8eXKR644fP16obfDgwRg8eHAFR0VERERERJSPU74TERERERGVgIkTURG0XDOFqFrj30/F4PtK9Bz/HkgbmDgRvcDAwAAAkJGRoeVIiKqvgr+fgr8nKh9el4gK43WGtKFKjHEiqiqkUiksLS0RHx8PADAxMYFEItFyVETVgyAIyMjIQHx8PCwtLSGVVsJkhDUAr0tEz/E6Q9rExInoPxwcHABA/JBCRGVjaWkp/h2RZvC6RKSK1xnSBiZORP8hkUjg6OgIOzs75ObmajscomrFwMCA3wBXAF6XiJ7jdYa0hYkTUTGkUikvzERUpfC6RESkPSwOQUREREREVAImTkRERERERCVg4kRERERERFSCGjfGqWDCtNTUVC1HQkRU8xRcezl5pSrem4iItKMs96Ualzg9e/YM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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(10, 5))\n", + "\n", + "roc_display = RocCurveDisplay.from_predictions(y_test, y_pred_valid,ax=ax1)\n", + "pr_display = PrecisionRecallDisplay.from_predictions(y_test, y_pred_valid,ax=ax2)\n", + "roc_display.ax_.set_title(\"ROC curve\")\n", + "pr_display.ax_.set_title(\"Precision-Recall curve\")\n", + "\n", + "plt.show()\n", + "plt.close()" + ] + }, + { + "cell_type": "markdown", + "id": "cf7c04dd-89f9-478a-942d-78763d394c6e", + "metadata": {}, + "source": [ + "### Predicting Test Set Outcomes" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "id": "8a1bc32e-434f-4762-a692-9ff15c9cf73c", + "metadata": {}, + "outputs": [], + "source": [ + "#reading and pre-processing the test dataset \n", + "df_test=pd.read_csv(\"test.csv\")\n", + "sentences_test = df_test['text']\n", + "sentences_test=sentences_test.apply(remove_stopwords)\n", + "df_test_padded = seq_pad_and_trunc(sentences_test, tokenizer, padding, trunc_type, max_length)" + ] + }, + { + "cell_type": "code", + "execution_count": 54, + "id": "6a7caa10-91da-42de-adc3-17ffb2beb234", + "metadata": {}, + "outputs": [], + "source": [ + "# storing predictions in to a dataframe and writing to a csv file\n", + "#embedded_out=pd.DataFrame(columns=['id', 'target'])\n", + "#embedded_out['id']=df_test['id']\n", + "#embedded_out['target'] = tf.math.round(model_lstm.predict(df_test_padded)).numpy().astype(int) \n", + "#embedded_out.to_csv('submission.csv', index=False)\n", + "#print(\"Your submission was successfully saved!\")" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "id": "f3e32615", + "metadata": {}, + "outputs": [], + "source": [ + "tf.keras.backend.clear_session()\n", + "del model_lstm\n", + "del history_lstm" + ] + }, + { + "cell_type": "markdown", + "id": "86afbc37", + "metadata": {}, + "source": [ + "## Optimizing Hyperparameters for LSTM-CNN-GloVe Embeddings Model through Bayesian Tuning" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "id": "7033dd96", + "metadata": {}, + "outputs": [], + "source": [ + "#tf.keras.backend.clear_session()\n", + "#del tuner_lr_do \n", + "#del best_hps\n", + "#del tunned_model_lstm\n", + "#del final_model" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "id": "204a3f04", + "metadata": {}, + "outputs": [], + "source": [ + "def call():\n", + " es = tf.keras.callbacks.EarlyStopping(\n", + " monitor='val_loss', # metrics to monitor\n", + " min_delta=0,#min amoung to count as an improvement\n", + " patience=10, # how many epochs before stop\n", + " verbose=0,\n", + " mode='min', # we need to max f1\n", + " restore_best_weights=True)\n", + " \n", + " rp = tf.keras.callbacks.ReduceLROnPlateau(\n", + " monitor='val_loss',\n", + " factor=0.2,\n", + " patience=5,\n", + " verbose=0,\n", + " mode='min',\n", + " min_lr=1e-8)\n", + " \n", + " return es,rp\n", + "callbacks = call()" + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "id": "769524bc", + "metadata": {}, + "outputs": [], + "source": [ + "#adding callback to utilize tensorboard to observe search\n", + "tensorboard_callback=tf.keras.callbacks.TensorBoard(log_dir=\"tb_logs\")\n", + "#adding callback to clear keras backend after each training run\n", + "class ClearMemory(Callback):\n", + " def on_train_end(self, epoch, logs=None):\n", + " gc.collect()\n", + " tf.keras.backend.clear_session()" + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "id": "f59bdcc9", + "metadata": {}, + "outputs": [], + "source": [ + "def model_builder(hp):\n", + " hp_units1 = hp.Int('units1', min_value=50,max_value=200,step=50, default=200)\n", + " hp_units2 = hp.Int('units2', min_value=0,max_value=200,step=50, default=100)\n", + " hp_units3 = hp.Int('units3', min_value=0,max_value=200,step=50, default=200)\n", + " hp_units4 = hp.Int('units4', min_value=0,max_value=200,step=50, default=100)\n", + " hp_units5 = hp.Int('units5', min_value=0,max_value=200,step=50, default=50)\n", + " \n", + " hp_dropout1=hp.Float('drop_out1', min_value=0,max_value=0.5,step=0.05, default=0.2)\n", + " hp_dropout2=hp.Float('drop_out2', min_value=0,max_value=0.5,step=0.05, default=0.5)\n", + " hp_dropout3=hp.Float('drop_out3', min_value=0,max_value=0.5,step=0.05, default=0.2)\n", + " hp_dropout4=hp.Float('drop_out4', min_value=0,max_value=0.5,step=0.05, default=0.5)\n", + " hp_dropout5=hp.Float('drop_out5', min_value=0,max_value=0.5,step=0.05, default=0.2)\n", + " hp_dropout6=hp.Float('drop_out6', min_value=0,max_value=0.5,step=0.05, default=0.2)\n", + " hp_dropout7=hp.Float('drop_out7', min_value=0,max_value=0.5,step=0.05, default=0.2)\n", + " hp_dropout8=hp.Float('drop_out8', min_value=0,max_value=0.5,step=0.05, default=0.2)\n", + " \n", + " hp_regularizer1= hp.Choice('reg1',values=[1e-4, 1e-5, 1e-6])\n", + " hp_regularizer2= hp.Choice('reg2',values=[1e-4, 1e-5, 1e-6])\n", + " hp_regularizer3= hp.Choice('reg3',values=[1e-4, 1e-5, 1e-6])\n", + " \n", + " model = tf.keras.Sequential()\n", + " model.add(embedding_layer)\n", + " \n", + " model.add(tf.keras.layers.SpatialDropout1D(hp_dropout1))\n", + " \n", + " if (hp_units2 !=0) or (hp_units3 !=0):\n", + " model.add(tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(hp_units1,dropout=hp_dropout2,\n", + " kernel_initializer = 'orthogonal',\n", + " return_sequences=True)))\n", + " model.add(tf.keras.layers.Dropout(hp_dropout3))\n", + " else:\n", + " model.add(tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(hp_units1,dropout=hp_dropout2,\n", + " kernel_initializer = 'orthogonal')))\n", + " \n", + " if hp_units2 !=0:\n", + " if hp_units3 !=0:\n", + " model.add(tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(hp_units2, dropout=hp_dropout4,\n", + " kernel_initializer = 'orthogonal',\n", + " return_sequences=True)))\n", + " model.add(tf.keras.layers.Dropout(hp_dropout5))\n", + " else:\n", + " model.add(tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(hp_units2, dropout=hp_dropout4,\n", + " kernel_initializer = 'orthogonal')))\n", + " \n", + " if hp_units3 !=0:\n", + " model.add(tf.keras.layers.Conv1D(hp_units3, 5, activation=activation))\n", + " model.add(tf.keras.layers.GlobalMaxPool1D())\n", + " \n", + "\n", + " model.add(tf.keras.layers.Dropout(hp_dropout6))\n", + " \n", + " if hp_units4 !=0:\n", + " model.add(tf.keras.layers.Dense(hp_units4,kernel_initializer = 'he_normal',\n", + " kernel_regularizer = regularizers.l2(hp_regularizer1),\n", + " activation=activation))\n", + " model.add(tf.keras.layers.Dropout(hp_dropout7))\n", + " \n", + " if hp_units5 !=0:\n", + " model.add(tf.keras.layers.Dense(hp_units5,kernel_initializer = 'he_normal',\n", + " kernel_regularizer = regularizers.l2(hp_regularizer2),\n", + " activation=activation))\n", + " model.add(tf.keras.layers.Dropout(hp_dropout8))\n", + " \n", + " model.add(tf.keras.layers.Dense(1,kernel_regularizer = regularizers.l2(hp_regularizer3), \n", + " activation='sigmoid'))\n", + " \n", + " model.compile(loss='binary_crossentropy', \n", + " optimizer=tf.keras.optimizers.experimental.Nadam(learning_rate=5e-5),\n", + " metrics=[tfa.metrics.FBetaScore(name='f1_score',num_classes=1,\n", + " average='macro',threshold=0.5)])\n", + " return model" + ] + }, + { + "cell_type": "markdown", + "id": "239311ec", + "metadata": {}, + "source": [ + " Due to the limited GPU memory in my local environment, I'm unable to train models that require more than 3887 MiB, which is equivalent to 4075.81 MB of GPU memory. While not all layers of the network will be fully connected, the optimization method will necessitate the calculation of second-order momentum, which is more resource-intensive than simple SGD.\n", + "\n", + " The previous model, despite consuming approximately 600 MB of GPU memory during training, incorporated a significant amount of dropout. Consequently, I plan to decrease the batch size. This adjustment will allow me to experiment with larger and more densely connected models. Additionally, I aim to estimate the maximum parameters to avoid training models that could overwhelm the kernel during training." + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "id": "747035d0", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "GPU memory bottleneck in terms of # of params for gradient calculation for fully connected models\n", + "# of parameters, batch size 32: 995070\n", + "# of parameters, batch size 64: 497535\n", + "# of parameters, batch size 128: 248767\n" + ] + } + ], + "source": [ + "total_limit=4075.81*8000000\n", + "max_param_Bsize_32=int(total_limit/(padded.nbytes*8/(padded.shape[0]/32)))\n", + "max_param_Bsize_64=int(total_limit/(padded.nbytes*8/(padded.shape[0]/64)))\n", + "max_param_Bsize_128=int(total_limit/(padded.nbytes*8/(padded.shape[0]/128)))\n", + "print(\"GPU memory bottleneck in terms of # of params for gradient calculation for fully connected models\")\n", + "print(f\"# of parameters, batch size 32: {max_param_Bsize_32}\")\n", + "print(f\"# of parameters, batch size 64: {max_param_Bsize_64}\")\n", + "print(f\"# of parameters, batch size 128: {max_param_Bsize_128}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "id": "71bad5ce", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Reloading Tuner from my_dir/lr_do_to_kt/tuner0.json\n" + ] + } + ], + "source": [ + "tuner_lr_do = kt.BayesianOptimization(hypermodel=model_builder,\n", + " objective=kt.Objective('val_loss', direction='min'),\n", + " max_trials=100,\n", + " seed=seed0, \n", + " overwrite=False,#True,\n", + " directory='my_dir',\n", + " max_model_size=3815000, # skipping oversized models\n", + " max_consecutive_failed_trials=1, #not repeating failed trials\n", + " project_name='lr_do_to_kt')" + ] + }, + { + "cell_type": "code", + "execution_count": 62, + "id": "734203c5", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0119s vs `on_train_batch_end` time: 0.0161s). Check your callbacks.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0119s vs `on_train_batch_end` time: 0.0161s). Check your callbacks.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0125s vs `on_train_batch_end` time: 0.0238s). Check your callbacks.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0125s vs `on_train_batch_end` time: 0.0238s). Check your callbacks.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0045s vs `on_train_batch_end` time: 0.0060s). Check your callbacks.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0045s vs `on_train_batch_end` time: 0.0060s). Check your callbacks.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0126s vs `on_train_batch_end` time: 0.0230s). Check your callbacks.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0126s vs `on_train_batch_end` time: 0.0230s). Check your callbacks.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0059s vs `on_train_batch_end` time: 0.0065s). Check your callbacks.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0059s vs `on_train_batch_end` time: 0.0065s). Check your callbacks.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0154s vs `on_train_batch_end` time: 0.0207s). Check your callbacks.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0154s vs `on_train_batch_end` time: 0.0207s). Check your callbacks.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0071s vs `on_train_batch_end` time: 0.0152s). Check your callbacks.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0071s vs `on_train_batch_end` time: 0.0152s). Check your callbacks.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0128s vs `on_train_batch_end` time: 0.0244s). Check your callbacks.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0128s vs `on_train_batch_end` time: 0.0244s). Check your callbacks.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0165s vs `on_train_batch_end` time: 0.0235s). Check your callbacks.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0165s vs `on_train_batch_end` time: 0.0235s). Check your callbacks.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0139s vs `on_train_batch_end` time: 0.0232s). Check your callbacks.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0139s vs `on_train_batch_end` time: 0.0232s). Check your callbacks.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0065s vs `on_train_batch_end` time: 0.0070s). Check your callbacks.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0065s vs `on_train_batch_end` time: 0.0070s). Check your callbacks.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0149s vs `on_train_batch_end` time: 0.0243s). Check your callbacks.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0149s vs `on_train_batch_end` time: 0.0243s). Check your callbacks.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0140s vs `on_train_batch_end` time: 0.0239s). Check your callbacks.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0140s vs `on_train_batch_end` time: 0.0239s). Check your callbacks.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0062s vs `on_train_batch_end` time: 0.0120s). Check your callbacks.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0062s vs `on_train_batch_end` time: 0.0120s). Check your callbacks.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0151s vs `on_train_batch_end` time: 0.0237s). Check your callbacks.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0151s vs `on_train_batch_end` time: 0.0237s). Check your callbacks.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0080s vs `on_train_batch_end` time: 0.0154s). Check your callbacks.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0080s vs `on_train_batch_end` time: 0.0154s). Check your callbacks.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0055s vs `on_train_batch_end` time: 0.0093s). Check your callbacks.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0055s vs `on_train_batch_end` time: 0.0093s). Check your callbacks.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0088s vs `on_train_batch_end` time: 0.0111s). Check your callbacks.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0088s vs `on_train_batch_end` time: 0.0111s). Check your callbacks.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0083s vs `on_train_batch_end` time: 0.0119s). Check your callbacks.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0083s vs `on_train_batch_end` time: 0.0119s). Check your callbacks.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0153s vs `on_train_batch_end` time: 0.0242s). Check your callbacks.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0153s vs `on_train_batch_end` time: 0.0242s). Check your callbacks.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0087s vs `on_train_batch_end` time: 0.0137s). Check your callbacks.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0087s vs `on_train_batch_end` time: 0.0137s). Check your callbacks.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0046s vs `on_train_batch_end` time: 0.0061s). Check your callbacks.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0046s vs `on_train_batch_end` time: 0.0061s). Check your callbacks.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0168s vs `on_train_batch_end` time: 0.0247s). Check your callbacks.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0168s vs `on_train_batch_end` time: 0.0247s). Check your callbacks.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0171s vs `on_train_batch_end` time: 0.0239s). Check your callbacks.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0171s vs `on_train_batch_end` time: 0.0239s). Check your callbacks.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0053s vs `on_train_batch_end` time: 0.0073s). Check your callbacks.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0053s vs `on_train_batch_end` time: 0.0073s). Check your callbacks.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0130s vs `on_train_batch_end` time: 0.0227s). Check your callbacks.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0130s vs `on_train_batch_end` time: 0.0227s). Check your callbacks.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0124s vs `on_train_batch_end` time: 0.0146s). Check your callbacks.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0124s vs `on_train_batch_end` time: 0.0146s). Check your callbacks.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0140s vs `on_train_batch_end` time: 0.0256s). Check your callbacks.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0140s vs `on_train_batch_end` time: 0.0256s). Check your callbacks.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0133s vs `on_train_batch_end` time: 0.0247s). Check your callbacks.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0133s vs `on_train_batch_end` time: 0.0247s). Check your callbacks.\n" + ] + } + ], + "source": [ + "NUM_EPOCHS = 100\n", + "BATCH_SIZE = 64 #decreased to be able to fit larger models in to gpu memory \n", + "tuner_lr_do.search(padded, y_train, batch_size=BATCH_SIZE, epochs=NUM_EPOCHS, \n", + " callbacks=[callbacks,tensorboard_callback,ClearMemory()],verbose=0,\n", + " validation_data=(testing_padded, y_test))" + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "id": "5b17a83a", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "The hyperparameter search is complete.\n", + " The optimal drop-out1 is 0.0\n", + "\n", + " The optimal units1 is 50 \n", + "\n", + " The optimal drop-out2 is 0.35000000000000003 \n", + "\n", + " The optimal drop-out3 is 0.45 \n", + "\n", + " The optimal units2 is 200 \n", + "\n", + " The optimal drop-out4 is 0.45 \n", + "\n", + " The optimal drop-out5 is 0.0 \n", + "\n", + " The optimal units3 is 50 \n", + "\n", + " The optimal drop-out6 is 0.45 \n", + "\n", + " The optimal units4 is 0 \n", + "\n", + " The optimal drop-out7 is 0.45 \n", + "\n", + " The optimal units5 is 0 \n", + "\n", + " The optimal drop-out8 is 0.0 \n", + "\n", + " The optimal reg1 is 1e-06 \n", + "\n", + " The optimal reg2 is 1e-06\n", + "\n", + " The optimal reg3 is 1e-06\n", + "\n" + ] + } + ], + "source": [ + "best_hps=tuner_lr_do.get_best_hyperparameters(num_trials=1)[0]\n", + "\n", + "print(f\"\"\"\n", + "The hyperparameter search is complete.\\n The optimal drop-out1 is {best_hps.get('drop_out1')}\n", + "\\n The optimal units1 is {best_hps.get('units1')} \n", + "\\n The optimal drop-out2 is {best_hps.get('drop_out2')} \n", + "\\n The optimal drop-out3 is {best_hps.get('drop_out3')} \n", + "\\n The optimal units2 is {best_hps.get('units2')} \n", + "\\n The optimal drop-out4 is {best_hps.get('drop_out4')} \n", + "\\n The optimal drop-out5 is {best_hps.get('drop_out5')} \n", + "\\n The optimal units3 is {best_hps.get('units3')} \n", + "\\n The optimal drop-out6 is {best_hps.get('drop_out6')} \n", + "\\n The optimal units4 is {best_hps.get('units4')} \n", + "\\n The optimal drop-out7 is {best_hps.get('drop_out7')} \n", + "\\n The optimal units5 is {best_hps.get('units5')} \n", + "\\n The optimal drop-out8 is {best_hps.get('drop_out8')} \n", + "\\n The optimal reg1 is {best_hps.get('reg1')} \n", + "\\n The optimal reg2 is {best_hps.get('reg2')}\n", + "\\n The optimal reg3 is {best_hps.get('reg3')}\n", + "\"\"\")" + ] + }, + { + "cell_type": "code", + "execution_count": 64, + "id": "839684cf", + "metadata": {}, + "outputs": [], + "source": [ + "tf.keras.backend.clear_session()" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "id": "2fb353da", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Model: \"sequential\"\n", + "_________________________________________________________________\n", + " Layer (type) Output Shape Param # \n", + "=================================================================\n", + " embedding (Embedding) (None, 32, 200) 2436000 \n", + " \n", + " spatial_dropout1d (Spatial (None, 32, 200) 0 \n", + " Dropout1D) \n", + " \n", + " bidirectional (Bidirection (None, 32, 100) 100400 \n", + " al) \n", + " \n", + " dropout (Dropout) (None, 32, 100) 0 \n", + " \n", + " bidirectional_1 (Bidirecti (None, 32, 400) 481600 \n", + " onal) \n", + " \n", + " dropout_1 (Dropout) (None, 32, 400) 0 \n", + " \n", + " conv1d (Conv1D) (None, 28, 50) 100050 \n", + " \n", + " global_max_pooling1d (Glob (None, 50) 0 \n", + " alMaxPooling1D) \n", + " \n", + " dropout_2 (Dropout) (None, 50) 0 \n", + " \n", + " dense (Dense) (None, 1) 51 \n", + " \n", + "=================================================================\n", + "Total params: 3118101 (11.89 MB)\n", + "Trainable params: 682101 (2.60 MB)\n", + "Non-trainable params: 2436000 (9.29 MB)\n", + "_________________________________________________________________\n" + ] + } + ], + "source": [ + "tunned_model_lstm=tuner_lr_do.hypermodel.build(best_hps)\n", + "tunned_model_lstm.summary()" + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "id": "010cb696", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 1/100\n", + "84/84 [==============================] - 8s 35ms/step - loss: 0.6530 - f1_score: 0.3310 - val_loss: 0.6137 - val_f1_score: 0.6387 - lr: 5.0000e-05\n", + "Epoch 2/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.5744 - f1_score: 0.6521 - val_loss: 0.5188 - val_f1_score: 0.7236 - lr: 5.0000e-05\n", + "Epoch 3/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.5198 - f1_score: 0.7068 - val_loss: 0.4842 - val_f1_score: 0.7359 - lr: 5.0000e-05\n", + "Epoch 4/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.4983 - f1_score: 0.7145 - val_loss: 0.4689 - val_f1_score: 0.7438 - lr: 5.0000e-05\n", + "Epoch 5/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.4779 - f1_score: 0.7349 - val_loss: 0.4612 - val_f1_score: 0.7494 - lr: 5.0000e-05\n", + "Epoch 6/100\n", + "84/84 [==============================] - 2s 21ms/step - loss: 0.4731 - f1_score: 0.7362 - val_loss: 0.4612 - val_f1_score: 0.7612 - lr: 5.0000e-05\n", + "Epoch 7/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.4722 - f1_score: 0.7321 - val_loss: 0.4475 - val_f1_score: 0.7586 - lr: 5.0000e-05\n", + "Epoch 8/100\n", + "84/84 [==============================] - 2s 21ms/step - loss: 0.4679 - f1_score: 0.7373 - val_loss: 0.4446 - val_f1_score: 0.7563 - lr: 5.0000e-05\n", + "Epoch 9/100\n", + "84/84 [==============================] - 2s 23ms/step - loss: 0.4563 - f1_score: 0.7387 - val_loss: 0.4414 - val_f1_score: 0.7580 - lr: 5.0000e-05\n", + "Epoch 10/100\n", + "84/84 [==============================] - 2s 24ms/step - loss: 0.4512 - f1_score: 0.7369 - val_loss: 0.4504 - val_f1_score: 0.7632 - lr: 5.0000e-05\n", + "Epoch 11/100\n", + "84/84 [==============================] - 2s 23ms/step - loss: 0.4517 - f1_score: 0.7429 - val_loss: 0.4389 - val_f1_score: 0.7635 - lr: 5.0000e-05\n", + "Epoch 12/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.4454 - f1_score: 0.7493 - val_loss: 0.4356 - val_f1_score: 0.7665 - lr: 5.0000e-05\n", + "Epoch 13/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.4416 - f1_score: 0.7471 - val_loss: 0.4346 - val_f1_score: 0.7619 - lr: 5.0000e-05\n", + "Epoch 14/100\n", + "84/84 [==============================] - 2s 23ms/step - loss: 0.4440 - f1_score: 0.7524 - val_loss: 0.4323 - val_f1_score: 0.7652 - lr: 5.0000e-05\n", + "Epoch 15/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.4398 - f1_score: 0.7558 - val_loss: 0.4298 - val_f1_score: 0.7571 - lr: 5.0000e-05\n", + "Epoch 16/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.4388 - f1_score: 0.7535 - val_loss: 0.4293 - val_f1_score: 0.7662 - lr: 5.0000e-05\n", + "Epoch 17/100\n", + "84/84 [==============================] - 2s 23ms/step - loss: 0.4343 - f1_score: 0.7583 - val_loss: 0.4286 - val_f1_score: 0.7576 - lr: 5.0000e-05\n", + "Epoch 18/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.4341 - f1_score: 0.7572 - val_loss: 0.4265 - val_f1_score: 0.7620 - lr: 5.0000e-05\n", + "Epoch 19/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.4291 - f1_score: 0.7605 - val_loss: 0.4251 - val_f1_score: 0.7605 - lr: 5.0000e-05\n", + "Epoch 20/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.4290 - f1_score: 0.7587 - val_loss: 0.4247 - val_f1_score: 0.7621 - lr: 5.0000e-05\n", + "Epoch 21/100\n", + "84/84 [==============================] - 2s 21ms/step - loss: 0.4272 - f1_score: 0.7625 - val_loss: 0.4256 - val_f1_score: 0.7605 - lr: 5.0000e-05\n", + "Epoch 22/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.4265 - f1_score: 0.7651 - val_loss: 0.4252 - val_f1_score: 0.7627 - lr: 5.0000e-05\n", + "Epoch 23/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.4225 - f1_score: 0.7625 - val_loss: 0.4227 - val_f1_score: 0.7564 - lr: 5.0000e-05\n", + "Epoch 24/100\n", + "84/84 [==============================] - 2s 23ms/step - loss: 0.4272 - f1_score: 0.7633 - val_loss: 0.4307 - val_f1_score: 0.7630 - lr: 5.0000e-05\n", + "Epoch 25/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.4256 - f1_score: 0.7632 - val_loss: 0.4215 - val_f1_score: 0.7575 - lr: 5.0000e-05\n", + "Epoch 26/100\n", + "84/84 [==============================] - 2s 21ms/step - loss: 0.4287 - f1_score: 0.7602 - val_loss: 0.4296 - val_f1_score: 0.7619 - lr: 5.0000e-05\n", + "Epoch 27/100\n", + "84/84 [==============================] - 2s 20ms/step - loss: 0.4241 - f1_score: 0.7649 - val_loss: 0.4222 - val_f1_score: 0.7593 - lr: 5.0000e-05\n", + "Epoch 28/100\n", + "84/84 [==============================] - 2s 23ms/step - loss: 0.4164 - f1_score: 0.7643 - val_loss: 0.4214 - val_f1_score: 0.7554 - lr: 5.0000e-05\n", + "Epoch 29/100\n", + "84/84 [==============================] - 2s 24ms/step - loss: 0.4148 - f1_score: 0.7686 - val_loss: 0.4212 - val_f1_score: 0.7616 - lr: 5.0000e-05\n", + "Epoch 30/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.4173 - f1_score: 0.7653 - val_loss: 0.4189 - val_f1_score: 0.7614 - lr: 5.0000e-05\n", + "Epoch 31/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.4170 - f1_score: 0.7627 - val_loss: 0.4177 - val_f1_score: 0.7557 - lr: 5.0000e-05\n", + "Epoch 32/100\n", + "84/84 [==============================] - 2s 23ms/step - loss: 0.4125 - f1_score: 0.7636 - val_loss: 0.4188 - val_f1_score: 0.7607 - lr: 5.0000e-05\n", + "Epoch 33/100\n", + "84/84 [==============================] - 2s 21ms/step - loss: 0.4183 - f1_score: 0.7682 - val_loss: 0.4201 - val_f1_score: 0.7616 - lr: 5.0000e-05\n", + "Epoch 34/100\n", + "84/84 [==============================] - 2s 19ms/step - loss: 0.4102 - f1_score: 0.7701 - val_loss: 0.4205 - val_f1_score: 0.7633 - lr: 5.0000e-05\n", + "Epoch 35/100\n", + "84/84 [==============================] - 2s 23ms/step - loss: 0.4156 - f1_score: 0.7691 - val_loss: 0.4218 - val_f1_score: 0.7616 - lr: 5.0000e-05\n", + "Epoch 36/100\n", + "84/84 [==============================] - 2s 23ms/step - loss: 0.4134 - f1_score: 0.7671 - val_loss: 0.4185 - val_f1_score: 0.7592 - lr: 5.0000e-05\n", + "Epoch 37/100\n", + "84/84 [==============================] - 2s 24ms/step - loss: 0.4119 - f1_score: 0.7679 - val_loss: 0.4196 - val_f1_score: 0.7616 - lr: 1.0000e-05\n", + "Epoch 38/100\n", + "84/84 [==============================] - 2s 23ms/step - loss: 0.4106 - f1_score: 0.7733 - val_loss: 0.4189 - val_f1_score: 0.7590 - lr: 1.0000e-05\n", + "Epoch 39/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.4100 - f1_score: 0.7745 - val_loss: 0.4195 - val_f1_score: 0.7629 - lr: 1.0000e-05\n", + "Epoch 40/100\n", + "84/84 [==============================] - 2s 23ms/step - loss: 0.4057 - f1_score: 0.7718 - val_loss: 0.4185 - val_f1_score: 0.7607 - lr: 1.0000e-05\n", + "Epoch 41/100\n", + "84/84 [==============================] - 2s 22ms/step - loss: 0.4038 - f1_score: 0.7760 - val_loss: 0.4191 - val_f1_score: 0.7613 - lr: 1.0000e-05\n" + ] + } + ], + "source": [ + "final_model=tunned_model_lstm.fit(padded, y_train, batch_size=BATCH_SIZE, epochs=NUM_EPOCHS, \n", + " callbacks=[callbacks],\n", + " validation_data=(testing_padded, y_test))" + ] + }, + { + "cell_type": "markdown", + "id": "402422df", + "metadata": {}, + "source": [ + "### Assessing Model Performance" + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "id": "4d38a672", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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8MMPM2rUKLp160ZWVhbLli2jZ8+eAEyfPp24uDh69+5NcXExn3/+ufO15sRlLUDe3t7ExcWxdOlS5zGHw8HSpUtJSEio9D1Dhw5lz549OBwO57Fdu3YRExNT5a69eXl57N27l5iYmPq9gVoqHwekFiAREWko8+fPJy4ujmuuuYaEhAQMw+DLL790TiCy2+1MmTKFnj17MnLkSLp168Y///lPwPz7PG3aNPr27csll1yCh4cHCxYscOXtNAiXzgKbOnUqEyZMYODAgQwePJhZs2aRn5/vnBU2fvx42rRpw4wZMwBzYNarr77KQw89xAMPPMDu3bt54YUXePDBB53XfPTRR7n22mtp3749hw8f5umnn8bDw4Nbb73VJfd4pvKp8EfUAiQiIvVo+fLlzuehoaG8/fbbVZ5bPt6nMk8++SRPPvlkfZbmllwagMaOHcvRo0eZPn06aWlp9O/fnyVLljgHRqekpGC1nmqkio2N5euvv+aRRx6hb9++tGnThoceeojHH3/cec7Bgwe59dZbOXbsGBEREQwbNozVq1cTERHR6PdXmfLFENPVAiQiIuIyLl8h8P777+f++++v9LXT02y5hIQEVq9eXeX13L2ZztkFphYgERERl2lSs8CaA2cLUI6mwYuIiLiKAlAjK28BOpJdWOs9XkRERKRuFIAaWXkLUFGpg5zCMhdXIyIi0jIpADUyHy8Pgn3NaYgaByQiIuIaCkAuoE1RRUREXEsByAWinIshFrq4EhERkZZJAcgFTq0GrZlgIiIirqAA5AJR6gITERE31KFDB2bNmlWtcy0WC4sXL27QehqSApALxDjXAlIAEhERcQUFIBfQhqgiIiKupQDkAlHaDkNEpOkwDCjJd82jBgvmvvHGG7Ru3RqHw1Hh+OjRo7nrrrvYu3cvo0ePJioqioCAAAYNGsR3331Xb/9MW7du5YorrsDX15dWrVpx7733kpeX53x9+fLlDB48GH9/f0JCQhg6dCjJyckAbN68mcsvv5zAwECCgoKIi4vj559/rrfaKuPyvcBaovLFEI/nl1BcZsfm6eHiikREpEqlBfBCa9d89h8Og7d/tU69+eabeeCBB1i2bBnDhw8H4Pjx4yxZsoQvv/ySvLw8rr76av785z9js9l4++23ufbaa0lKSqJdu3Z1KjM/P58RI0aQkJDAunXryMjI4J577uH+++/nzTffpKysjOuvv55Jkybx/vvvU1JSwtq1a7FYLACMGzeOAQMG8Nprr+Hh4cGmTZvw8vKqU03nowDkAqF+Xnh7Wikpc5CRU0xsmJ+rSxIRkSYuNDSUUaNG8d577zkD0KJFiwgPD+fyyy/HarXSr18/5/l/+tOf+OSTT/jss8+q3JS8ut577z2Kiop4++238fc3A9urr77Ktddey0svvYSXlxfZ2dlcc801dO7cGYCePXs635+SksJjjz1Gjx49AOjatWud6qkOBSAXsFgsRAf5kHK8gLScIgUgERF35uVntsS46rNrYNy4cUyaNIl//vOf2Gw23n33XW655RasVit5eXk888wzfPHFFxw5coSysjIKCwtJSUmpc5k7duygX79+zvADMHToUBwOB0lJSVxyySXceeedjBgxgiuvvJLExER+/etfExMTA8DUqVO55557+M9//kNiYiI333yzMyg1FI0BcpFTm6JqHJCIiFuzWMxuKFc8TnYRVde1116LYRh88cUXpKam8sMPPzBu3DgAHn30UT755BNeeOEFfvjhBzZt2kSfPn0oKSlpiH+1s8yfP59Vq1YxZMgQFi5cSLdu3Vi9ejUAzzzzDNu2beNXv/oV//vf/+jVqxeffPJJg9ajAOQi5WsBpSsAiYhIPfHx8eHGG2/k3Xff5f3336d79+5ceOGFAKxcuZI777yTG264gT59+hAdHc2BAwfq5XN79uzJ5s2byc/Pdx5buXIlVquV7t27O48NGDCAadOm8dNPP3HBBRfw3nvvOV/r1q0bjzzyCN988w033ngj8+fPr5faqqIA5CLaD0xERBrCuHHj+OKLL5g3b56z9QfMcTUff/wxmzZtYvPmzdx2221nzRiry2f6+PgwYcIEfvnlF5YtW8YDDzzAHXfcQVRUFPv372fatGmsWrWK5ORkvvnmG3bv3k3Pnj0pLCzk/vvvZ/ny5SQnJ7Ny5UrWrVtXYYxQQ9AYIBfRVHgREWkIV1xxBWFhYSQlJXHbbbc5j8+cOZO77rqLIUOGEB4ezuOPP05OTk69fKafnx9ff/01Dz30EIMGDcLPz48xY8Ywc+ZM5+s7d+7krbfe4tixY8TExDBlyhR+85vfUFZWxrFjxxg/fjzp6emEh4dz44038uyzz9ZLbVWxGEYNFhloIXJycggODiY7O5ugoKAG+YwvthxhynsbiGsfykeThzTIZ4iISM0VFRWxf/9+OnbsiI+Pj6vLkTOc6/upyd9vdYG5SHSwDdBq0CIiIq6gAOQi0cG+AGTkFuFwqBFORETcx7vvvktAQEClj969e7u6vHqhMUAuEhlow2KBUrvB8YISwgNsri5JREQEgOuuu474+PhKX2voFZobiwKQi3h5WGnlbyMzr5i07CIFIBERN9OSh8gGBgYSGBjo6jIqVV/fi7rAXEjjgERE3I+Hh7k/Y2MtECg1U1BQANS9JUotQC4UHeTLL4dyNBVeRMSNeHp64ufnx9GjR/Hy8sJqVVuBOzAMg4KCAjIyMggJCXEG1dpSAHKh8hagdAUgERG3YbFYiImJYf/+/SQnJ7u6HDlDSEgI0dHRdb6OApALle8Hpi4wERH34u3tTdeuXdUN5ma8vLzq3PJTTgHIhbQatIiI+7JarVoIsRlTx6YLRQerBUhERMQVFIBcSBuiioiIuIYCkAuVd4HlFpWRX1zm4mpERERaDgUgFwr08cLf2xzMpVYgERGRxqMA5GJRJ7vB0jUOSEREpNEoALmYxgGJiIg0PgUgF9NUeBERkcanAORiWgxRRESk8SkAuZjWAhIREWl8CkAuVt4CpP3AREREGo8CkItFaxC0iIhIo1MAcrHyFqCjucWU2R0urkZERKRlUABqTA475B2F/EznoVYBNjysFhwGHM0rdmFxIiIiLYcCUGNaPgP+2gWWv+g85GG1EBVoAzQQWkREpLEoADUm/wjzZ/7RCoedq0FrHJCIiEijUABqTP7h5s8zApDWAhIREWlcCkCNyT/S/JmXUeFw+WrQR9QCJCIi0igUgBpTFV1gMdoQVUREpFEpADWmgJMtQEUnoKzEeVhrAYmIiDQuBaDG5BMCVk/zecGpqfBRztWgNQ1eRESkMSgANSarFfxODoQ+bRxQ+SDoI9mFGIbhispERERaFAWgxhZQPg7oVAtQeRdYUamDnMIyV1QlIiLSoigANTbnQOhTLUA+Xh6E+HkBGgckIiLSGBSAGlsVU+GdawEpAImIiDQ4BaDGVsViiFHOxRALG7siERGRFkcBqLGVT4WvYi2gtGzNBBMREWloCkCNzb/yABSlLjAREZFGowDU2MoHQeedsR+YNkQVERFpNApAjS2g8u0wtCGqiIhI43F5AJo9ezYdOnTAx8eH+Ph41q5de87zT5w4wZQpU4iJicFms9GtWze+/PLLOl2zUZ2+H5jD4TysLjAREZHG49IAtHDhQqZOncrTTz/Nhg0b6NevHyNGjCAjI6PS80tKSrjyyis5cOAAixYtIikpiblz59KmTZtaX7PRla8EbdjNPcFOKh8EfTy/hOIyuwsKExERaTlcGoBmzpzJpEmTmDhxIr169WLOnDn4+fkxb968Ss+fN28ex48fZ/HixQwdOpQOHTpw6aWX0q9fv1pfE6C4uJicnJwKjwbj6W3uCQYV1gIK8fPC29P8OjK0J5iIiEiDclkAKikpYf369SQmJp4qxmolMTGRVatWVfqezz77jISEBKZMmUJUVBQXXHABL7zwAna7vdbXBJgxYwbBwcHOR2xsbD3dZRWcU+FPBSCLxaLFEEVERBqJywJQZmYmdrudqKioCsejoqJIS0ur9D379u1j0aJF2O12vvzyS5566in+9re/8fzzz9f6mgDTpk0jOzvb+UhNTa3j3Z2H/7kHQh/RQGgREZEG5enqAmrC4XAQGRnJG2+8gYeHB3FxcRw6dIi//OUvPP3007W+rs1mw2az1WOl53G+qfAKQCIiIg3KZQEoPDwcDw8P0tPTKxxPT08nOjq60vfExMTg5eWFh4eH81jPnj1JS0ujpKSkVtd0iSpWgy4PQOoCExERaVgu6wLz9vYmLi6OpUuXOo85HA6WLl1KQkJCpe8ZOnQoe/bswXHa9PFdu3YRExODt7d3ra7pEpXsCA+aCi8iItJYXDoLbOrUqcydO5e33nqLHTt2MHnyZPLz85k4cSIA48ePZ9q0ac7zJ0+ezPHjx3nooYfYtWsXX3zxBS+88AJTpkyp9jXdgjMAZVY4rMUQRUREGodLxwCNHTuWo0ePMn36dNLS0ujfvz9LlixxDmJOSUnBaj2V0WJjY/n666955JFH6Nu3L23atOGhhx7i8ccfr/Y13YJzDFDFFiBnF5gCkIiISIOyGIZhuLoId5OTk0NwcDDZ2dkEBQXV/wekroV/Xwkh7eHhLc7Dh04UMvTF/+HlYSHpT6OwWi31/9kiIiLNVE3+frt8K4wWyf/katBnDIKODLRhsUCp3eB4QYkLChMREWkZFIBcwf/kLLDSAijOcx728rDSyt+cjq9uMBERkYajAOQK3v7g6Ws+P6MVKEbjgERERBqcApArWCwQUPlq0JoKLyIi0vAUgFzFv6rFEM0usHQFIBERkQajAOQqVU2F11pAIiIiDU4ByFUCqlgMMdgcG6QuMBERkYajAOQqVWyHoRYgERGRhqcA5CrnGQOkFiAREZGGowDkKuWLIeZVPgsst6iM/OKyxq5KRESkRVAAcpWA8hagil1ggT5eBNjMLdrUCiQiItIwFIBcpYouMICooJNT4TUOSEREpEEoALlK+SDowiywl1Z4ybkrvFqAREREGoQCkKv4hoLFw3x+xlR4rQYtIiLSsBSAXMVqPW1X+IrjgLQfmIiISMNSAHKlqqbCay0gERGRBqUA5ErnmQqv/cBEREQahgKQK1UxFV6DoEVERBqWApArObfDqLwL7GhuMWV2R2NXJSIi0uwpALmSc0f4igGoVYANT6sFhwFH84pdUJiIiEjzpgDkSgGVD4L2sFqIDDy5J5gGQouIiNQ7BSBXqmJHeICoYA2EFhERaSgKQK7kDECZZ72kqfAiIiINRwHIlU4fBO2oONi5fCbYEbUAiYiI1DsFIFcqD0COMig6UeGl8hYgbYgqIiJS/xSAXMnTG3yCzednToXXWkAiIiINRgHI1cq3w8irOBA6SmOAREREGowCkKtVMRW+XZgfAAezCinVYogiIiL1SgHI1Zw7wp+9GrSvlwdlDoPU4wUuKExERKT5UgBytSp2hLdaLXQM9wdg39H8xq5KRESkWVMAcjXndhhnL4bYKeJkAMrMa8yKREREmj0FIFcLqHoxxE4RAYBagEREROqbApCrnWM7jM4nW4D2HlULkIiISH1SAHK1KsYAAXQKVwuQiIhIQ1AAcrXyWWB5lQSgky1Ax/JLyC4obcyqREREmjUFIFcrXweoNB9KKrb0+Ns8nVti7NVAaBERkXqjAORq3gHg6Ws+r6wbLEJT4UVEROqbApCrWSynTYU/VwBSC5CIiEh9UQByB86p8FUPhNZMMBERkfqjAOQOzjEVXl1gIiIi9U8ByB34V90C1PnkYojJxwqwO4zGrEpERKTZUgByB+cYA9QmxBebp5USu4ODWdoUVUREpD4oALmDgKoXQ9SmqCIiIvVPAcgdnKMLDE6NA9JAaBERkfqhAOQOzrEjPJy2JUamWoBERETqgwKQOzhHFxic1gKUoRYgERGR+qAA5A7KW4AKj4P97D2/OkWoBUhERKQ+KQC5A98wsJz8KgqOnfVyeQvQ0dxicou0KaqIiEhdKQC5A6sV/Mp3hT97HFCQjxcRgTZAM8FERETqgwKQuzjfOKDyqfDaFV5ERKTOFIDchf/JFqAqB0KfHAekFiAREZE6UwByF/4nW4CqmArfWWsBiYiI1BsFIHdRzanwagESERGpOwUgd3GeLrDyTVH3Z+bj0KaoIiIidaIA5C78z90C1DbUD28PK8VlDg6dKGzEwkRERJofBSB3cZ7tMDysFtq38gO0IKKIiEhduUUAmj17Nh06dMDHx4f4+HjWrl1b5blvvvkmFoulwsPHx6fCOXfeeedZ54wcObKhb6NuAso3RM2s8pRT44A0EFpERKQuPF1dwMKFC5k6dSpz5swhPj6eWbNmMWLECJKSkoiMjKz0PUFBQSQlJTl/t1gsZ50zcuRI5s+f7/zdZrPVf/H16fQd4Q0DKrkncyp8umaCiYiI1JHLW4BmzpzJpEmTmDhxIr169WLOnDn4+fkxb968Kt9jsViIjo52PqKios46x2azVTgnNDS0IW+j7soDkKMUik5UeopzMUTNBBMREakTlwagkpIS1q9fT2JiovOY1WolMTGRVatWVfm+vLw82rdvT2xsLKNHj2bbtm1nnbN8+XIiIyPp3r07kydP5tixs/fYKldcXExOTk6FR6PztIEt2Hyep8UQRUREGpJLA1BmZiZ2u/2sFpyoqCjS0tIqfU/37t2ZN28en376Ke+88w4Oh4MhQ4Zw8OBB5zkjR47k7bffZunSpbz00kusWLGCUaNGYbfbK73mjBkzCA4Odj5iY2Pr7yZrwjkO6NyLIablFJFfXNZYVYmIiDQ7Lh8DVFMJCQkkJCQ4fx8yZAg9e/bk9ddf509/+hMAt9xyi/P1Pn360LdvXzp37szy5csZPnz4WdecNm0aU6dOdf6ek5PjmhDkHwnH9lQ5FT7Ez5tW/t4cyy9hf2Y+F7QJbuQCRUREmgeXtgCFh4fj4eFBenp6hePp6elER0dX6xpeXl4MGDCAPXv2VHlOp06dCA8Pr/Icm81GUFBQhYdLlC+GWEUXGJyaCaaB0CIiIrXn0gDk7e1NXFwcS5cudR5zOBwsXbq0QivPudjtdrZu3UpMTEyV5xw8eJBjx46d8xy3cJ7tMAA6hZvjgPZqHJCIiEituXwW2NSpU5k7dy5vvfUWO3bsYPLkyeTn5zNx4kQAxo8fz7Rp05znP/fcc3zzzTfs27ePDRs2cPvtt5OcnMw999wDmAOkH3vsMVavXs2BAwdYunQpo0ePpkuXLowYMcIl91ht/uceAwRaC0hERKQ+uHwM0NixYzl69CjTp08nLS2N/v37s2TJEufA6JSUFKzWUzktKyuLSZMmkZaWRmhoKHFxcfz000/06tULAA8PD7Zs2cJbb73FiRMnaN26NVdddRV/+tOfmtBaQOdaDFEzwUREROrKYhiGdtY8Q05ODsHBwWRnZzfueKDtn8EHd0DbwXDPt5Wesu9oHlf8bQW+Xh5se3YEVuvZCyaKiIi0RDX5++3yLjA5TTXGAMWG+eFptVBYaictp6iRChMREWleFIDcyenbYVTBy8NKu/JNUdUNJiIiUisKQO6kPACV5EFJQZWnlc8E25epgdAiIiK1oQDkTmyB4HlyZ/tztAKVrwi9N0MBSEREpDYUgNyJxVKtbjDnVPhMdYGJiIjUhgKQu6lGAOqsqfAiIiJ1ogDkbsoDUN65FkM0A9ChE4UUllS+wauIiIhUTQHI3QScvwUozN+bED8vAParG0xERKTGFIDcTTW6wAA6hZePA9JAaBERkZpSAHI3/udfDBFOdYPtzVALkIiISE0pALmb8tWgzzEGCE6fCaYWIBERkZpSAHI3/uHmz/N2gWkmmIiISG0pALmbanaBdYk82QJ0NA/tZysiIlIztQpAb731Fl988YXz99///veEhIQwZMgQkpOT6624Fql8EHTBcbCXVXlauzB/PKwW8kvsZOQWN1JxIiIizUOtAtALL7yAr68vAKtWrWL27Nm8/PLLhIeH88gjj9RrgS2OXxhYrIABBceqPM3b00psqPkd7D2qcUAiIiI1UasAlJqaSpcuXQBYvHgxY8aM4d5772XGjBn88MMP9Vpgi2P1AL9W5vP88w2EPjkTTOOAREREaqRWASggIIBjx8zWiW+++YYrr7wSAB8fHwoLC+uvupaqulPhw0+NAxIREZHq86zNm6688kruueceBgwYwK5du7j66qsB2LZtGx06dKjP+lqm8plgedVbC0gzwURERGqmVi1As2fPJiEhgaNHj/LRRx/RqpXZZbN+/XpuvfXWei2wRSpfC+g8XWCdtRaQiIhIrdSqBSgkJIRXX331rOPPPvtsnQsSarwa9MGsQopK7fh4eTR0ZSIiIs1CrVqAlixZwo8//uj8ffbs2fTv35/bbruNrKyseiuuxapmF1h4gDeBPp4YBiQfK2iEwkRERJqHWgWgxx57jJycHAC2bt3K7373O66++mr279/P1KlT67XAFimgei1AFovltHFA6gYTERGprlp1ge3fv59evXoB8NFHH3HNNdfwwgsvsGHDBueAaKkD547w5x4DBNA53J/NqSe0FpCIiEgN1KoFyNvbm4ICs8vlu+++46qrrgIgLCzM2TIkdeAMQJnnPdW5KapmgomIiFRbrVqAhg0bxtSpUxk6dChr165l4cKFAOzatYu2bdvWa4EtkjMAHQXDAIulylOdiyFmKgCJiIhUV61agF599VU8PT1ZtGgRr732Gm3atAHgq6++YuTIkfVaYItUHoDsJVCUfc5TO582BkibooqIiFRPrVqA2rVrx+eff37W8b///e91LkgALx+wBUNxttkK5BtS5antW/lhsUBuURmZeSVEBNoar04REZEmqlYBCMBut7N48WJ27NgBQO/evbnuuuvw8NBaNPXCP9wMQHkZEN61ytN8vDxoG+pL6vFC9h3NUwASERGphlp1ge3Zs4eePXsyfvx4Pv74Yz7++GNuv/12evfuzd69e+u7xpapmlPhATqFa1NUERGRmqhVAHrwwQfp3LkzqampbNiwgQ0bNpCSkkLHjh158MEH67vGlql8McTqBKAIbYoqIiJSE7XqAluxYgWrV68mLCzMeaxVq1a8+OKLDB06tN6Ka9GquR0GnLYpqmaCiYiIVEutWoBsNhu5ublnHc/Ly8Pb27vORQmnZoLlVWMxRLUAiYiI1EitAtA111zDvffey5o1azAMA8MwWL16Nffddx/XXXddfdfYMgWcthbQeZRPhU/NKqSkzNGQVYmIiDQLtQpAr7zyCp07dyYhIQEfHx98fHwYMmQIXbp0YdasWfVcYgvlX/0AFBloI9Dmid1h8Mvhc68bJCIiIrUcAxQSEsKnn37Knj17nNPge/bsSZcuXeq1uBatfAxQbtp5T7VYLAzvGcniTYf58OeDXNgutIGLExERadqqHYDOt8v7smXLnM9nzpxZ+4rEFN7N/HkiGfKPgX+rc54+dlA7Fm86zGebDvHkr3rib6v1Ek8iIiLNXrX/Sm7cuLFa51nOsW+V1IB/K4joAUd3Qsoq6HnNOU+/qFMYHVr5ceBYAV9sPcKvB8Y2UqEiIiJNT7UD0OktPNJI2g+pdgCyWCz8elAsLy9JYuG6VAUgERGRc6jVIGhpJO1PrqmUvLJap990YVs8rBbWJ2exO/3sZQpERETEpADkztolmD+PbIbi8weayCAfruhhDp5euC61ISsTERFp0hSA3FlwGwjtAIYDUtdU6y23DDK7vj7eeIjiMnsDFiciItJ0KQC5u3ZDzJ/JP1Xr9Eu7RRAVZON4fgnfbT//KtIiIiItkQKQu2tfswDk6WHl5jizFWjBupSGqkpERKRJUwByd+UB6NB6KC2s1lvKZ4D9uCeT1OMFDVWZiIhIk6UA5O7COkFANNhLzBBUDe1a+TG0SysMAz5cf7CBCxQREWl6FIDcncVS424wMFeGBvjw51TsDqMhKhMREWmyFICaAmcAqt56QABX9YoixM+LI9lFfL/7/BuqioiItCQKQE1B+YKIqWvBXlqtt/h4eXDDgDYALFyrNYFEREROpwDUFET0AN9QKC0wF0WsprEn1wT6bkc6R3OLG6o6ERGRJkcBqCmwWk9bD6j63WA9ooPoHxtCmcPg4w0aDC0iIlJOAaipqMVAaDi1MvTCdakYhgZDi4iIgAJQ01EegFJWgcNR7bdd0681ft4e7MvMZ92BrAYqTkREpGlRAGoqovuCdwAUZUPG9mq/LcDmybV9WwNaGVpERKScAlBT4eEJsfHm8xp2g40dbHaDfbn1CNmF1ZtFJiIi0pwpADUltVgPCGBAbAjdogIoKnXw2ebDDVCYiIhI06IA1JScPhC6BgOaLRaLc2XoheoGExERUQBqUlpfCB42yM+AY3tr9NYbBrTB28PKL4dy+OVQdgMVKCIi0jS4RQCaPXs2HTp0wMfHh/j4eNauXVvluW+++SYWi6XCw8fHp8I5hmEwffp0YmJi8PX1JTExkd27dzf0bTQ8Lx9oO9B8XsNusDB/b67qHQWYU+JFRERaMpcHoIULFzJ16lSefvppNmzYQL9+/RgxYgQZGRlVvicoKIgjR444H8nJyRVef/nll3nllVeYM2cOa9aswd/fnxEjRlBUVNTQt9PwarkeEMAtJ7vBFm86RGGJvT6rEhERaVJcHoBmzpzJpEmTmDhxIr169WLOnDn4+fkxb968Kt9jsViIjo52PqKiopyvGYbBrFmzePLJJxk9ejR9+/bl7bff5vDhwyxevLjS6xUXF5OTk1Ph4bbqEICGdG5F21BfcovK+OqXI/VcmIiISNPh0gBUUlLC+vXrSUxMdB6zWq0kJiayatWqKt+Xl5dH+/btiY2NZfTo0Wzbts352v79+0lLS6twzeDgYOLj46u85owZMwgODnY+YmNj6+HuGkjbwWDxgOwUOFGzAc1Wq4WxA817W6BuMBERacFcGoAyMzOx2+0VWnAAoqKiSEtLq/Q93bt3Z968eXz66ae88847OBwOhgwZwsGD5l5X5e+ryTWnTZtGdna285Ga6sbhwBYArfubz5OrDolVuWlgW6wWWLv/OPuO5tVvbSIiIk2Ey7vAaiohIYHx48fTv39/Lr30Uj7++GMiIiJ4/fXXa31Nm81GUFBQhYdbq+V6QAAxwb5c1j0SgPfXakq8iIi0TC4NQOHh4Xh4eJCenl7heHp6OtHR0dW6hpeXFwMGDGDPnj0AzvfV5Zpur/1Q82ctxgEB3DbYHAy9aP1Biko1GFpERFoelwYgb29v4uLiWLp0qfOYw+Fg6dKlJCQkVOsadrudrVu3EhMTA0DHjh2Jjo6ucM2cnBzWrFlT7Wu6vXYXARY4thvyqp4tV5XLe0TSOtiHrIJSDYYWEZEWyeVdYFOnTmXu3Lm89dZb7Nixg8mTJ5Ofn8/EiRMBGD9+PNOmTXOe/9xzz/HNN9+wb98+NmzYwO23305ycjL33HMPYM4Qe/jhh3n++ef57LPP2Lp1K+PHj6d169Zcf/31rrjF+ucbClG9zee1aAXysFq49WQr0Lur1Q0mIiItj6erCxg7dixHjx5l+vTppKWl0b9/f5YsWeIcxJySkoLVeiqnZWVlMWnSJNLS0ggNDSUuLo6ffvqJXr16Oc/5/e9/T35+Pvfeey8nTpxg2LBhLFmy5KwFE5u09kMg/RdIWQW9r6/x28cOiuX/lu7m5+Qsdqbl0CPazcc9iYiI1COLYdRgU6kWIicnh+DgYLKzs913QPS2T+DDOyG6D9z3Y60u8dt31/Pl1jTuuKg9f7r+gvqtT0REpJHV5O+3y7vApJbanZwJlvYLFJ6o1SXGxbcH4JONh8gvLqunwkRERNyfAlBTFRgFYZ0BA1LX1OoSQzq3olO4P3nFZXy66XD91iciIuLGFICasjqsBwTmgPHb4s3B0O+sTka9oSIi0lIoADVldVwPCOCmuLZ4e1rZfiSHTakn6qcuERERN6cA1JSVtwAd3ggl+bW6RIifN9f0NddQekdT4kVEpIVQAGrKQtpBUFtwlMHBdbW+zO0XmYOhP99ymBMFJfVVnYiIiNtSAGrKLJbTxgHVvhtsQGwIPWOCKC5z8NGGQ/VUnIiIiPtSAGrq6iEAWSwWbr/o5MrQazQYWkREmj8FoKaufCD0wXVQVlzry4zu3wZ/bw/2Hc1n1b5j9VSciIiIe1IAaurCu4JfOJQVmYOhaynA5sn1A9oA2h9MRESaPwWgpq7COKDarQdUrnxl6K+3pZGRW1TXykRERNyWAlBzUA/rAQH0ah3Ehe1CKHMYfLAutR4KExERcU8KQM1BeQtQyhpw2Ot0qfIp8e+vTcXu0GBoERFpnhSAmoOo3uATAiW5sOO/dbrU1X1iCPHz4tCJQpYnZdRPfSIiIm5GAag5sHrA4HvN50ufA3tprS/l4+XBzXFtAXh3jQZDi4hI86QA1FwMfdCcDXZ8L6x/s06Xuu3kYOhlSRmkHi+oh+JERETciwJQc2ELhMueMJ+veAmKc2t9qY7h/gzrEo5hwIJ1agUSEZHmRwGoOYm7E8I6Qf5R+OnVOl1qXLy5MvTCdQcpKXPUQ3EiIiLuQwGoOfHwguHTzec//QNy02t9qcReUUQG2sjMK+ab7Wn1VKCIiIh7UABqbnpdD23ioDTf7AqrJS8PK7cMigW0MrSIiDQ/CkDNjcUCVz5nPl//JmTurvWlbhncDqsFVu07xp6MvPqpT0RExA0oADVHHYZBt5Fg2GHps7W+TOsQX67oEQXA9E9/0YwwERFpNhSAmqvEZ8BiNRdGTF1b68vcd2knPKwWftp7jOEzV/DSkp3kFtV+nSERERF3oADUXEX2hP63mc+/nQ5G7ba1GNghjM8fGMbQLq0oKXPw2vK9XP7X5SxYm6KtMkREpMlSAGrOLvsDePpCyipI+qrWl+kZE8Q7d8fzr/ED6RjuT2ZeCU98vJVr/vEjP+3NrMeCRUREGocCUHMW3AYummw+/+5psJfV+lIWi4XEXlF8/fAlPHVNL4J8PNlxJIfb5q7h3rd/5kBmfj0VLSIi0vAUgJq7YQ+Dbxhk7oJN79T5ct6eVu4e1pHlj13O+IT2eFgtfLM9nSv/voI/f7Gd7EKNDxIREfdnMYxaDg5pxnJycggODiY7O5ugoCBXl1N3q/4JX0+DgGh4cAN4+9fbpXen5/L8FztYsesoAGH+3tw8sC1tQ/1oHexDdLAPrYN9CfHzwmKx1NvnioiInKkmf78VgCrR7AJQWTG8OghOJMMVT8Ilj9X7RyxLyuDPX+yocr0gHy8rMcG+RAf5EBPiQ0ywDzHBvnSNDGBwxzCFIxERqTMFoDpqdgEIYOsi+Ohu8A6EhzaBf3i9f0Sp3cHijYfYeiibI9lFHMkuJC27iMy8knO+r2/bYB65shuXdYtQEBIRkVpTAKqjZhmAHA6Yezkc2QSDfwNXv9xoH11Uaicjp5jDJwNReTg6fKKIn/ZmUlBiB6B/bAhTr+zGxV3DFYRERKTGFIDqqFkGIIB9y+Ht0WD1gvvXmjvHu1hmXjFvfL+Pt1cdoKjU3HV+YPtQHrmyG0M6t1IQEhGRalMAqqNmG4AA3hkDe76D3jfCzfNdXY1TRm4Rr6/YxzurkykuM4PQ4I5hTL2yGxd1auXi6kREpClQAKqjZh2A0n6BOcMAA+5YDJ0vd3VFFWTkFPHP5Xt5b20KJSeDUEKnVky9qhuDOoS5uDoREXFnCkB11KwDEMCnU2DjO+DpAzfNhx5Xu7qisxzJLuSfy/ayYF0KpXbzP9GLu4bz4pi+tAnxdXF1IiLijmry91sLIbZEV/8Nuv8Kyopg4e2w6T1XV3SWmGBf/nT9BSx/7HJui2+Hp9XCD7szmfzOemfLkIiISG0pALVEXj7w67eh/zgw7LB4Mvz0qqurqlSbEF9euKEP3zxyCcG+Xmw5mM3Mb3e5uiwREWniFIBaKg9PGD0bhjxg/v7NH+G7Z2u9a3xD6xQRwEtj+gDw+vd7+WmPNmEVEZHaUwBqySwWuOp5SHzW/P3HmfDfh8Bhd21dVRh5QQy3Dm6HYcAjH2wiK//cCyyKiIhURQFIzA1Tr30FLFbY8BZ8eKe5fYYbeuqannSK8Cc9p5jHP9qCxvCLiEhtKACJKW4C3PwWeHjDjs/g3ZugONfVVZ3Fz9uTV24ZgJeHuQv9e2tTXF2SiIg0QQpAckqv62DcIvAOgP3fw1vXQr77jbW5oE0wj4/sAcCfPt/Ongz3C2oiIuLeFICkok6XwoT/gl8rOLwR5o2EE6muruosdw3tyMVdwykqdfDA+5soLnPPcUsiIuKetBBiJZr9QojVkbkb3r4ecg5CUBuImwhnbstV1X857ROgw7AGLtBcNXrk//3A8fwS7h7Wkaeu6dXgnykiIu5LK0HXkQLQSdkH4T83QmZSzd7n4Q2Tf4Lwrg1T12mW7kjn7rd+BuDNiYO4rHtkg3+miIi4JwWgOlIAOk3BcVj1avXHAh3aAOlbodNl5l5jjbCb+9Of/sJbq5IJD7Cx5OGLCQ+wNfhnioiI+1EAqiMFoDo4vg9mXwT2Yhjzb+hzU4N/ZFGpndGvriQpPZfLu0cw785BWBoheImIiHvRXmDiOmGd4OLfmc+//gMUZTf4R/p4efB/t/bH29PKsqSjvPXTgQb/TBERadoUgKT+DXsYwjpDXjose6FRPrJHdBB/vLonAC98tZOdaTmN8rkiItI0KQBJ/fO0wa/+aj5f+wYc2dwoHzs+oT1X9IikpMzBg+9vpKhUU+NFRKRyCkDSMDpfAb1vBMMBn08Fh6PBP9JisfDyTX0JD7CxKz2PB97fSEZuUYN/roiIND0KQNJwRrwA3oFw6GfY8GajfGR4gI2Zv+6Hh9XCt9vTGf7XFby5cj9l9oYPYCIi0nQoAEnDCYqBK/5oPv/uWcg72igfe0m3CD6aPIQ+bYLJLS7jmf9u59pXV7I++XijfL6IiLg/BSBpWIMmQXQfKDoB305vtI/tHxvC4ilDef76Cwj29WLHkRzGvLaKxz7cTGaee+50LyIijUcBSBqWhyf86u+ABTa/BwdWNt5HWy3cflF7/ve7Sxk7MBaAD9cf5Iq/Luc/qw5gd2gJLBGRlkoBSBpe7CCIm2A+/+J3YC9t1I9vFWDjpZv68vFvh9C7dRA5RWU89ek2Rs/+kY0pWY1ai4iIuAe3WAl69uzZ/OUvfyEtLY1+/frxj3/8g8GDB5/3fQsWLODWW29l9OjRLF682Hn8zjvv5K233qpw7ogRI1iyZEm16tFK0A2g4Di8OhAKjsGVz8HQh1xSht1h8N6aZP7ydRI5RWUA3DIololDO1JcZie3qIzcolJyisqczyv+LMPP24OpV3WjR7T+2xARcSdNaiuMhQsXMn78eObMmUN8fDyzZs3iww8/JCkpicjIqje2PHDgAMOGDaNTp06EhYWdFYDS09OZP3++85jNZiM0NLRaNSkANZCN78KnvwUvP5iyFkJiXVZKZl4xL361k0XrD9bq/T5eVv40+gJuHui6exARkYqaVACKj49n0KBBvPrqqwA4HA5iY2N54IEHeOKJJyp9j91u55JLLuGuu+7ihx9+4MSJE2cFoDOP1YQCUANxOODNqyFlFfS4Bm5519UVsTFpH9ZFEykrKeJx2x+x+gYT6ONFoI/naT89CTrt+ccbDvHDbnNz2Jvj2vLc6Avw9fZw8Z2IiEhN/n57NlJNlSopKWH9+vVMmzbNecxqtZKYmMiqVauqfN9zzz1HZGQkd999Nz/88EOl5yxfvpzIyEhCQ0O54ooreP7552nVqlWl5xYXF1NcfGpmUE6OtlFoEFYr/GomzBkGOz+HXV9DtxGuq6c4jwE/3Aulm8AC33X/DG6ce94d7Ef3a8PsZXv4+3e7+HD9QbYczGb2uAvpEhnQOHWLiEiduXQQdGZmJna7naioqArHo6KiSEtLq/Q9P/74I//+97+ZO3duldcdOXIkb7/9NkuXLuWll15ixYoVjBo1Cru98q0RZsyYQXBwsPMRG6tujQYT1QsSfms+//JRKClwTR1lxbDwdji4DnyCweIBWz+EzQvO+1ar1cIDw7vyzt3xhAfYSErP5bpXf+TTTYcaoXAREakPTWoWWG5uLnfccQdz584lPDy8yvNuueUWrrvuOvr06cP111/P559/zrp161i+fHml50+bNo3s7GznIzU1tYHuQAC49AkIagsnUuCHvzX+5zvs8NE9sG8ZePnD7R/DZSdbIb/4HRzbW63LDOkSzpcPDeOiTmEUlNh5aMEm/vjJVu1BJiLSBLg0AIWHh+Ph4UF6enqF4+np6URHR591/t69ezlw4ADXXnstnp6eeHp68vbbb/PZZ5/h6enJ3r2V/+Hq1KkT4eHh7Nmzp9LXbTYbQUFBFR7SgGwBMOpF8/nKWfDhnbDzC7NVpqEZBvz3IdjxGXh4m+OQ2g6Ei6dC+2FQmg+L7oKykmpdLjLQh3fvuYgHruiCxQLvrklhzGs/kXwsv4FvRERE6sKlAcjb25u4uDiWLl3qPOZwOFi6dCkJCQlnnd+jRw+2bt3Kpk2bnI/rrruOyy+/nE2bNlXZdXXw4EGOHTtGTExMg92L1FCPa6DvWHCUwbZPYMFt8Neu8On9sG+F2UpT3wwDvn0KNv4HLFYY82/ofLn5mtUDbnwDfEPhyCb433PVvqyH1cLvrurOmxMHE+bvzbbDOVzzyo98tfVI/d+DiIjUC5fPAlu4cCETJkzg9ddfZ/DgwcyaNYsPPviAnTt3EhUVxfjx42nTpg0zZsyo9P1nzvjKy8vj2WefZcyYMURHR7N3715+//vfk5uby9atW7HZbOetSbPAGolhmGFj6yL45SPIPS0wBERD7xugz83Q5sLzDkyulh/+BktPBpvrXoUL7zj7nB2fw8Jx5vPbP4Yuw2v0EUeyC3ngvY38nGwusHjnkA5Mu7oHNk/NEhMRaWg1+fvt8jFAY8eO5a9//SvTp0+nf//+bNq0iSVLljgHRqekpHDkSPX/P2kPDw+2bNnCddddR7du3bj77ruJi4vjhx9+qFb4kUZksUDrATDiz/DINpjwOVw4AXxCIC8N1rwG/7oCXhkA/3seMnbW/rPW/ftU+Lnqz5WHH4Ce18DAu83nn9wHeRk1+piYYF/ev/cifnNpJwDe/OkAw15axuxlezhRUL1uNRERaXgubwFyR2oBcrGyEti71GwZSvoSSk+bKRbTH/qPgz43gV9Y9a63dZE56BkDLn4Uhj917vNLC+GNy+HoDuiSCLd9aE7hr6Hvtqfz5OJfSMspAsDXy4Oxg2K5a2hH2rXyq/H1ytkdBr8cysYA+rUNxlIfrWMiIs1Ak1oI0R0pALmRknxI+sqcor7nO3PMEIDVC7qPMsNQl0Rz09XK7PoGFtxqvm/QPXD1X6vXnZa+HeZeDmVFMOIFSJhSu/LLHHy+5TBzf9jPjiPm+lJWC4y8IJpJF3diQLvqrU6emVfM97uOsmLXUb7fdZSsAnM/tf6xITyc2JVLu0UoCIlIi6cAVEcKQG4qP9Nszdn0LqRtOXXcPxL6/toMQ1G9Th1PXgX/uQHKCs2xRDe8UbOWnHX/MqfFW73gnu+gdf9al24YBiv3HOONH/bx/a6jzuODOoRyz8WdSOwZhYf1VIApszvYfPAEy5PM0LPlYHaF6wXaPCl1OCgqdQDQLzaEh4d35bLuCkIi0nIpANWRAlATkLYVNr0PWxZCQeap4+VdZJE9YMHtUJwNXUeY0909vGr2GYZhLpa483No1QXuXWFO4a+jnWk5/OuH/Xy66RCldvN/fh3D/blrWEd8PK0s33WUH3dnkl1YWuF9vVsHcWm3CC7rHsmAdiGcKCjlje/38p/VyaeCUNtgHkrsyuXdIxWERKTFUQCqIwWgJsReCru/NVuFdn0NjoqhgXZD4PaPwLuWY24KjsNrQyH3MPS/Ha6fXfeaT0rPKeKtnw7wzupk5870pwv29eLiruFc1j2SS7qGExnkU+l1juYWM/eHffxnVTKFJxdh7Ns2mAev6MrwngpCItJyKADVkQJQE5V/DH452UV2ZDPE9IMJ/zW3uqiLAz/Cm9cAhrl2UJ+b6qXccvnFZXzwcyoL16Vi87RyabcILu0eSb+2wXh6VL/LLjOvmLnf7+Pt04LQBW2CeGh4NxIVhESkBVAAqiMFoGbgRAoERIFnPS198L/n4fu/gC0I7vsBQjvUz3UbwLG8Yt442SJUUGIGoR7RgfSPDSE2zI+2ob60C/MjNsyPVv7eCkYi0mwoANWRApCcxV4G80fBwbXQdhDcugD8q96Pzh0czy9h7g/7eOunA84gdCY/bw9nIGobaoaidmF+JHRuRYCtipl1IiJuSgGojhSApFJZyTDnYnNgdfk0/AvHQ+crzK003NTx/BKWJ2WQcryAlOMFHDxeSGpWAWk5RVT1v/4wf29+e1lnbr+oPT5e7ntvIiKnUwCqIwUgqdKBH+GbJ+HwxlPHgtpA/9vM2WdhHV1XWw0Vl9k5lFVIalYhqccLzEdWAVsOZnMwqxCA1sE+PJzYjRsvbFOj8UgiIq6gAFRHCkByXmm/mJuqblkIhVmnjne8BAaMN7fU8PJ1XX11UGZ3sGj9Qf5v6W6OZJurWHeO8OfRq7oz8oJojRkSEbelAFRHCkBSbaVFkPQFbPgP7FsOnPyfk08w9Pk1DBgH0f1qtZWGqxWV2vnPqmT+uXyPc+Xpfm2DeWxED4Z1de/xTyLSMikA1ZECkNTKiRTY+K45DT879dRxD28IjoWQdhDaHkLan3zewXzuH14/u903kNyiUub+sJ9//bDPOZh6aJdW/H5ED/rFhri2OBGR0ygA1ZECkNSJw262Bm38D+z8EuzF5z7fy88MRCHtIaYvdLoM2g4GT+/GqLbaMvOKmb1sD++uTqHEbq48PbJ3NGPi2uLjZcXLw4q3pxXv0356nfG7zdOK1eq+YU9EmjYFoDpSAJJ6Yy8zV5HOSoYTyWYrUfnzrGTIPYKz2+x0Xv7QYSh0utwMRJE93aaV6GBWAbO+283HGw7iqOH/9Qjz9+aRxK7cFt++wt5nIiL1QQGojhSApNGUFUP2QTMQHd9nbuC6b3nF/c0AAqLNIFT+CIpp/FrPsDs9l9nL9rA/M58Su0FJmZ0Su4PSMoMSu4OSMofz55l6tw7iudEXENc+1AWVi0hzpQBURwpA4lIOB2Rsg73LYN8ySP4JyooqnhPR01x/qPsoaJcAHu67aKFhGJQ5DIrLHHyy8RB/WbLTuffZrwe25fGRPWgVUE8rdotIi6YAVEcKQOJWSosgdY0ZhvYuM/c5O73bzCcEuo0ww1Dn4eDj3v/NHssr5qUlO/ng54MABPl48tiI7uoWE5E6UwCqIwUgcWsFx2H/Ctj1DexaAoXHT71m9YKOF0P3q81AFNzWdXWex/rkLJ5a/Avbj+QA5satz42+gAvbtYBuMcOA/d9DSCyEdXJ1NSLNhgJQHSkASZPhsEPqWnMtop1fwvG9FV+P7muGoa5XQkAk2ALBO9BtuszsDoN31yTz16+TnN1iYwfG8vuR3Ztvt5hhwNJn4ce/m9/FxC8gpp+rqxJpFhSA6kgBSJqszN2Q9CUkfQUpq6l0hhmYU+9tgace3gHmTvflv/uHg38EBESZwSkgEvwjwduvYcrOK+alr3by4XqzWyzY14tHErvSq3UwHlaL+bBYsFpxPi8/brVY8PSwEBFgc//tOhwO+HoarJlz6ph/BNz1NbTqXD+fsXoObHwHhj9ldo2KtCAKQHWkACTNQn4m7PraDESpa6E45+zB1DXlHXAqDAWcDEjh3aDDMHNgdh1XvF6ffJynFm9zdovVhI+XlQtaB9MvNoR+sSH0bxtCbJiv+2zd4bDDfx8y14fCAlc9D1sWQNpWc1HMu76BwKjaX98wyF7yPMFr/mr+arHCr2ZiGTixXsoXaQoUgOpIAUiarbISKMkzw1Bx7snHGb8XZZvT8POOQl465GdAXsb5w5NfK2g/FDpcbAaiWq5dZHcYvLM6mQXrUikqtWN3GKcehoHj5E+749TzMrs50+xMoX5e9G17MhDFBtO3bQjhruhas5fC4smw9UOwWOH616DfLZCbDvOugqwDENXH7A7zCa7RpQtKyliy9Qiey57jurwPANjo6MIA6x4AMvrfT+To591mHSmRhqQAVEcKQCJnMAwzHOWfDEV5Gebz3DQ4vNHsbivNr/gev3BzMccOF5uPiO4N9kfY4TDYl5nP5tQTbD54gs0Hs9lxOMe5YvXp2ob60i0qkIgAGxGBNsIDvIkI9CE8wJvwQPNYoM2z/lqOyoph0V2w83OwesKYf5ESPYJ//biPUrtBfEg2v1p3J16FR6H9MLj9I/DyOeclDcNg7f7jLFp/kC+3HuZRx3wmen4NwNvBvyGp/e1Ebfw/HvRYBMDPQVcSPf5ftA0PqZ97EnFTCkB1pAAkUkP2UjMI7f8eDvxoTtsvLah4jn8EtLsIInqY3Wbh3SC8K3j7N0hJxWV2dh7JNQNRajabD55g79E8qvN/8bw9rUQE2AgPtNEuzI/bBrfjok5hNQ9FJQXwwR2w5zvwsJE/eh6zUjvx1k/JFcJZb8sBFnj/iUBLIVsCL2bdoL/Tq00YvVoHEezr5Twv9XgBH204yMcbDpFyvAALDp73nM84z6UAZF3+IqGXTnae+8MHs7j5yF/xsthZ5ejNqoH/x92J/Qn280KkOVIAqiMFIJE6KiuBwxvgwA+w/wdzDFJZYeXnBseaQcgZik4+AiLrp8WopAByDkH2QQqPpXD04D5y8/PJtnuTVebFsRIvjpZ4kVHkyZFCD46VeJGPjXzDhwJ8KMCGgZX+sSFMvqwzV/aMqt5+ZsW58N4tkPwjhpcfS/r8nWmbwjhRUArAxV3DuaBNMNsO57DtUDbdCjfyptdL2CxlvFd2OX8ouwew0C7Mj96tg8gqKGH1vlNLHgTbLMwLfYu4E0swLFYs170KA8adVcb+1f8l+utJ+BqF7HTE8pDHH7j5iou4I6E9Nk+Puv/7irgRBaA6UgASqWdlxXBoPRzaAMd2w9FdkLnr7C0/TmcLAt9Qc2FHW/DJn0GV/Aw2Z64VnoDs1JNh5xDkHDR/nr5OUi2UWGz8aO/Nt/YBLLVfSGBEW+67tDOj+7fB27OKQd+FWfDuzXBwHaWeAUz1/AP/PdEBgG5RAfzh6p5c2i3C2aJkGAbpOcVkrPmAPj89iAWDNz1u5pn8Gypc1mKBoZ3DuWlAJNfseQbPHYvB4gE3vgF9bqryHowjmyl56yZsRRkcMcKYWPJ78kO789iIHlzbN8Z9BoqL1JECUB0pAIk0koLjZhDK3AVHk8xp/Jm7zL3RjLPH79SadwAEtYHgNuZPLz9zzFLJ6Y+8s3+vpIYtjo4stV/IJr+LuOSSRG4Z3A5/22nrKuVnwn+uh7St5FoCua3ocbYanQgP8Gbqld359cC2556u//M8+PwR859n+AtsjBnLtsPZWLBwdd8Y2gRY4cOJ5tpPVi+4eT70vPb8/wYnUjHeuQlL5k7y8OU3JQ+z0tGHfm2D+fMNfbigTc0GX4u4IwWgOlIAEnGx0iI4kWLOSCvONn8W5Ziz1U7/WZR9cgZbjrklyOkhJ7it+QhqY7YS1bSVwzDMmW/H9pgrbictwTi0HstpaysdMcL40RKHd69RXHLVTYRaCyh98zq8ju/iqBHE7SV/4IBHByZd3In7LutMgK2aC1AufwmWvwBY4KZ/wwVjTv67FMLC251jihj7DnS7qvr3VJgFC26H5B+xWzx40v4b3i8Zhp+3B3PHD2Rol/DqX0vEDSkA1ZECkIhUKi8Ddn+DfedXOPYsxct+alxToeFNqac/QfYsjhhhjCv5A/0HDOKxEd2JCfat2ecYBnz5GKyba7byjPsA2g6G928xx1V5+cGt70Ony2p+D2XFsPi38Is5Q+zDoAk8lnEV3h4evHJrf0ZeEFPza4q4CQWgOlIAEpHzKi3Cvv8HUld/hN+B74h0HAUgxRHBX6L/wm9GX1G3biWHHT66G7Z9Al7+ENHNnGnnHWgGovZD6nBth7kdx8pZAORZgzhYFkwmwbSN7UCH9p1OrgIeZS7OWP68Ni1pLZnDYY5Fy9wFx/ZBWEfofAVYNfi8oSgA1ZECkIjUhOFwsGHdjyRvXkGrgTdyyYBe9TOwuKzYHEy9f4X5u08w3P4xtB1Y92sDrJ0LX/8B7CXVO9/DZtbg5QOePuBpO/nz9Oen/fSPMNeAio0HT+/6qdkdlRaZ+/Bl7jo1wD9zl9l9euZyEMGxcOF4GHAHBKm1rb4pANWRApCIuI3iXHj/VshKhlveqf+NU4tyIPsgRm4an/+0ia1Ju4i0nCAhyk6vwEIseenm4pdF2bX/DC8/c3XwTpdD58vNtaDcsSXJYTe7OZ2rpJ++YnoulORW/L0wC47tPfegfasnhHU2tztJXQNFJ8zjFg/oPgriJp5sFXLzfeyaCAWgOlIAEhG3YhjmoxH+SL6+Yi8zvtoJwC2DYvnzDX3wsFrMVo68dPMPf1mxOUC8rOiM56f/XgzH98HeZeZ2KqcLjDkZhq4wxzEFRDT4fVVQnGcux1A+6zBzl/n82J7qt4adyRZsdlOWL/AZ3t18HtoePE4uPFlaCNs/hZ/nQ+rqU+8NaQdxd0L/26u3H5zDYS73cHyf+cjLMJeMOH3j4oAIc5mImgRNwzBnQBZmmUGtMMtszQtuCwHRTSKkKQDVkQKQiLRkC9elMO3jrTgMGHVBNLNu6V/7RRMNA9K3wb5lsPd/kPzT2fvKRfWBTpdCVG9o1cV8+IXV7SbKSsx1obIOmCHh9KCTc6jq91msZnCwBZnrS1X6OO210A61W7gzY4cZhDYvMGc6gtla1ONXZqtQ+6Hm+KHj++D4/lNh5/g+szXQXnz+z/CwnQxEEad++oeb4bQw67THiVPPHaWVX8vqBUGtzbAW3NbsygtuCyGxp557+phdfvmZUHDMXOaioPz5sbOPD7oH4n9T/X+zalAAqiMFIBFp6Zb8coQH399Eid3BsC7hvH5HXMX1jmqrtAhSVp0KRGlbKz/PJwRadTbDUFjnk887m899gsxglZdhBpwTyebPrORTv+ccOvdaUv4Rp1prWnXFCO/Kl0cCWZ7uw9QRPWs+c6+2SgrMge7r58PBddV/n9XLDF9hncxWo8IscwPj/AzzZ0lu7Wvy8D65CGmI2WqVcwgMezXeZ6teMCuXcD+M+HOty6yMAlAdKQCJiMDKPZnc+/bP5JfY6Rcbwpt3DiLUv54HM+cdJXvbN+QkfY9/3gH88w5gK0g793v8I8xurKq2Vynn6XsyJHSsuN3KGS1MGTlFPP7RFpYlmTP5YsN8ee+ei4gN86vjzdVQ2lZY/yZsXmgGGE8fM+CEdToVdsofwW3PPZuspOBUGMrPOLWBcX4mePmaAeesR4j508uvYmuWww65R+BEKmQfhOyU056nms9P3wzZw2a2NPmFmZsi+7UyH85jrczjYR3N+6hHCkB1pAAkImLanHqCO+evJauglC6RAbx912Bah9StdcQwDLYdzmHpjgz+tzOdzQcrDrD2oZgOlnQ6WNLoZDlCB0saHa3mzwhLzqnrYMES3NYMByHtzZ+h5T87mEHpPN1SX249wh8/2UpWQSnenlZa+XtzJLuI1sE+vDvpIjqGN8xmvedUWmgOOvePbBLjbjAMswWqONcMN97+LhvkrgBURwpAIiKn7MnI5fZ/rSUtpwiLBTq28qdn6yB6tw6iV0wQvVsHExFoO+c1CkrKWLnnGP/bmc7/dmaQnlOxq6RHdCA2TytFpQ4KS+0UOR8OSuynurICKaCdJZ08fEm3RHDDwI48NLwr0cE+Nbqn7MJSnvlsG59sNMcD9W4dxN/H9ifY14vb5q5m79F8IgNtvHtPPF2jAmt07crYHQYOw8DrXNugSJ0pANWRApCISEUHswqY/M4Gth6qfDp8ZKCNXidDUe/WwfSKCcLDamF5UgZLd2bw095jlJSdCjJ+3h5c3DWc4T2iuKxHBJGBVQcYu8OguMzuDEdp2UW8tnwP3+0wZ5fZPK3cObQDky/tTIjf+bvoftqTyaMfbuZwdhFWC0y+rDMPDe/m3Nw2M6+Y2/+1hp1pubTy9+Y/d8fTq3Xt/hbYHQbzV+7n79/uwgAGdwxjaOdwhnRpRc/oIKxWN1wOoAlTAKojBSARkcodyytm2+Ecth/JYdvhHLYdzmZ/Zj7V+UvSNtSX4T0iGd4zivhOYbWfWXbSzweO89KSnaw7kAVAoI8n913amYlDO+DnffaA7aJSOy8vSWLeyv0AtG/lx8xf9yOu/dkzzrLyS7hj3hp+OZRDsK8X/7l7MH3bhtSovqS0XH7/0RY2p56o9PUwf28SOrViaJdwhnZpRbswv/pZQLMFUwCqIwUgEZHqKygpY8eRXLYfznYGo51puZTZHcS1D+WKHlEM7xlJ18iAev8DbxgGy5IyeHlJEjvTzJlPEYE2HhzelVsGxTq7nH45lM0jCzexOyMPgNvi2/HHq3uec2ZbdmEpd85fy8aUEwTaPHnzrsHEtQ89b03FZXZmL9vLa8v3UGo3CLR5Mu3qnvSPDeGnvZms3JPJmv3HKSipOLOqTYgvQ7uYgSi+YyuigmwKRDWkAFRHCkAiInVTandQandU2hLTEBwOg882H+Zv3yaRetycHda+lR9Tr+xG6vECZn23mzKHQUSgjZfH9OXyHpHVum5ecRl3vbmOtfuP4+ftwbw7B3FRp1ZVnr8+OYsnPtriDFqJPaN4/voLzhqjVGp3sDn1BD/uyeSnPcfYmJpFqb3in+PwAG96xgTRyznWKoiO4QHmwpRSKQWgOlIAEhFpmkrKHCxYl8IrS3eTmVdxVedRF0Tz5xv6EFbDqfyFJXYmvf0zP+7JxMfLyht3DOSSbhVXr84vLuMvXyfx1qoDGIYZXp65rje/6hNTrVacgpIy1u4/zso9mazcc4ydaTk4Kvnr7ONlpXt0EL1iAul1Mhz1iA6qnzWamgEFoDpSABIRadryi8uYv3I/r6/YB8Czo3tzw4A2te5SKiq1M/md9SxLOoq3h5XXbr+Q4T3NbSu+33WUaR9v5dAJs+VpzIVtefJXPeu0ZlJhiZ2k9Fy2H85h+5Fstp/sVjyz26xcTLAPnSL86RQeQMdwf+fzNqG+LarFSAGojhSARESah4KSMhwGBNRDC0lJmYMH3t/A19vS8bRaeOHGPqzed4yPN5hT6duE+PLCjX24tFvD7G3mcBgkHy+oEIq2H8k5a0mB03l7WunQyu9kKDLDUUSgjWBfL4J9vQjx9SLI16vZTM9XAKojBSAREalMqd3B1A8289/Nh53HLBa4c0gHHr2qu0u6orLyS9iXmc++o3nsz8xn39F89mfms/9YfoWlB84lwOZJ8MkwFHIyHAX7etG/XQhjLmzrXCLA3SkA1ZECkIiIVMXuMPj9oi18tOEgXSMDeHFM32rNDmtsdofB4ROFFcLR/sx8sgpKOFFQSnZhKblFZee9TpsQXx5K7MqNA9rg6eYtRQpAdaQAJCIi52IYBrsz8ujQyr/JtI5Uxu4wyCk0w9CJkz+zC0vJLighI7eYhetSycg1u9g6hfvz8JXduKZPjNsu4KgAVEcKQCIiIuZg7HdWJ/PP5XvIKigFzG1Lpl7ZjSt7RbndOkUKQHWkACQiInJKXnEZ837cz9zv95FbbHab9WsbzO+u6s7FXcPdJggpANWRApCIiMjZThSU8Mb3+5i/8gCFpeaU/MEdwnh0RHcGdzx7S5HGpgBURwpAIiIiVcvMK+afy/byzppk50yzizqFcUm3CAZ1CKNPm2B8vOq211ttKADVkQKQiIjI+R3JLuQf/9vDB+tSKTtt6WpvDyt92gYzsH0oAzuEEdc+tMYrcNeGAlAdKQCJiIhUX+rxAr7elsbPB7L4OTmLzLyzF2fsHOHPwPZhDOxghqIOrfzqfeyQAlAdKQCJiIjUjmEYJB8r4OfkLNYnH2fdgSz2nNwc9nS3DIrlxTF96/Wza/L3W7uniYiISL2xWCx0CPenQ7g/N8W1BczVqjekZLHugBmKNh/Mpldr1zYwuMXqTbNnz6ZDhw74+PgQHx/P2rVrq/W+BQsWYLFYuP766yscNwyD6dOnExMTg6+vL4mJiezevbsBKhcREZHzCfX3ZnjPKJ4Y1YMP7xvC1meucoYjV3F5AFq4cCFTp07l6aefZsOGDfTr148RI0aQkZFxzvcdOHCARx99lIsvvvis115++WVeeeUV5syZw5o1a/D392fEiBEUFRU11G2IiIhINdk8PfDzdm0nlMsD0MyZM5k0aRITJ06kV69ezJkzBz8/P+bNm1fle+x2O+PGjePZZ5+lU6dOFV4zDINZs2bx5JNPMnr0aPr27cvbb7/N4cOHWbx4cQPfjYiIiDQFLg1AJSUlrF+/nsTEROcxq9VKYmIiq1atqvJ9zz33HJGRkdx9991nvbZ//37S0tIqXDM4OJj4+Pgqr1lcXExOTk6Fh4iIiDRfLg1AmZmZ2O12oqKiKhyPiooiLS2t0vf8+OOP/Pvf/2bu3LmVvl7+vppcc8aMGQQHBzsfsbGxNb0VERERaUJc3gVWE7m5udxxxx3MnTuX8PDwervutGnTyM7Odj5SU1Pr7doiIiLiflw6Aik8PBwPDw/S09MrHE9PTyc6Ovqs8/fu3cuBAwe49tprncccDnMJbk9PT5KSkpzvS09PJyYmpsI1+/fvX2kdNpsNm81W19sRERGRJsKlLUDe3t7ExcWxdOlS5zGHw8HSpUtJSEg46/wePXqwdetWNm3a5Hxcd911XH755WzatInY2Fg6duxIdHR0hWvm5OSwZs2aSq8pIiIiLY/LF0KcOnUqEyZMYODAgQwePJhZs2aRn5/PxIkTARg/fjxt2rRhxowZ+Pj4cMEFF1R4f0hICECF4w8//DDPP/88Xbt2pWPHjjz11FO0bt36rPWCREREpGVyeQAaO3YsR48eZfr06aSlpdG/f3+WLFniHMSckpKC1Vqzhqrf//735Ofnc++993LixAmGDRvGkiVL8PHxaYhbEBERkSZGe4FVQnuBiYiIND01+fvdpGaBiYiIiNQHBSARERFpcRSAREREpMVRABIREZEWx+WzwNxR+bhw7QkmIiLSdJT/3a7O/C4FoErk5uYCaE8wERGRJig3N5fg4OBznqNp8JVwOBwcPnyYwMBALBZLvV47JyeH2NhYUlNTm+UUe91f09fc71H31/Q193vU/dWeYRjk5ubSunXr864hqBagSlitVtq2bdugnxEUFNQs/8Mup/tr+pr7Per+mr7mfo+6v9o5X8tPOQ2CFhERkRZHAUhERERaHAWgRmaz2Xj66aex2WyuLqVB6P6avuZ+j7q/pq+536Pur3FoELSIiIi0OGoBEhERkRZHAUhERERaHAUgERERaXEUgERERKTFUQBqRLNnz6ZDhw74+PgQHx/P2rVrXV1SvXnmmWewWCwVHj169HB1WbX2/fffc+2119K6dWssFguLFy+u8LphGEyfPp2YmBh8fX1JTExk9+7drim2Fs53f3feeedZ3+fIkSNdU2wtzJgxg0GDBhEYGEhkZCTXX389SUlJFc4pKipiypQptGrVioCAAMaMGUN6erqLKq656tzjZZdddtb3eN9997mo4pp57bXX6Nu3r3OxvISEBL766ivn6039+zvf/TXl764yL774IhaLhYcffth5zNXfoQJQI1m4cCFTp07l6aefZsOGDfTr148RI0aQkZHh6tLqTe/evTly5Ijz8eOPP7q6pFrLz8+nX79+zJ49u9LXX375ZV555RXmzJnDmjVr8Pf3Z8SIERQVFTVypbVzvvsDGDlyZIXv8/3332/ECutmxYoVTJkyhdWrV/Ptt99SWlrKVVddRX5+vvOcRx55hP/+9798+OGHrFixgsOHD3PjjTe6sOqaqc49AkyaNKnC9/jyyy+7qOKaadu2LS+++CLr16/n559/5oorrmD06NFs27YNaPrf3/nuD5rud3emdevW8frrr9O3b98Kx13+HRrSKAYPHmxMmTLF+bvdbjdat25tzJgxw4VV1Z+nn37a6Nevn6vLaBCA8cknnzh/dzgcRnR0tPGXv/zFeezEiROGzWYz3n//fRdUWDdn3p9hGMaECROM0aNHu6SehpCRkWEAxooVKwzDML8vLy8v48MPP3Ses2PHDgMwVq1a5aoy6+TMezQMw7j00kuNhx56yHVF1bPQ0FDjX//6V7P8/gzj1P0ZRvP57nJzc42uXbsa3377bYV7cofvUC1AjaCkpIT169eTmJjoPGa1WklMTGTVqlUurKx+7d69m9atW9OpUyfGjRtHSkqKq0tqEPv37yctLa3C9xkcHEx8fHyz+j6XL19OZGQk3bt3Z/LkyRw7dszVJdVadnY2AGFhYQCsX7+e0tLSCt9hjx49aNeuXZP9Ds+8x3Lvvvsu4eHhXHDBBUybNo2CggJXlFcndrudBQsWkJ+fT0JCQrP7/s68v3LN4bubMmUKv/rVryp8V+Ae/xvUZqiNIDMzE7vdTlRUVIXjUVFR7Ny500VV1a/4+HjefPNNunfvzpEjR3j22We5+OKL+eWXXwgMDHR1efUqLS0NoNLvs/y1pm7kyJHceOONdOzYkb179/KHP/yBUaNGsWrVKjw8PFxdXo04HA4efvhhhg4dygUXXACY36G3tzchISEVzm2q32Fl9whw22230b59e1q3bs2WLVt4/PHHSUpK4uOPP3ZhtdW3detWEhISKCoqIiAggE8++YRevXqxadOmZvH9VXV/0PS/O4AF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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Plotting the accuracy and loss history\n", + "plot_graphs(final_model, 'f1_score')\n", + "plot_graphs(final_model, 'loss')" + ] + }, + { + "cell_type": "code", + "execution_count": 68, + "id": "ec132979", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "72/72 [==============================] - 1s 7ms/step\n", + "****** Test Data ********\n", + "F1: 0.7557455905932655\n", + " precision recall f1-score support\n", + "\n", + " 0 0.79 0.88 0.83 1275\n", + " 1 0.82 0.70 0.76 1009\n", + "\n", + " accuracy 0.80 2284\n", + " macro avg 0.80 0.79 0.79 2284\n", + "weighted avg 0.80 0.80 0.80 2284\n", + "\n", + "Confusion Matrix\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 68, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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XbrowoULtjlRUVH68ccftXHjRq1Zs0bbtm3T4MGDSzzeIrfzxo0bp4KCAnXu3Fnnz59Xx44d5ebmprFjx2rEiBElHiAAACgbxV3XVHhsZmam3X43Nze5ubldMv+FF15QSEiIlixZYtsXFhZm+7NhGJozZ46effZZ9ezZU5K0bNkyBQQEaPXq1erXr58SExO1YcMG7dmzR23atJEkzZs3T3fffbdeeuklBQcHO39Bf1HkSpTFYtG//vUvpaen64cfftA333yj3377TdOmTSuxoAAAQNmzymJbF+XUpotZVEhIiHx9fW1bbGys6ft9+umnatOmjf7+97+revXqatmypRYvXmwbT05OVlpamiIjI237fH191bZtW8XHx0uS4uPj5efnZ0ugJCkyMlJWq1W7du0q0Z+P0w/bdHV1VePGjUsyFgAAUA4dP35cPj4+ttdmVShJOnLkiBYsWKDHH39czzzzjPbs2aORI0fK1dVV0dHRSktLkyQFBATYHRcQEGAbS0tLU/Xq1e3GK1SoIH9/f9ucklLkJKpTp04On0C6efPmYgUEAACuDSXVzvPx8bFLoi6noKBAbdq0sT13smXLlvrhhx+0cOFCRUdHOx9IKSlyEtWiRQu717m5uUpISNAPP/xwTV4gAABwztX+AuKgoKBLulyNGjXSqlWrJF18QoAknTx5UkFBQbY5J0+etOUngYGBOnXqlN058vLylJ6ebju+pBQ5iXr55ZdN90+ePLlUbh8EAAA3hvbt2yspKclu388//6zQ0FBJFxeZBwYG6ssvv7QlTZmZmdq1a5ftCQERERE6c+aM9u7dq9atW0u62CUrKChQ27ZtSzRep747z8xDDz2kN998s6ROBwAAypjFomItLC9qK3DMmDH65ptvNGPGDB06dEgrVqzQokWLNGzYsP/GY9Ho0aM1ffp0ffrpp9q/f78efvhhBQcHq1evXpIuVq66du2qQYMGaffu3dqxY4eGDx+ufv36leideVIxFpb/VXx8vNzd3UvqdAAAoIyV1JqoK3XzzTfr448/1vjx4zV16lSFhYVpzpw5ioqKss156qmndO7cOQ0ePFhnzpxRhw4dtGHDBrscZPny5Ro+fLg6d+4sq9Wq3r17Ky4uzvkLuYwiJ1H333+/3WvDMJSamqpvv/1WEyZMKLHAAADAjad79+7q3r37ZcctFoumTp2q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tTVr1izb2O23365jx45pzJgxtr+9O+Lt7a3AwEDVqlVLHTt21KJFizRhwgRNnDhRSUlJki79m/exY8fUo0cPVa5cWZ6enmrSpInWrVsnScrPz9eAAQMUFhYmDw8PNWjQQHPnzrV7z61bt+pvf/ubPD095efnp/bt2+vYsWNaunSppkyZon379tliX7p0qSTpzJkzGjhwoKpVqyYfHx/dcccd2rdvn+2chRWs119/XWFhYXzFQznj5uamwMBA1ahRQ61atdIzzzyjTz75ROvXr7d9Rv7czsvJydHw4cMVFBQkd3d3hYaG2v13NXv2bDVr1kyenp4KCQnR0KFDlZWVZRu/3Gf86NGj6tSpkySpcuXKslgsiomJkXTx+zxjY2Ntn/3mzZvrww8/tJ2z8L+j9evXq3Xr1nJzc9P27dtL9wcHXCG+Ow/XPRcXF82YMUMPPvigRo4cafrdgHv37lWfPn00efJk9e3bVzt37tTQoUNVpUoVxcTE6KOPPlLz5s01ePBgDRo0yKk4Ro0apWnTpumTTz7RU089dcn4sGHDlJOTo23btsnT01MHDhyQl5eXpIu/SGrWrKkPPvhAVapU0c6dOzV48GAFBQWpT58+ysvLU69evTRo0CC9++67ysnJ0e7du2WxWNS3b1/98MMP2rBhgzZt2iTp/79X6+9//7s8PDy0fv16+fr66rXXXlPnzp31888/y9/fX5J06NAhrVq1Sh999JFcXFycunZcP+644w41b95cH330kQYOHGg3FhcXp08//VQrV65UrVq1dPz4cR0/ftw2brVaFRcXp7CwMB05ckRDhw7VU089pVdffVXS5T/jISEhWrVqlXr37q2kpCT5+PjIw8NDkhQbG6t33nlHCxcuVP369bVt2zY99NBDqlatmm677Tbbe48bN04vvfSS6tSpo8qVK1+FnxTwv5FEoVy477771KJFC02aNElvvPHGJeOzZ89W586dNWHCBElSeHi4Dhw4oBdffFExMTHy9/eXi4uLrcLkDH9/f1WvXl1Hjx41HU9JSVHv3r3VrFkzSVKdOnVsYxUrVtSUKVNsr8PCwhQfH6+VK1eqT58+yszMVEZGhrp37666detKkho1amSb7+XlpQoVKtjFvn37du3evVunTp2ytWteeuklrV69Wh9++KEGDx4s6WL1YdmyZapWrZpT143rT8OGDfX9999fsj8lJUX169dXhw4dZLFYFBoaajc+evRo259r166t6dOna8iQIbYkytFnvDBpr169uvz8/CRJ2dnZmjFjhjZt2qSIiAjbMdu3b9drr71ml0RNnTpVd955Z/EvHihBtPNQbrzwwgt66623lJiYeMlYYmKi2rdvb7evffv2OnjwoPLz80ssBsMwLtsKHDlypKZPn6727dtr0qRJl/wSmz9/vlq3bq1q1arJy8tLixYtUkpKiqSLv4BiYmLUpUsX9ejRQ3PnzlVqaqrDWPbt26esrCxVqVJFXl5eti05OVmHDx+2zQsNDSWBusFc7nMaExOjhIQENWjQQCNHjtQXX3xhN75p0yZ17txZNWrUkLe3t/r376/ff/9d58+fl/S/P+N/dejQIZ0/f1533nmn3Wd02bJldp9RSWrTpk0xrxooeSRRKDc6duyoLl26aPz48WXy/r///rt+++03hYWFmY4PHDhQR44cUf/+/bV//361adNG8+bNkyS99957Gjt2rAYMGKAvvvhCCQkJeuSRR+wWei9ZskTx8fFq166d3n//fYWHh+ubb765bDxZWVkKCgpSQkKC3ZaUlKQnn3zSNs/T07OEfgK4XiQmJpp+Tlu1aqXk5GRNmzZNf/zxh/r06aMHHnhAknT06FF1795dN910k1atWqW9e/dq/vz5kv7/hgRHn3Ezheup1q5da/cZPXDggN26KInPKa5NtPNQrjz//PNq0aKFGjRoYLe/UaNG2rFjh92+HTt2KDw83LYOyNXVtVhVqblz58pqtapXr16XnRMSEqIhQ4ZoyJAhGj9+vBYvXqwRI0Zox44dateunYYOHWqb+9e/iUtSy5Yt1bJlS40fP14RERFasWKFbrnlFtPYW7VqpbS0NFWoUEG1a9d2+rpQvmzevFn79+/XmDFjTMd9fHzUt29f9e3bVw888IC6du2q9PR07d27VwUFBZo1a5as1ot//165cuUlx1/uM+7q6ipJdp/Txo0by83NTSkpKXatO+B6QRKFcqVZs2aKiopSXFyc3f4nnnhCN998s6ZNm6a+ffsqPj5er7zyim0th3Rxjce2bdvUr18/ubm5qWrVqpd9n7NnzyotLU25ublKTk7WO++8o9dff12xsbGqV6+e6TGjR49Wt27dFB4ertOnT2vLli22dU3169fXsmXL9PnnnyssLExvv/229uzZY6sWJCcna9GiRbr33nsVHByspKQkHTx4UA8//LAt9uTkZCUkJKhmzZry9vZWZGSkIiIi1KtXL82cOVPh4eE6ceKE1q5dq/vuu4/2yA0gOztbaWlpys/P18mTJ7VhwwbFxsaqe/futs/On82ePVtBQUFq2bKlrFarPvjgAwUGBsrPz0/16tVTbm6u5s2bpx49emjHjh1auHCh3fGOPuOhoaGyWCxas2aN7r77bnl4eMjb21tjx47VmDFjVFBQoA4dOigjI0M7duyQj4+PoqOjr8rPCXCaAVzHoqOjjZ49e9rtS05ONlxdXY2/frw//PBDo3HjxkbFihWNWrVqGS+++KLdeHx8vHHTTTcZbm5ulxz7Z6GhoYYkQ5Lh6upq1KpVy+jTp4+xefNmu3lbtmwxJBmnT582DMMwhg8fbtStW9dwc3MzqlWrZvTv39/4z3/+YxiGYVy4cMGIiYkxfH19DT8/P+Oxxx4zxo0bZzRv3twwDMNIS0szevXqZQQFBRmurq5GaGioMXHiRCM/P992fO/evQ0/Pz9DkrFkyRLDMAwjMzPTGDFihBEcHGxUrFjRCAkJMaKiooyUlBTDMAxj0qRJtvdA+RIdHW37nFaoUMGoVq2aERkZabz55pu2z41hGIYk4+OPPzYMwzAWLVpktGjRwvD09DR8fHyMzp07G999951t7uzZs42goCDDw8PD6NKli7Fs2bIr/owbhmFMnTrVCAwMNCwWixEdHW0YhmEUFBQYc+bMMRo0aGBUrFjRqFatmtGlSxfjq6++Mgzj0v+OgGuJxTAMo4zyNwAAgOsWC8sBAACcQBIFAADgBJIoAAAAJ5BEAQAAOIEkCgAAwAkkUQAAAE4giQIAAHACSRQAAIATSKIAXHUxMTF23zF4++23a/To0Vc9jq1bt8pisejMmTOXnWOxWLR69eorPufkyZPVokWLYsV19OhRWSwWJSQkFOs8AEoXSRQASRcTG4vFIovFIldXV9WrV09Tp05VXl5eqb/3Rx99pGnTpl3R3CtJfADgauALiAHYdO3aVUuWLFF2drbWrVunYcOGqWLFiho/fvwlc3NycuTq6loi7+vv718i5wGAq4lKFAAbNzc3BQYGKjQ0VI899pgiIyP16aefSvr/Ftxzzz2n4OBgNWjQQJJ0/Phx9enTR35+fvL391fPnj119OhR2znz8/P1+OOPy8/PT1WqVNFTTz2lv35l51/bednZ2Xr66acVEhIiNzc31atXT2+88YaOHj2qTp06SZIqV64si8WimJgYSVJBQYFiY2MVFhYmDw8PNW/eXB9++KHd+6xbt07h4eHy8PBQp06d7OK8Uk8//bTCw8NVqVIl1alTRxMmTFBubu4l81577TWFhISoUqVK6tOnjzIyMuzGX3/9dTVq1Eju7u5q2LChXn311SLHAqBskUQBuCwPDw/l5OTYXn/55ZdKSkrSxo0btWbNGuXm5qpLly7y9vbW119/rR07dsjLy0tdu3a1HTdr1iwtXbpUb775prZv36709HR9/PHHDt/34Ycf1rvvvqu4uDglJibqtddek5eXl0JCQrRq1SpJUlJSklJTUzV37lxJUmxsrJYtW6aFCxfqxx9/1JgxY/TQQw/pq6++knQx2bv//vvVo0cPJSQkaODAgRo3blyRfybe3t5aunSpDhw4oLlz52rx4sV6+eWX7eYcOnRIK1eu1GeffaYNGzbo3//+t4YOHWobX758uSZOnKjnnntOiYmJmjFjhiZMmKC33nqryPEAKEMGABiGER0dbfTs2dMwDMMoKCgwNm7caLi5uRljx461jQcEBBjZ2dm2Y95++22jQYMGRkFBgW1fdna24eHhYXz++eeGYRhGUFCQMXPmTNt4bm6uUbNmTdt7GYZh3HbbbcaoUaMMwzCMpKQkQ5KxceNG0zi3bNliSDJOnz5t23fhwgWjUqVKxs6dO+3mDhgwwPjHP/5hGIZhjB8/3mjcuLHd+NNPP33Juf5KkvHxxx9fdvzFF180WrdubXs9adIkw8XFxfjll19s+9avX29YrVYjNTXVMAzDqFu3rrFixQq780ybNs2IiIgwDMMwkpOTDUnGv//978u+L4Cyx5ooADZr1qyRl5eXcnNzVVBQoAcffFCTJ0+2jTdr1sxuHdS+fft06NAheXt7253nwoULOnz4sDIyMpSamqq2bdvaxipUqKA2bdpc0tIrlJCQIBcXF912221XHPehQ4d0/vx53XnnnXb7c3Jy1LJlS0lSYmKiXRySFBERccXvUej9999XXFycDh8+rKysLOXl5cnHx8duTq1atVSjRg279ykoKFBSUpK8vb11+PBhDRgwQIMGDbLNycvLk6+vb5HjAVB2SKIA2HTq1EkLFiyQq6urgoODVaGC/f8iPD097V5nZWWpdevWWr58+SXnqlatmlMxeHh4FPmYrKwsSdLatWvtkhfp4jqvkhIfH6+oqChNmTJFXbp0ka+vr9577z3NmjWryLEuXrz4kqTOxcWlxGIFUPpIogDYeHp6ql69elc8v1WrVnr//fdVvXr1S6oxhYKCgrRr1y517NhR0sWKy969e9WqVSvT+c2aNVNBQYG++uorRUZGXjJeWAnLz8+37WvcuLHc3NyUkpJy2QpWo0aNbIvkC33zzTf/+yL/ZOfOnQoNDdW//vUv275jx45dMi8lJUUnTpxQcHCw7X2sVqsaNGiggIAABQcH68iRI4qKiirS+wO4trCwHIDToqKiVLVqVfXs2VNff/21kpOTtXXrVo0cOVK//PKLJGnUqFF6/vnntXr1av30008aOnSow2c81a5dW9HR0frnP/+p1atX2865cuVKSVJoaKgsFovWrFmj3377TVlZWfL29tbYsWM1ZswYvfXWWzp8+LC+++47zZs3z7ZYe8iQITp48KCefPJJJSUlacWKFVq6dGmRrrd+/fpKSUnRe++9p8OHDysuLs50kby7u7uio6O1b98+ff311xo5cqT69OmjwMBASdKUKVMUGxuruLg4/fzzz9q/f7+WLFmi2bNnFykeAGWLJAqA0ypVqqRt27apVq1auv/++9WoUSMNGDBAFy5csFWmnnjiCfXv31/R0dGKiIiQt7e37rvvPofnXbBggR544AENHTpUDRs21KBBg3Tu3DlJUo0aNTRlyhSNGzdOAQEBGj58uCRp2rRpmjBhgmJjY9WoUSN17dpVa9euVVhYmKSL65RWrVql1atXq3nz5lq4cKFmzJhRpOu99957NWbMGA0fPlwtWrTQzp07NWHChEvm1atXT/fff7/uvvtu3XXXXbrpppvsHmEwcOBAvf7661qyZImaNWum2267TUuXLrXFCuD6YDEut7oTAAAAl0UlCgAAwAkkUQAAAE4giQIAAHACSRQAAIATSKIAAACcQBIFAADgBJIoAAAAJ5BEAQAAOIEkCgAAwAkkUQAAAE4giQIAAHDC/wG900SbefKYdQAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "y_pred_valid = tf.math.round(tunned_model_lstm.predict(testing_padded)).numpy().astype(int) \n", + "print(\"****** Test Data ********\")\n", + "print(f\"F1: {metrics.f1_score(y_test, y_pred_valid)}\")\n", + "# Printing performance details\n", + "print(metrics.classification_report(y_test, y_pred_valid))\n", + "\n", + "# Printing confusion matrix\n", + "print(\"Confusion Matrix\")\n", + "ConfusionMatrixDisplay.from_predictions(\n", + " y_test,\n", + " y_pred_valid,\n", + " display_labels=[\"Not Disaster\",\"Disaster\"],\n", + " cmap=plt.cm.Blues\n", + " )" + ] + }, + { + "cell_type": "code", + "execution_count": 69, + "id": "03a6535b", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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o3D27NkKHRMREVUvGpXqDR48GIMHD8aTJ08QEhKCn3/+GS+++CIaNWqEsWPHYuHChdqOk4qRnJGH9JwCSCVAQ2uW6hFR7TJkyBC114cPH4azszPc3d0BABcvXkReXh569epV5n3m5eUhIiICgYGB4phUKoWvry/Cw8OL3aZjx4748ccfcfbsWfj4+OD27dvYt28fXn311RLfJzc3Vy3JS09PL3OMRESkGxolToXMzMwwceJETJw4EVevXsWYMWOwePFiJk5VpHC2ycXKBEaGMh1HQ0RUtSwsLNRe+/v7q712cXEp9z6Tk5OhVCphZ2enNm5nZ4fr168Xu83o0aORnJyMzp07QxAEFBQU4M0333xuqV5QUBAWL15c7viIiEh3KpQ45eTkYM+ePdi6dSsOHDgAOzs7zJkzR1uxUSmiklimR0S116ZNm3QdAgDg2LFj+OSTT/DNN9+gffv2iIqKwsyZM/HRRx9hwYIFxW4TGBiIgIAA8XV6erpGiR4REVUdjRKngwcPYuvWrfjll19gYGCAoUOH4o8//kDXrl21HR89RzRbkRMRaZW1tTVkMhkSExPVxhMTE2Fvb1/sNgsWLMCrr76KSZMmAQDatGmDzMxMvPHGG5g3bx6k0qK3EysUCigUCu0fABERVRqN73F65ZVXsGXLFvTt2xeGhobajovKQOyoxxknIiKEhIRgx44diI2NRV5entqyyMjIMu1DLpfD29sbYWFhGDRoEABApVIhLCysxCYTWVlZRZIjmexp+bQgCOU8CiIiqq406qqXmJiIHTt2YODAgUyadEjsqGfLxhBEVLt9+eWXmDhxIuzs7HD+/Hn4+PigXr16uH37ttqzncoiICAA69atw/fff49r165h6tSpyMzMxMSJEwEA48aNU2se0b9/f6xduxbbtm1DTEwMDh06hAULFqB///5iAkVERDVfmWec0tPTYW5uDuDpN2jP6wBUuB5VnozcAjxIywEANLEx03E0RES69c033+C7777DqFGjsHnzZrz33nto1KgRFi5ciJSUlHLta8SIEUhKSsLChQuRkJAADw8P8T5eAIiNjVWbYZo/fz4kEgnmz5+P+Ph42NjYoH///li6dKlWj5GIiHRLIpSxjkAmk+HBgwewtbWFVCqFRCIpso4gCJBIJFAqlVoPVFvS09NhYWGBtLS0Gp3gXYpLxYCvT8Pa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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(10, 5))\n", + "\n", + "roc_display = RocCurveDisplay.from_predictions(y_test, y_pred_valid,ax=ax1)\n", + "pr_display = PrecisionRecallDisplay.from_predictions(y_test, y_pred_valid,ax=ax2)\n", + "roc_display.ax_.set_title(\"ROC curve\")\n", + "pr_display.ax_.set_title(\"Precision-Recall curve\")\n", + "\n", + "plt.show()\n", + "plt.close()" + ] + }, + { + "cell_type": "markdown", + "id": "1bb41e36", + "metadata": {}, + "source": [ + "### Exploring Misclassifications: A Glimpse into Incorrect Classifications" + ] + }, + { + "cell_type": "code", + "execution_count": 70, + "id": "d47f6184", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "******************************************************************\n", + "predicted: 0 , actual: 1\n", + "photo blue by user source\n", + "******************************************************************\n", + "predicted: 0 , actual: 1\n", + "user smile well i think that sounds like a fine plan where little derailment is possible so i applaud you smile\n", + "******************************************************************\n", + "predicted: 0 , actual: 1\n", + "there was a small earthquake in la but dont worry emily rossum is fine difficultpeople is great\n", + "******************************************************************\n", + "predicted: 1 , actual: 0\n", + "coastal german shepherd rescue oc shared a link ecstatic rescued racco animalrescue\n", + "******************************************************************\n", + "predicted: 1 , actual: 0\n", + "panic attacks are the worst\n", + "******************************************************************\n", + "predicted: 1 , actual: 0\n", + "nikoniko breaking news unconfirmed i just heard a loud bang nearby in what appears to be a blast of wind from my neighbours ass\n", + "******************************************************************\n", + "predicted: 0 , actual: 1\n", + "grace this is not your first storm you know bicycles fences trees will fly as well as idiots drowning that go by swollen rivers\n", + "******************************************************************\n", + "predicted: 0 , actual: 1\n", + "africanbaze breaking newsnigeria flag set ablaze in aba\n", + "******************************************************************\n", + "predicted: 1 , actual: 0\n", + "user make natural disaster reporting more interesting by adding the to headlines such as rescuers are sifting through the wreckage\n", + "******************************************************************\n", + "predicted: 0 , actual: 1\n", + "house energy ampamp commerce subcommittee to hold hearing of cdc oversight of bioterror labs army anthrax mishaps httย‰รป\n" + ] + } + ], + "source": [ + "#checking misclasifications\n", + "maxtoshow=10\n", + "flattened_preds=y_pred_valid.flatten()\n", + "np_y_test=y_test.to_numpy()\n", + "np_X_test=X_test.to_numpy()\n", + "errors = flattened_preds != np_y_test\n", + "counter=0\n", + "for i in range(X_test.shape[0]):\n", + " if counter>=maxtoshow:\n", + " break \n", + " if errors[i]:\n", + " print(\"*\"*66)\n", + " print(f\"predicted: {flattened_preds[i]} , actual: {np_y_test[i]}\")\n", + " print(np_X_test[i])\n", + " counter+=1" + ] + }, + { + "cell_type": "markdown", + "id": "f157174b", + "metadata": {}, + "source": [ + "### Predicting Test Set Outcomes" + ] + }, + { + "cell_type": "code", + "execution_count": 71, + "id": "b7eecd04", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "102/102 [==============================] - 1s 6ms/step\n", + "Your submission was successfully saved!\n" + ] + } + ], + "source": [ + "# storing predictions in to a dataframe and writing to a csv file\n", + "final_out=pd.DataFrame(columns=['id', 'target'])\n", + "final_out['id']=df_test['id']\n", + "final_out['target'] = tf.math.round(tunned_model_lstm.predict(df_test_padded)).numpy().astype(int) \n", + "final_out.to_csv('submission.csv', index=False)\n", + "print(\"Your submission was successfully saved!\")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "advancedml", + "language": "python", + "name": "advancedml" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.18" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}