diff --git a/14_imbalanced/Handling Imbalanced Data In Customer Churn Using ANN/bank_turnover_customer_churn_excercise_solution.ipynb b/14_imbalanced/Handling Imbalanced Data In Customer Churn Using ANN/bank_turnover_customer_churn_excercise_solution.ipynb
new file mode 100644
index 0000000..33ffd3a
--- /dev/null
+++ b/14_imbalanced/Handling Imbalanced Data In Customer Churn Using ANN/bank_turnover_customer_churn_excercise_solution.ipynb
@@ -0,0 +1,8711 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 99,
+ "id": "ea68617f",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import numpy as np\n",
+ "import pandas as pd\n",
+ "from sklearn.model_selection import train_test_split\n",
+ "from sklearn.metrics import classification_report, confusion_matrix\n",
+ "from sklearn.linear_model import LogisticRegression\n",
+ "import tensorflow as tf\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 100,
+ "id": "99e606ac",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "gpus = tf.config.list_physical_devices('GPU')\n",
+ "if gpus:\n",
+ " for gpu in gpus:\n",
+ " tf.config.experimental.set_memory_growth(gpu, True)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 137,
+ "id": "f1b8fb5d",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def ANN_model(input_dim, x_train, y_train, x_test, y_test, loss_fn, epochs=50, class_weight=-1):\n",
+ " model = tf.keras.Sequential([\n",
+ " tf.keras.layers.Dense(input_dim, activation='relu', input_dim=input_dim),\n",
+ " tf.keras.layers.Dense(10, activation='relu'),\n",
+ " tf.keras.layers.Dense(1, activation='sigmoid')\n",
+ " ])\n",
+ " model.compile(optimizer='adam', loss=loss_fn, metrics=['accuracy'])\n",
+ " if class_weight != -1:\n",
+ " model.fit(x_train, y_train, epochs=epochs, class_weight=class_weight)\n",
+ " else:\n",
+ " model.fit(x_train, y_train, epochs=epochs)\n",
+ "\n",
+ " test_loss, test_accuracy = model.evaluate(x_test, y_test)\n",
+ " print(f'Test Loss: {test_loss}, Test Accuracy: {test_accuracy}')\n",
+ "\n",
+ " y_preds = model.predict(x_test)\n",
+ " y_preds = np.round(y_preds).astype(int)\n",
+ " print(confusion_matrix(y_test, y_preds))\n",
+ " print(classification_report(y_test, y_preds))\n",
+ " \n",
+ " return y_preds"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 102,
+ "id": "f15029f8",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "(10000, 14)"
+ ]
+ },
+ "execution_count": 102,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df = pd.read_csv('Churn_Modelling.csv')\n",
+ "df.shape"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 103,
+ "id": "78c5c6c8",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " RowNumber | \n",
+ " CustomerId | \n",
+ " Surname | \n",
+ " CreditScore | \n",
+ " Geography | \n",
+ " Gender | \n",
+ " Age | \n",
+ " Tenure | \n",
+ " Balance | \n",
+ " NumOfProducts | \n",
+ " HasCrCard | \n",
+ " IsActiveMember | \n",
+ " EstimatedSalary | \n",
+ " Exited | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 1 | \n",
+ " 15634602 | \n",
+ " Hargrave | \n",
+ " 619 | \n",
+ " France | \n",
+ " Female | \n",
+ " 42 | \n",
+ " 2 | \n",
+ " 0.00 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 101348.88 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 2 | \n",
+ " 15647311 | \n",
+ " Hill | \n",
+ " 608 | \n",
+ " Spain | \n",
+ " Female | \n",
+ " 41 | \n",
+ " 1 | \n",
+ " 83807.86 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 112542.58 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 3 | \n",
+ " 15619304 | \n",
+ " Onio | \n",
+ " 502 | \n",
+ " France | \n",
+ " Female | \n",
+ " 42 | \n",
+ " 8 | \n",
+ " 159660.80 | \n",
+ " 3 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 113931.57 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 4 | \n",
+ " 15701354 | \n",
+ " Boni | \n",
+ " 699 | \n",
+ " France | \n",
+ " Female | \n",
+ " 39 | \n",
+ " 1 | \n",
+ " 0.00 | \n",
+ " 2 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 93826.63 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 5 | \n",
+ " 15737888 | \n",
+ " Mitchell | \n",
+ " 850 | \n",
+ " Spain | \n",
+ " Female | \n",
+ " 43 | \n",
+ " 2 | \n",
+ " 125510.82 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 79084.10 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " RowNumber CustomerId Surname CreditScore Geography Gender Age \\\n",
+ "0 1 15634602 Hargrave 619 France Female 42 \n",
+ "1 2 15647311 Hill 608 Spain Female 41 \n",
+ "2 3 15619304 Onio 502 France Female 42 \n",
+ "3 4 15701354 Boni 699 France Female 39 \n",
+ "4 5 15737888 Mitchell 850 Spain Female 43 \n",
+ "\n",
+ " Tenure Balance NumOfProducts HasCrCard IsActiveMember \\\n",
+ "0 2 0.00 1 1 1 \n",
+ "1 1 83807.86 1 0 1 \n",
+ "2 8 159660.80 3 1 0 \n",
+ "3 1 0.00 2 0 0 \n",
+ "4 2 125510.82 1 1 1 \n",
+ "\n",
+ " EstimatedSalary Exited \n",
+ "0 101348.88 1 \n",
+ "1 112542.58 0 \n",
+ "2 113931.57 1 \n",
+ "3 93826.63 0 \n",
+ "4 79084.10 0 "
+ ]
+ },
+ "execution_count": 103,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 104,
+ "id": "55c13edd",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "array(['France', 'Spain', 'Germany'], dtype=object)"
+ ]
+ },
+ "execution_count": 104,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.Geography.unique()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 105,
+ "id": "7f25575c",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "2932"
+ ]
+ },
+ "execution_count": 105,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "len(df.Surname.unique())"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 106,
+ "id": "a8a8b922",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "RangeIndex: 10000 entries, 0 to 9999\n",
+ "Data columns (total 11 columns):\n",
+ " # Column Non-Null Count Dtype \n",
+ "--- ------ -------------- ----- \n",
+ " 0 CreditScore 10000 non-null int64 \n",
+ " 1 Geography 10000 non-null object \n",
+ " 2 Gender 10000 non-null object \n",
+ " 3 Age 10000 non-null int64 \n",
+ " 4 Tenure 10000 non-null int64 \n",
+ " 5 Balance 10000 non-null float64\n",
+ " 6 NumOfProducts 10000 non-null int64 \n",
+ " 7 HasCrCard 10000 non-null int64 \n",
+ " 8 IsActiveMember 10000 non-null int64 \n",
+ " 9 EstimatedSalary 10000 non-null float64\n",
+ " 10 Exited 10000 non-null int64 \n",
+ "dtypes: float64(2), int64(7), object(2)\n",
+ "memory usage: 859.5+ KB\n"
+ ]
+ }
+ ],
+ "source": [
+ "df1 = df.drop(columns=['RowNumber', 'CustomerId', 'Surname'])\n",
+ "df1.info()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 107,
+ "id": "79ca65c3",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " CreditScore | \n",
+ " Geography | \n",
+ " Gender | \n",
+ " Age | \n",
+ " Tenure | \n",
+ " Balance | \n",
+ " NumOfProducts | \n",
+ " HasCrCard | \n",
+ " IsActiveMember | \n",
+ " EstimatedSalary | \n",
+ " Exited | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 619 | \n",
+ " France | \n",
+ " Female | \n",
+ " 42 | \n",
+ " 2 | \n",
+ " 0.00 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 101348.88 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 608 | \n",
+ " Spain | \n",
+ " Female | \n",
+ " 41 | \n",
+ " 1 | \n",
+ " 83807.86 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 112542.58 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 502 | \n",
+ " France | \n",
+ " Female | \n",
+ " 42 | \n",
+ " 8 | \n",
+ " 159660.80 | \n",
+ " 3 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 113931.57 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 699 | \n",
+ " France | \n",
+ " Female | \n",
+ " 39 | \n",
+ " 1 | \n",
+ " 0.00 | \n",
+ " 2 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 93826.63 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 850 | \n",
+ " Spain | \n",
+ " Female | \n",
+ " 43 | \n",
+ " 2 | \n",
+ " 125510.82 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 79084.10 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " CreditScore Geography Gender Age Tenure Balance NumOfProducts \\\n",
+ "0 619 France Female 42 2 0.00 1 \n",
+ "1 608 Spain Female 41 1 83807.86 1 \n",
+ "2 502 France Female 42 8 159660.80 3 \n",
+ "3 699 France Female 39 1 0.00 2 \n",
+ "4 850 Spain Female 43 2 125510.82 1 \n",
+ "\n",
+ " HasCrCard IsActiveMember EstimatedSalary Exited \n",
+ "0 1 1 101348.88 1 \n",
+ "1 0 1 112542.58 0 \n",
+ "2 1 0 113931.57 1 \n",
+ "3 0 0 93826.63 0 \n",
+ "4 1 1 79084.10 0 "
+ ]
+ },
+ "execution_count": 107,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df1.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 108,
+ "id": "8cef25d3",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " CreditScore | \n",
+ " Age | \n",
+ " Tenure | \n",
+ " Balance | \n",
+ " NumOfProducts | \n",
+ " HasCrCard | \n",
+ " IsActiveMember | \n",
+ " EstimatedSalary | \n",
+ " Exited | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | count | \n",
+ " 10000.000000 | \n",
+ " 10000.000000 | \n",
+ " 10000.000000 | \n",
+ " 10000.000000 | \n",
+ " 10000.000000 | \n",
+ " 10000.00000 | \n",
+ " 10000.000000 | \n",
+ " 10000.000000 | \n",
+ " 10000.000000 | \n",
+ "
\n",
+ " \n",
+ " | mean | \n",
+ " 650.528800 | \n",
+ " 38.921800 | \n",
+ " 5.012800 | \n",
+ " 76485.889288 | \n",
+ " 1.530200 | \n",
+ " 0.70550 | \n",
+ " 0.515100 | \n",
+ " 100090.239881 | \n",
+ " 0.203700 | \n",
+ "
\n",
+ " \n",
+ " | std | \n",
+ " 96.653299 | \n",
+ " 10.487806 | \n",
+ " 2.892174 | \n",
+ " 62397.405202 | \n",
+ " 0.581654 | \n",
+ " 0.45584 | \n",
+ " 0.499797 | \n",
+ " 57510.492818 | \n",
+ " 0.402769 | \n",
+ "
\n",
+ " \n",
+ " | min | \n",
+ " 350.000000 | \n",
+ " 18.000000 | \n",
+ " 0.000000 | \n",
+ " 0.000000 | \n",
+ " 1.000000 | \n",
+ " 0.00000 | \n",
+ " 0.000000 | \n",
+ " 11.580000 | \n",
+ " 0.000000 | \n",
+ "
\n",
+ " \n",
+ " | 25% | \n",
+ " 584.000000 | \n",
+ " 32.000000 | \n",
+ " 3.000000 | \n",
+ " 0.000000 | \n",
+ " 1.000000 | \n",
+ " 0.00000 | \n",
+ " 0.000000 | \n",
+ " 51002.110000 | \n",
+ " 0.000000 | \n",
+ "
\n",
+ " \n",
+ " | 50% | \n",
+ " 652.000000 | \n",
+ " 37.000000 | \n",
+ " 5.000000 | \n",
+ " 97198.540000 | \n",
+ " 1.000000 | \n",
+ " 1.00000 | \n",
+ " 1.000000 | \n",
+ " 100193.915000 | \n",
+ " 0.000000 | \n",
+ "
\n",
+ " \n",
+ " | 75% | \n",
+ " 718.000000 | \n",
+ " 44.000000 | \n",
+ " 7.000000 | \n",
+ " 127644.240000 | \n",
+ " 2.000000 | \n",
+ " 1.00000 | \n",
+ " 1.000000 | \n",
+ " 149388.247500 | \n",
+ " 0.000000 | \n",
+ "
\n",
+ " \n",
+ " | max | \n",
+ " 850.000000 | \n",
+ " 92.000000 | \n",
+ " 10.000000 | \n",
+ " 250898.090000 | \n",
+ " 4.000000 | \n",
+ " 1.00000 | \n",
+ " 1.000000 | \n",
+ " 199992.480000 | \n",
+ " 1.000000 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " CreditScore Age Tenure Balance NumOfProducts \\\n",
+ "count 10000.000000 10000.000000 10000.000000 10000.000000 10000.000000 \n",
+ "mean 650.528800 38.921800 5.012800 76485.889288 1.530200 \n",
+ "std 96.653299 10.487806 2.892174 62397.405202 0.581654 \n",
+ "min 350.000000 18.000000 0.000000 0.000000 1.000000 \n",
+ "25% 584.000000 32.000000 3.000000 0.000000 1.000000 \n",
+ "50% 652.000000 37.000000 5.000000 97198.540000 1.000000 \n",
+ "75% 718.000000 44.000000 7.000000 127644.240000 2.000000 \n",
+ "max 850.000000 92.000000 10.000000 250898.090000 4.000000 \n",
+ "\n",
+ " HasCrCard IsActiveMember EstimatedSalary Exited \n",
+ "count 10000.00000 10000.000000 10000.000000 10000.000000 \n",
+ "mean 0.70550 0.515100 100090.239881 0.203700 \n",
+ "std 0.45584 0.499797 57510.492818 0.402769 \n",
+ "min 0.00000 0.000000 11.580000 0.000000 \n",
+ "25% 0.00000 0.000000 51002.110000 0.000000 \n",
+ "50% 1.00000 1.000000 100193.915000 0.000000 \n",
+ "75% 1.00000 1.000000 149388.247500 0.000000 \n",
+ "max 1.00000 1.000000 199992.480000 1.000000 "
+ ]
+ },
+ "execution_count": 108,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df1.describe()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 109,
+ "id": "a6b3f0b2",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "columns_to_be_scaled = ['CreditScore', 'Age', 'Tenure', 'Balance', 'NumOfProducts', 'EstimatedSalary']"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 110,
+ "id": "b98da0f4",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "columns_to_be_encoded = ['Geography', 'Gender']"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 111,
+ "id": "12c063a8",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " CreditScore | \n",
+ " Age | \n",
+ " Tenure | \n",
+ " Balance | \n",
+ " NumOfProducts | \n",
+ " EstimatedSalary | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 0.538 | \n",
+ " 0.324324 | \n",
+ " 0.2 | \n",
+ " 0.000000 | \n",
+ " 0.000000 | \n",
+ " 0.506735 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 0.516 | \n",
+ " 0.310811 | \n",
+ " 0.1 | \n",
+ " 0.334031 | \n",
+ " 0.000000 | \n",
+ " 0.562709 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 0.304 | \n",
+ " 0.324324 | \n",
+ " 0.8 | \n",
+ " 0.636357 | \n",
+ " 0.666667 | \n",
+ " 0.569654 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 0.698 | \n",
+ " 0.283784 | \n",
+ " 0.1 | \n",
+ " 0.000000 | \n",
+ " 0.333333 | \n",
+ " 0.469120 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 1.000 | \n",
+ " 0.337838 | \n",
+ " 0.2 | \n",
+ " 0.500246 | \n",
+ " 0.000000 | \n",
+ " 0.395400 | \n",
+ "
\n",
+ " \n",
+ " | ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " | 9995 | \n",
+ " 0.842 | \n",
+ " 0.283784 | \n",
+ " 0.5 | \n",
+ " 0.000000 | \n",
+ " 0.333333 | \n",
+ " 0.481341 | \n",
+ "
\n",
+ " \n",
+ " | 9996 | \n",
+ " 0.332 | \n",
+ " 0.229730 | \n",
+ " 1.0 | \n",
+ " 0.228657 | \n",
+ " 0.000000 | \n",
+ " 0.508490 | \n",
+ "
\n",
+ " \n",
+ " | 9997 | \n",
+ " 0.718 | \n",
+ " 0.243243 | \n",
+ " 0.7 | \n",
+ " 0.000000 | \n",
+ " 0.000000 | \n",
+ " 0.210390 | \n",
+ "
\n",
+ " \n",
+ " | 9998 | \n",
+ " 0.844 | \n",
+ " 0.324324 | \n",
+ " 0.3 | \n",
+ " 0.299226 | \n",
+ " 0.333333 | \n",
+ " 0.464429 | \n",
+ "
\n",
+ " \n",
+ " | 9999 | \n",
+ " 0.884 | \n",
+ " 0.135135 | \n",
+ " 0.4 | \n",
+ " 0.518708 | \n",
+ " 0.000000 | \n",
+ " 0.190914 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
10000 rows × 6 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " CreditScore Age Tenure Balance NumOfProducts EstimatedSalary\n",
+ "0 0.538 0.324324 0.2 0.000000 0.000000 0.506735\n",
+ "1 0.516 0.310811 0.1 0.334031 0.000000 0.562709\n",
+ "2 0.304 0.324324 0.8 0.636357 0.666667 0.569654\n",
+ "3 0.698 0.283784 0.1 0.000000 0.333333 0.469120\n",
+ "4 1.000 0.337838 0.2 0.500246 0.000000 0.395400\n",
+ "... ... ... ... ... ... ...\n",
+ "9995 0.842 0.283784 0.5 0.000000 0.333333 0.481341\n",
+ "9996 0.332 0.229730 1.0 0.228657 0.000000 0.508490\n",
+ "9997 0.718 0.243243 0.7 0.000000 0.000000 0.210390\n",
+ "9998 0.844 0.324324 0.3 0.299226 0.333333 0.464429\n",
+ "9999 0.884 0.135135 0.4 0.518708 0.000000 0.190914\n",
+ "\n",
+ "[10000 rows x 6 columns]"
+ ]
+ },
+ "execution_count": 111,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "from sklearn.preprocessing import MinMaxScaler\n",
+ "scaler = MinMaxScaler()\n",
+ "transformed_columns = scaler.fit_transform(df1[columns_to_be_scaled])\n",
+ "df_scaled = pd.DataFrame(transformed_columns, columns=columns_to_be_scaled)\n",
+ "df_scaled"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 112,
+ "id": "f7f9e3cc",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Geography | \n",
+ " Gender | \n",
+ " HasCrCard | \n",
+ " IsActiveMember | \n",
+ " Exited | \n",
+ " CreditScore | \n",
+ " Age | \n",
+ " Tenure | \n",
+ " Balance | \n",
+ " NumOfProducts | \n",
+ " EstimatedSalary | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " France | \n",
+ " Female | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0.538 | \n",
+ " 0.324324 | \n",
+ " 0.2 | \n",
+ " 0.000000 | \n",
+ " 0.000000 | \n",
+ " 0.506735 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " Spain | \n",
+ " Female | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0.516 | \n",
+ " 0.310811 | \n",
+ " 0.1 | \n",
+ " 0.334031 | \n",
+ " 0.000000 | \n",
+ " 0.562709 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " France | \n",
+ " Female | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0.304 | \n",
+ " 0.324324 | \n",
+ " 0.8 | \n",
+ " 0.636357 | \n",
+ " 0.666667 | \n",
+ " 0.569654 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " France | \n",
+ " Female | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0.698 | \n",
+ " 0.283784 | \n",
+ " 0.1 | \n",
+ " 0.000000 | \n",
+ " 0.333333 | \n",
+ " 0.469120 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " Spain | \n",
+ " Female | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 1.000 | \n",
+ " 0.337838 | \n",
+ " 0.2 | \n",
+ " 0.500246 | \n",
+ " 0.000000 | \n",
+ " 0.395400 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Geography Gender HasCrCard IsActiveMember Exited CreditScore Age \\\n",
+ "0 France Female 1 1 1 0.538 0.324324 \n",
+ "1 Spain Female 0 1 0 0.516 0.310811 \n",
+ "2 France Female 1 0 1 0.304 0.324324 \n",
+ "3 France Female 0 0 0 0.698 0.283784 \n",
+ "4 Spain Female 1 1 0 1.000 0.337838 \n",
+ "\n",
+ " Tenure Balance NumOfProducts EstimatedSalary \n",
+ "0 0.2 0.000000 0.000000 0.506735 \n",
+ "1 0.1 0.334031 0.000000 0.562709 \n",
+ "2 0.8 0.636357 0.666667 0.569654 \n",
+ "3 0.1 0.000000 0.333333 0.469120 \n",
+ "4 0.2 0.500246 0.000000 0.395400 "
+ ]
+ },
+ "execution_count": 112,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df2 = pd.concat([df1.drop(columns=columns_to_be_scaled, axis=1), df_scaled], axis=1)\n",
+ "df2.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 113,
+ "id": "a852e2da",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Geography_France | \n",
+ " Geography_Germany | \n",
+ " Geography_Spain | \n",
+ " Gender_Female | \n",
+ " Gender_Male | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 1.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 1.0 | \n",
+ " 0.0 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 1.0 | \n",
+ " 1.0 | \n",
+ " 0.0 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 1.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 1.0 | \n",
+ " 0.0 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 1.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 1.0 | \n",
+ " 0.0 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 1.0 | \n",
+ " 1.0 | \n",
+ " 0.0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Geography_France Geography_Germany Geography_Spain Gender_Female \\\n",
+ "0 1.0 0.0 0.0 1.0 \n",
+ "1 0.0 0.0 1.0 1.0 \n",
+ "2 1.0 0.0 0.0 1.0 \n",
+ "3 1.0 0.0 0.0 1.0 \n",
+ "4 0.0 0.0 1.0 1.0 \n",
+ "\n",
+ " Gender_Male \n",
+ "0 0.0 \n",
+ "1 0.0 \n",
+ "2 0.0 \n",
+ "3 0.0 \n",
+ "4 0.0 "
+ ]
+ },
+ "execution_count": 113,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "from sklearn.preprocessing import OneHotEncoder\n",
+ "\n",
+ "ohe = OneHotEncoder()\n",
+ "transformed_cols = ohe.fit_transform(df2[columns_to_be_encoded])\n",
+ "df_encoded = pd.DataFrame(transformed_cols.toarray(), columns=ohe.get_feature_names_out(columns_to_be_encoded))\n",
+ "df_encoded.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 114,
+ "id": "19445bf1",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " HasCrCard | \n",
+ " IsActiveMember | \n",
+ " Exited | \n",
+ " CreditScore | \n",
+ " Age | \n",
+ " Tenure | \n",
+ " Balance | \n",
+ " NumOfProducts | \n",
+ " EstimatedSalary | \n",
+ " Geography_France | \n",
+ " Geography_Germany | \n",
+ " Geography_Spain | \n",
+ " Gender_Female | \n",
+ " Gender_Male | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0.538 | \n",
+ " 0.324324 | \n",
+ " 0.2 | \n",
+ " 0.000000 | \n",
+ " 0.000000 | \n",
+ " 0.506735 | \n",
+ " 1.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 1.0 | \n",
+ " 0.0 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0.516 | \n",
+ " 0.310811 | \n",
+ " 0.1 | \n",
+ " 0.334031 | \n",
+ " 0.000000 | \n",
+ " 0.562709 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 1.0 | \n",
+ " 1.0 | \n",
+ " 0.0 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0.304 | \n",
+ " 0.324324 | \n",
+ " 0.8 | \n",
+ " 0.636357 | \n",
+ " 0.666667 | \n",
+ " 0.569654 | \n",
+ " 1.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 1.0 | \n",
+ " 0.0 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0.698 | \n",
+ " 0.283784 | \n",
+ " 0.1 | \n",
+ " 0.000000 | \n",
+ " 0.333333 | \n",
+ " 0.469120 | \n",
+ " 1.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 1.0 | \n",
+ " 0.0 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 1.000 | \n",
+ " 0.337838 | \n",
+ " 0.2 | \n",
+ " 0.500246 | \n",
+ " 0.000000 | \n",
+ " 0.395400 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 1.0 | \n",
+ " 1.0 | \n",
+ " 0.0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " HasCrCard IsActiveMember Exited CreditScore Age Tenure Balance \\\n",
+ "0 1 1 1 0.538 0.324324 0.2 0.000000 \n",
+ "1 0 1 0 0.516 0.310811 0.1 0.334031 \n",
+ "2 1 0 1 0.304 0.324324 0.8 0.636357 \n",
+ "3 0 0 0 0.698 0.283784 0.1 0.000000 \n",
+ "4 1 1 0 1.000 0.337838 0.2 0.500246 \n",
+ "\n",
+ " NumOfProducts EstimatedSalary Geography_France Geography_Germany \\\n",
+ "0 0.000000 0.506735 1.0 0.0 \n",
+ "1 0.000000 0.562709 0.0 0.0 \n",
+ "2 0.666667 0.569654 1.0 0.0 \n",
+ "3 0.333333 0.469120 1.0 0.0 \n",
+ "4 0.000000 0.395400 0.0 0.0 \n",
+ "\n",
+ " Geography_Spain Gender_Female Gender_Male \n",
+ "0 0.0 1.0 0.0 \n",
+ "1 1.0 1.0 0.0 \n",
+ "2 0.0 1.0 0.0 \n",
+ "3 0.0 1.0 0.0 \n",
+ "4 1.0 1.0 0.0 "
+ ]
+ },
+ "execution_count": 114,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df3 = pd.concat([df2.drop(columns=columns_to_be_encoded, axis=1), df_encoded], axis=1)\n",
+ "df3.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 115,
+ "id": "0c959f1b",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Exited\n",
+ "0 7963\n",
+ "1 2037\n",
+ "Name: count, dtype: int64"
+ ]
+ },
+ "execution_count": 115,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df3.Exited.value_counts()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 116,
+ "id": "94b4ca38",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "((10000, 13), (10000,))"
+ ]
+ },
+ "execution_count": 116,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "X = df3.drop('Exited', axis = 1)\n",
+ "y = df3['Exited']\n",
+ "X.shape, y.shape"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 147,
+ "id": "2c1352a6",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.1, random_state=15, stratify=y)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "ad4b8a65",
+ "metadata": {},
+ "source": [
+ "**Oversample using SMOTE**"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 148,
+ "id": "2e1d8c93",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Exited\n",
+ "1 7963\n",
+ "0 7963\n",
+ "Name: count, dtype: int64"
+ ]
+ },
+ "execution_count": 148,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "from imblearn.over_sampling import SMOTE\n",
+ "\n",
+ "smote = SMOTE(sampling_strategy='minority')\n",
+ "X_sm, y_sm = smote.fit_resample(X, y)\n",
+ "y_sm.value_counts()\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 149,
+ "id": "37c0de8c",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Exited\n",
+ "0 796\n",
+ "1 204\n",
+ "Name: count, dtype: int64"
+ ]
+ },
+ "execution_count": 149,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "y_test.value_counts()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 150,
+ "id": "79b0dfa8",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "(15926, 13)"
+ ]
+ },
+ "execution_count": 150,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "X_sm.shape"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 151,
+ "id": "9e325faf",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "X_train_sm, X_test_sm, y_train_sm, y_test_sm = train_test_split(X, y, test_size=0.1, random_state=15, stratify=y)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 152,
+ "id": "9dff73eb",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Epoch 1/100\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "/home/gpreddy/Desktop/Pranav/personal/AI_ML/notebooks/venv/lib/python3.12/site-packages/keras/src/layers/core/dense.py:95: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
+ " super().__init__(activity_regularizer=activity_regularizer, **kwargs)\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 3ms/step - accuracy: 0.7927 - loss: 0.5080\n",
+ "Epoch 2/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 3ms/step - accuracy: 0.7927 - loss: 0.5080\n",
+ "Epoch 2/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7963 - loss: 0.4610\n",
+ "Epoch 3/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7963 - loss: 0.4610\n",
+ "Epoch 3/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7963 - loss: 0.4468\n",
+ "Epoch 4/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7963 - loss: 0.4468\n",
+ "Epoch 4/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7970 - loss: 0.4341 \n",
+ "Epoch 5/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7970 - loss: 0.4341 \n",
+ "Epoch 5/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 800us/step - accuracy: 0.8094 - loss: 0.4228\n",
+ "Epoch 6/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 800us/step - accuracy: 0.8094 - loss: 0.4228\n",
+ "Epoch 6/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8166 - loss: 0.4146\n",
+ "Epoch 7/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8166 - loss: 0.4146\n",
+ "Epoch 7/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 914us/step - accuracy: 0.8242 - loss: 0.4083\n",
+ "Epoch 8/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 914us/step - accuracy: 0.8242 - loss: 0.4083\n",
+ "Epoch 8/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8296 - loss: 0.4032\n",
+ "Epoch 9/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8296 - loss: 0.4032\n",
+ "Epoch 9/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8329 - loss: 0.3978 \n",
+ "Epoch 10/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8329 - loss: 0.3978 \n",
+ "Epoch 10/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 961us/step - accuracy: 0.8358 - loss: 0.3944\n",
+ "Epoch 11/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 961us/step - accuracy: 0.8358 - loss: 0.3944\n",
+ "Epoch 11/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.8353 - loss: 0.3902\n",
+ "Epoch 12/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.8353 - loss: 0.3902\n",
+ "Epoch 12/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8389 - loss: 0.3866 \n",
+ "Epoch 13/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8389 - loss: 0.3866 \n",
+ "Epoch 13/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8411 - loss: 0.3828\n",
+ "Epoch 14/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8411 - loss: 0.3828\n",
+ "Epoch 14/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8430 - loss: 0.3800\n",
+ "Epoch 15/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8430 - loss: 0.3800\n",
+ "Epoch 15/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8427 - loss: 0.3787\n",
+ "Epoch 16/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8427 - loss: 0.3787\n",
+ "Epoch 16/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8468 - loss: 0.3740\n",
+ "Epoch 17/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8468 - loss: 0.3740\n",
+ "Epoch 17/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8454 - loss: 0.3724\n",
+ "Epoch 18/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8454 - loss: 0.3724\n",
+ "Epoch 18/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8476 - loss: 0.3694\n",
+ "Epoch 19/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8476 - loss: 0.3694\n",
+ "Epoch 19/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8488 - loss: 0.3672\n",
+ "Epoch 20/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8488 - loss: 0.3672\n",
+ "Epoch 20/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8507 - loss: 0.3643\n",
+ "Epoch 21/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8507 - loss: 0.3643\n",
+ "Epoch 21/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8502 - loss: 0.3630 \n",
+ "Epoch 22/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8502 - loss: 0.3630 \n",
+ "Epoch 22/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 790us/step - accuracy: 0.8508 - loss: 0.3630\n",
+ "Epoch 23/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 790us/step - accuracy: 0.8508 - loss: 0.3630\n",
+ "Epoch 23/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 890us/step - accuracy: 0.8544 - loss: 0.3603\n",
+ "Epoch 24/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 890us/step - accuracy: 0.8544 - loss: 0.3603\n",
+ "Epoch 24/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8537 - loss: 0.3595\n",
+ "Epoch 25/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8537 - loss: 0.3595\n",
+ "Epoch 25/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.8549 - loss: 0.3566\n",
+ "Epoch 26/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.8549 - loss: 0.3566\n",
+ "Epoch 26/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8553 - loss: 0.3566\n",
+ "Epoch 27/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8553 - loss: 0.3566\n",
+ "Epoch 27/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8571 - loss: 0.3554\n",
+ "Epoch 28/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8571 - loss: 0.3554\n",
+ "Epoch 28/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8560 - loss: 0.3532\n",
+ "Epoch 29/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8560 - loss: 0.3532\n",
+ "Epoch 29/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 817us/step - accuracy: 0.8570 - loss: 0.3531\n",
+ "Epoch 30/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 817us/step - accuracy: 0.8570 - loss: 0.3531\n",
+ "Epoch 30/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8571 - loss: 0.3523\n",
+ "Epoch 31/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8571 - loss: 0.3523\n",
+ "Epoch 31/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8574 - loss: 0.3521\n",
+ "Epoch 32/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8574 - loss: 0.3521\n",
+ "Epoch 32/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 864us/step - accuracy: 0.8571 - loss: 0.3509\n",
+ "Epoch 33/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 864us/step - accuracy: 0.8571 - loss: 0.3509\n",
+ "Epoch 33/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8591 - loss: 0.3502\n",
+ "Epoch 34/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8591 - loss: 0.3502\n",
+ "Epoch 34/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8582 - loss: 0.3495\n",
+ "Epoch 35/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8582 - loss: 0.3495\n",
+ "Epoch 35/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.8558 - loss: 0.3498\n",
+ "Epoch 36/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.8558 - loss: 0.3498\n",
+ "Epoch 36/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8600 - loss: 0.3483\n",
+ "Epoch 37/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8600 - loss: 0.3483\n",
+ "Epoch 37/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 867us/step - accuracy: 0.8601 - loss: 0.3479\n",
+ "Epoch 38/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 867us/step - accuracy: 0.8601 - loss: 0.3479\n",
+ "Epoch 38/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8587 - loss: 0.3473\n",
+ "Epoch 39/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8587 - loss: 0.3473\n",
+ "Epoch 39/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8577 - loss: 0.3479\n",
+ "Epoch 40/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8577 - loss: 0.3479\n",
+ "Epoch 40/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8612 - loss: 0.3456\n",
+ "Epoch 41/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8612 - loss: 0.3456\n",
+ "Epoch 41/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 880us/step - accuracy: 0.8607 - loss: 0.3466\n",
+ "Epoch 42/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 880us/step - accuracy: 0.8607 - loss: 0.3466\n",
+ "Epoch 42/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 937us/step - accuracy: 0.8606 - loss: 0.3450\n",
+ "Epoch 43/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 937us/step - accuracy: 0.8606 - loss: 0.3450\n",
+ "Epoch 43/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8589 - loss: 0.3465\n",
+ "Epoch 44/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8589 - loss: 0.3465\n",
+ "Epoch 44/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.8584 - loss: 0.3454\n",
+ "Epoch 45/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.8584 - loss: 0.3454\n",
+ "Epoch 45/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8588 - loss: 0.3445\n",
+ "Epoch 46/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8588 - loss: 0.3445\n",
+ "Epoch 46/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 803us/step - accuracy: 0.8584 - loss: 0.3446\n",
+ "Epoch 47/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 803us/step - accuracy: 0.8584 - loss: 0.3446\n",
+ "Epoch 47/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8590 - loss: 0.3441\n",
+ "Epoch 48/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8590 - loss: 0.3441\n",
+ "Epoch 48/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8599 - loss: 0.3436\n",
+ "Epoch 49/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8599 - loss: 0.3436\n",
+ "Epoch 49/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8563 - loss: 0.3463\n",
+ "Epoch 50/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8563 - loss: 0.3463\n",
+ "Epoch 50/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8604 - loss: 0.3441\n",
+ "Epoch 51/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8604 - loss: 0.3441\n",
+ "Epoch 51/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8614 - loss: 0.3442\n",
+ "Epoch 52/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8614 - loss: 0.3442\n",
+ "Epoch 52/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8606 - loss: 0.3438\n",
+ "Epoch 53/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8606 - loss: 0.3438\n",
+ "Epoch 53/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8603 - loss: 0.3436\n",
+ "Epoch 54/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8603 - loss: 0.3436\n",
+ "Epoch 54/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 838us/step - accuracy: 0.8587 - loss: 0.3428\n",
+ "Epoch 55/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 838us/step - accuracy: 0.8587 - loss: 0.3428\n",
+ "Epoch 55/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8587 - loss: 0.3436\n",
+ "Epoch 56/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8587 - loss: 0.3436\n",
+ "Epoch 56/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 934us/step - accuracy: 0.8590 - loss: 0.3425\n",
+ "Epoch 57/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 934us/step - accuracy: 0.8590 - loss: 0.3425\n",
+ "Epoch 57/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8604 - loss: 0.3428\n",
+ "Epoch 58/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8604 - loss: 0.3428\n",
+ "Epoch 58/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.8593 - loss: 0.3432\n",
+ "Epoch 59/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.8593 - loss: 0.3432\n",
+ "Epoch 59/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8602 - loss: 0.3420 \n",
+ "Epoch 60/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8602 - loss: 0.3420 \n",
+ "Epoch 60/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8609 - loss: 0.3427\n",
+ "Epoch 61/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8609 - loss: 0.3427\n",
+ "Epoch 61/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 859us/step - accuracy: 0.8607 - loss: 0.3416\n",
+ "Epoch 62/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 859us/step - accuracy: 0.8607 - loss: 0.3416\n",
+ "Epoch 62/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8589 - loss: 0.3427 \n",
+ "Epoch 63/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8589 - loss: 0.3427 \n",
+ "Epoch 63/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8594 - loss: 0.3430\n",
+ "Epoch 64/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8594 - loss: 0.3430\n",
+ "Epoch 64/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 872us/step - accuracy: 0.8598 - loss: 0.3425\n",
+ "Epoch 65/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 872us/step - accuracy: 0.8598 - loss: 0.3425\n",
+ "Epoch 65/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.8591 - loss: 0.3428\n",
+ "Epoch 66/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.8591 - loss: 0.3428\n",
+ "Epoch 66/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.8601 - loss: 0.3421\n",
+ "Epoch 67/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.8601 - loss: 0.3421\n",
+ "Epoch 67/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8613 - loss: 0.3413\n",
+ "Epoch 68/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8613 - loss: 0.3413\n",
+ "Epoch 68/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 824us/step - accuracy: 0.8594 - loss: 0.3404\n",
+ "Epoch 69/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 824us/step - accuracy: 0.8594 - loss: 0.3404\n",
+ "Epoch 69/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8597 - loss: 0.3418\n",
+ "Epoch 70/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8597 - loss: 0.3418\n",
+ "Epoch 70/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8613 - loss: 0.3415\n",
+ "Epoch 71/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8613 - loss: 0.3415\n",
+ "Epoch 71/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.8590 - loss: 0.3426\n",
+ "Epoch 72/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.8590 - loss: 0.3426\n",
+ "Epoch 72/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8606 - loss: 0.3413\n",
+ "Epoch 73/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8606 - loss: 0.3413\n",
+ "Epoch 73/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8588 - loss: 0.3409\n",
+ "Epoch 74/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8588 - loss: 0.3409\n",
+ "Epoch 74/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8602 - loss: 0.3419\n",
+ "Epoch 75/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8602 - loss: 0.3419\n",
+ "Epoch 75/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 851us/step - accuracy: 0.8596 - loss: 0.3417\n",
+ "Epoch 76/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 851us/step - accuracy: 0.8596 - loss: 0.3417\n",
+ "Epoch 76/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8603 - loss: 0.3410\n",
+ "Epoch 77/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8603 - loss: 0.3410\n",
+ "Epoch 77/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8599 - loss: 0.3408\n",
+ "Epoch 78/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8599 - loss: 0.3408\n",
+ "Epoch 78/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8610 - loss: 0.3403 \n",
+ "Epoch 79/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8610 - loss: 0.3403 \n",
+ "Epoch 79/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8606 - loss: 0.3414\n",
+ "Epoch 80/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8606 - loss: 0.3414\n",
+ "Epoch 80/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8599 - loss: 0.3399\n",
+ "Epoch 81/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8599 - loss: 0.3399\n",
+ "Epoch 81/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.8620 - loss: 0.3402\n",
+ "Epoch 82/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.8620 - loss: 0.3402\n",
+ "Epoch 82/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8599 - loss: 0.3401\n",
+ "Epoch 83/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8599 - loss: 0.3401\n",
+ "Epoch 83/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8591 - loss: 0.3401\n",
+ "Epoch 84/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8591 - loss: 0.3401\n",
+ "Epoch 84/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8618 - loss: 0.3410\n",
+ "Epoch 85/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8618 - loss: 0.3410\n",
+ "Epoch 85/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.8627 - loss: 0.3398\n",
+ "Epoch 86/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.8627 - loss: 0.3398\n",
+ "Epoch 86/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 930us/step - accuracy: 0.8584 - loss: 0.3396\n",
+ "Epoch 87/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 930us/step - accuracy: 0.8584 - loss: 0.3396\n",
+ "Epoch 87/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8592 - loss: 0.3418\n",
+ "Epoch 88/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8592 - loss: 0.3418\n",
+ "Epoch 88/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.8583 - loss: 0.3395\n",
+ "Epoch 89/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.8583 - loss: 0.3395\n",
+ "Epoch 89/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 819us/step - accuracy: 0.8612 - loss: 0.3394\n",
+ "Epoch 90/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 819us/step - accuracy: 0.8612 - loss: 0.3394\n",
+ "Epoch 90/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8588 - loss: 0.3405 \n",
+ "Epoch 91/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8588 - loss: 0.3405 \n",
+ "Epoch 91/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8599 - loss: 0.3402\n",
+ "Epoch 92/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8599 - loss: 0.3402\n",
+ "Epoch 92/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8601 - loss: 0.3407\n",
+ "Epoch 93/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8601 - loss: 0.3407\n",
+ "Epoch 93/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8614 - loss: 0.3398\n",
+ "Epoch 94/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8614 - loss: 0.3398\n",
+ "Epoch 94/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 839us/step - accuracy: 0.8590 - loss: 0.3399\n",
+ "Epoch 95/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 839us/step - accuracy: 0.8590 - loss: 0.3399\n",
+ "Epoch 95/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8590 - loss: 0.3396\n",
+ "Epoch 96/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8590 - loss: 0.3396\n",
+ "Epoch 96/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 785us/step - accuracy: 0.8594 - loss: 0.3383\n",
+ "Epoch 97/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 785us/step - accuracy: 0.8594 - loss: 0.3383\n",
+ "Epoch 97/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8587 - loss: 0.3393 \n",
+ "Epoch 98/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8587 - loss: 0.3393 \n",
+ "Epoch 98/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8588 - loss: 0.3393\n",
+ "Epoch 99/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8588 - loss: 0.3393\n",
+ "Epoch 99/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8602 - loss: 0.3400\n",
+ "Epoch 100/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8602 - loss: 0.3400\n",
+ "Epoch 100/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 801us/step - accuracy: 0.8618 - loss: 0.3389\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 801us/step - accuracy: 0.8618 - loss: 0.3389\n",
+ "\u001b[1m32/32\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 5ms/step - accuracy: 0.8740 - loss: 0.3234\n",
+ "\u001b[1m32/32\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 5ms/step - accuracy: 0.8740 - loss: 0.3234\n",
+ "Test Loss: 0.3234354555606842, Test Accuracy: 0.8740000128746033\n",
+ "Test Loss: 0.3234354555606842, Test Accuracy: 0.8740000128746033\n",
+ "\u001b[1m32/32\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step\n",
+ "\u001b[1m32/32\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step\n",
+ "[[773 23]\n",
+ " [103 101]]\n",
+ " precision recall f1-score support\n",
+ "\n",
+ " 0 0.88 0.97 0.92 796\n",
+ " 1 0.81 0.50 0.62 204\n",
+ "\n",
+ " accuracy 0.87 1000\n",
+ " macro avg 0.85 0.73 0.77 1000\n",
+ "weighted avg 0.87 0.87 0.86 1000\n",
+ "\n",
+ "[[773 23]\n",
+ " [103 101]]\n",
+ " precision recall f1-score support\n",
+ "\n",
+ " 0 0.88 0.97 0.92 796\n",
+ " 1 0.81 0.50 0.62 204\n",
+ "\n",
+ " accuracy 0.87 1000\n",
+ " macro avg 0.85 0.73 0.77 1000\n",
+ "weighted avg 0.87 0.87 0.86 1000\n",
+ "\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "array([[0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0]])"
+ ]
+ },
+ "execution_count": 152,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "y_pred = ANN_model(X_train.shape[1], X_train, y_train, X_test, y_test, 'binary_crossentropy', epochs=100, class_weight=-1)\n",
+ "y_pred"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 153,
+ "id": "72c1838e",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Epoch 1/100\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "/home/gpreddy/Desktop/Pranav/personal/AI_ML/notebooks/venv/lib/python3.12/site-packages/keras/src/layers/core/dense.py:95: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
+ " super().__init__(activity_regularizer=activity_regularizer, **kwargs)\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 3ms/step - accuracy: 0.7870 - loss: 0.5241\n",
+ "Epoch 2/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 3ms/step - accuracy: 0.7870 - loss: 0.5241\n",
+ "Epoch 2/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7963 - loss: 0.4664\n",
+ "Epoch 3/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7963 - loss: 0.4664\n",
+ "Epoch 3/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8036 - loss: 0.4486\n",
+ "Epoch 4/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8036 - loss: 0.4486\n",
+ "Epoch 4/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8128 - loss: 0.4323\n",
+ "Epoch 5/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8128 - loss: 0.4323\n",
+ "Epoch 5/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8158 - loss: 0.4155\n",
+ "Epoch 6/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8158 - loss: 0.4155\n",
+ "Epoch 6/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8262 - loss: 0.3992\n",
+ "Epoch 7/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8262 - loss: 0.3992\n",
+ "Epoch 7/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8340 - loss: 0.3846\n",
+ "Epoch 8/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8340 - loss: 0.3846\n",
+ "Epoch 8/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8401 - loss: 0.3756\n",
+ "Epoch 9/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8401 - loss: 0.3756\n",
+ "Epoch 9/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8403 - loss: 0.3716\n",
+ "Epoch 10/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8403 - loss: 0.3716\n",
+ "Epoch 10/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8442 - loss: 0.3665\n",
+ "Epoch 11/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8442 - loss: 0.3665\n",
+ "Epoch 11/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8414 - loss: 0.3659\n",
+ "Epoch 12/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8414 - loss: 0.3659\n",
+ "Epoch 12/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.8430 - loss: 0.3635\n",
+ "Epoch 13/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.8430 - loss: 0.3635\n",
+ "Epoch 13/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.8463 - loss: 0.3627\n",
+ "Epoch 14/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.8463 - loss: 0.3627\n",
+ "Epoch 14/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8471 - loss: 0.3615\n",
+ "Epoch 15/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8471 - loss: 0.3615\n",
+ "Epoch 15/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 876us/step - accuracy: 0.8477 - loss: 0.3606\n",
+ "Epoch 16/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 876us/step - accuracy: 0.8477 - loss: 0.3606\n",
+ "Epoch 16/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8454 - loss: 0.3598\n",
+ "Epoch 17/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8454 - loss: 0.3598\n",
+ "Epoch 17/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8472 - loss: 0.3587\n",
+ "Epoch 18/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8472 - loss: 0.3587\n",
+ "Epoch 18/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8467 - loss: 0.3584\n",
+ "Epoch 19/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8467 - loss: 0.3584\n",
+ "Epoch 19/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8496 - loss: 0.3577\n",
+ "Epoch 20/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8496 - loss: 0.3577\n",
+ "Epoch 20/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8498 - loss: 0.3569\n",
+ "Epoch 21/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8498 - loss: 0.3569\n",
+ "Epoch 21/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8490 - loss: 0.3566\n",
+ "Epoch 22/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8490 - loss: 0.3566\n",
+ "Epoch 22/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 995us/step - accuracy: 0.8490 - loss: 0.3553\n",
+ "Epoch 23/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 995us/step - accuracy: 0.8490 - loss: 0.3553\n",
+ "Epoch 23/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 799us/step - accuracy: 0.8536 - loss: 0.3548\n",
+ "Epoch 24/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 799us/step - accuracy: 0.8536 - loss: 0.3548\n",
+ "Epoch 24/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8510 - loss: 0.3545 \n",
+ "Epoch 25/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8510 - loss: 0.3545 \n",
+ "Epoch 25/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8527 - loss: 0.3531\n",
+ "Epoch 26/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8527 - loss: 0.3531\n",
+ "Epoch 26/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 822us/step - accuracy: 0.8529 - loss: 0.3534\n",
+ "Epoch 27/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 822us/step - accuracy: 0.8529 - loss: 0.3534\n",
+ "Epoch 27/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8526 - loss: 0.3528\n",
+ "Epoch 28/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8526 - loss: 0.3528\n",
+ "Epoch 28/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.8529 - loss: 0.3522\n",
+ "Epoch 29/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.8529 - loss: 0.3522\n",
+ "Epoch 29/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8536 - loss: 0.3520\n",
+ "Epoch 30/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8536 - loss: 0.3520\n",
+ "Epoch 30/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8531 - loss: 0.3515\n",
+ "Epoch 31/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8531 - loss: 0.3515\n",
+ "Epoch 31/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 774us/step - accuracy: 0.8536 - loss: 0.3515\n",
+ "Epoch 32/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 774us/step - accuracy: 0.8536 - loss: 0.3515\n",
+ "Epoch 32/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8552 - loss: 0.3510\n",
+ "Epoch 33/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8552 - loss: 0.3510\n",
+ "Epoch 33/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8560 - loss: 0.3504\n",
+ "Epoch 34/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8560 - loss: 0.3504\n",
+ "Epoch 34/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.8541 - loss: 0.3498\n",
+ "Epoch 35/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.8541 - loss: 0.3498\n",
+ "Epoch 35/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8564 - loss: 0.3496\n",
+ "Epoch 36/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8564 - loss: 0.3496\n",
+ "Epoch 36/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8558 - loss: 0.3491\n",
+ "Epoch 37/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8558 - loss: 0.3491\n",
+ "Epoch 37/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8538 - loss: 0.3494\n",
+ "Epoch 38/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8538 - loss: 0.3494\n",
+ "Epoch 38/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 932us/step - accuracy: 0.8568 - loss: 0.3486\n",
+ "Epoch 39/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 932us/step - accuracy: 0.8568 - loss: 0.3486\n",
+ "Epoch 39/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8556 - loss: 0.3474\n",
+ "Epoch 40/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8556 - loss: 0.3474\n",
+ "Epoch 40/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8569 - loss: 0.3474\n",
+ "Epoch 41/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8569 - loss: 0.3474\n",
+ "Epoch 41/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8571 - loss: 0.3480\n",
+ "Epoch 42/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8571 - loss: 0.3480\n",
+ "Epoch 42/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.8559 - loss: 0.3469\n",
+ "Epoch 43/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.8559 - loss: 0.3469\n",
+ "Epoch 43/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.8581 - loss: 0.3471\n",
+ "Epoch 44/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.8581 - loss: 0.3471\n",
+ "Epoch 44/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 786us/step - accuracy: 0.8571 - loss: 0.3475\n",
+ "Epoch 45/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 786us/step - accuracy: 0.8571 - loss: 0.3475\n",
+ "Epoch 45/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8563 - loss: 0.3465\n",
+ "Epoch 46/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8563 - loss: 0.3465\n",
+ "Epoch 46/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 775us/step - accuracy: 0.8600 - loss: 0.3451\n",
+ "Epoch 47/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 775us/step - accuracy: 0.8600 - loss: 0.3451\n",
+ "Epoch 47/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8567 - loss: 0.3464\n",
+ "Epoch 48/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8567 - loss: 0.3464\n",
+ "Epoch 48/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8571 - loss: 0.3452\n",
+ "Epoch 49/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8571 - loss: 0.3452\n",
+ "Epoch 49/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8582 - loss: 0.3454\n",
+ "Epoch 50/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8582 - loss: 0.3454\n",
+ "Epoch 50/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8573 - loss: 0.3447\n",
+ "Epoch 51/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8573 - loss: 0.3447\n",
+ "Epoch 51/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8577 - loss: 0.3448\n",
+ "Epoch 52/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8577 - loss: 0.3448\n",
+ "Epoch 52/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 794us/step - accuracy: 0.8574 - loss: 0.3444\n",
+ "Epoch 53/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 794us/step - accuracy: 0.8574 - loss: 0.3444\n",
+ "Epoch 53/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 944us/step - accuracy: 0.8567 - loss: 0.3437\n",
+ "Epoch 54/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 944us/step - accuracy: 0.8567 - loss: 0.3437\n",
+ "Epoch 54/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8571 - loss: 0.3435\n",
+ "Epoch 55/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8571 - loss: 0.3435\n",
+ "Epoch 55/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8597 - loss: 0.3432\n",
+ "Epoch 56/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8597 - loss: 0.3432\n",
+ "Epoch 56/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.8583 - loss: 0.3440\n",
+ "Epoch 57/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.8583 - loss: 0.3440\n",
+ "Epoch 57/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 829us/step - accuracy: 0.8588 - loss: 0.3428\n",
+ "Epoch 58/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 829us/step - accuracy: 0.8588 - loss: 0.3428\n",
+ "Epoch 58/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 815us/step - accuracy: 0.8579 - loss: 0.3434\n",
+ "Epoch 59/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 815us/step - accuracy: 0.8579 - loss: 0.3434\n",
+ "Epoch 59/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 810us/step - accuracy: 0.8586 - loss: 0.3435\n",
+ "Epoch 60/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 810us/step - accuracy: 0.8586 - loss: 0.3435\n",
+ "Epoch 60/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8581 - loss: 0.3431\n",
+ "Epoch 61/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8581 - loss: 0.3431\n",
+ "Epoch 61/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 995us/step - accuracy: 0.8591 - loss: 0.3424\n",
+ "Epoch 62/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 995us/step - accuracy: 0.8591 - loss: 0.3424\n",
+ "Epoch 62/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8603 - loss: 0.3415\n",
+ "Epoch 63/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8603 - loss: 0.3415\n",
+ "Epoch 63/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8591 - loss: 0.3420\n",
+ "Epoch 64/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8591 - loss: 0.3420\n",
+ "Epoch 64/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8596 - loss: 0.3408\n",
+ "Epoch 65/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8596 - loss: 0.3408\n",
+ "Epoch 65/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 953us/step - accuracy: 0.8581 - loss: 0.3419\n",
+ "Epoch 66/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 953us/step - accuracy: 0.8581 - loss: 0.3419\n",
+ "Epoch 66/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8611 - loss: 0.3413\n",
+ "Epoch 67/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8611 - loss: 0.3413\n",
+ "Epoch 67/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8584 - loss: 0.3412\n",
+ "Epoch 68/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8584 - loss: 0.3412\n",
+ "Epoch 68/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 820us/step - accuracy: 0.8597 - loss: 0.3403\n",
+ "Epoch 69/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 820us/step - accuracy: 0.8597 - loss: 0.3403\n",
+ "Epoch 69/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 788us/step - accuracy: 0.8597 - loss: 0.3403\n",
+ "Epoch 70/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 788us/step - accuracy: 0.8597 - loss: 0.3403\n",
+ "Epoch 70/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8589 - loss: 0.3405 \n",
+ "Epoch 71/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8589 - loss: 0.3405 \n",
+ "Epoch 71/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8574 - loss: 0.3413\n",
+ "Epoch 72/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8574 - loss: 0.3413\n",
+ "Epoch 72/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.8596 - loss: 0.3405\n",
+ "Epoch 73/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.8596 - loss: 0.3405\n",
+ "Epoch 73/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 917us/step - accuracy: 0.8597 - loss: 0.3400\n",
+ "Epoch 74/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 917us/step - accuracy: 0.8597 - loss: 0.3400\n",
+ "Epoch 74/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8583 - loss: 0.3397\n",
+ "Epoch 75/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8583 - loss: 0.3397\n",
+ "Epoch 75/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8589 - loss: 0.3401 \n",
+ "Epoch 76/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8589 - loss: 0.3401 \n",
+ "Epoch 76/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8602 - loss: 0.3393\n",
+ "Epoch 77/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8602 - loss: 0.3393\n",
+ "Epoch 77/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 926us/step - accuracy: 0.8588 - loss: 0.3399\n",
+ "Epoch 78/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 926us/step - accuracy: 0.8588 - loss: 0.3399\n",
+ "Epoch 78/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8626 - loss: 0.3386\n",
+ "Epoch 79/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8626 - loss: 0.3386\n",
+ "Epoch 79/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.8592 - loss: 0.3392\n",
+ "Epoch 80/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.8592 - loss: 0.3392\n",
+ "Epoch 80/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.8591 - loss: 0.3389\n",
+ "Epoch 81/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.8591 - loss: 0.3389\n",
+ "Epoch 81/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8600 - loss: 0.3390\n",
+ "Epoch 82/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8600 - loss: 0.3390\n",
+ "Epoch 82/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 826us/step - accuracy: 0.8616 - loss: 0.3381\n",
+ "Epoch 83/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 826us/step - accuracy: 0.8616 - loss: 0.3381\n",
+ "Epoch 83/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 804us/step - accuracy: 0.8597 - loss: 0.3382\n",
+ "Epoch 84/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 804us/step - accuracy: 0.8597 - loss: 0.3382\n",
+ "Epoch 84/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8586 - loss: 0.3380\n",
+ "Epoch 85/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8586 - loss: 0.3380\n",
+ "Epoch 85/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8616 - loss: 0.3380\n",
+ "Epoch 86/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8616 - loss: 0.3380\n",
+ "Epoch 86/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8608 - loss: 0.3373\n",
+ "Epoch 87/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8608 - loss: 0.3373\n",
+ "Epoch 87/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8607 - loss: 0.3375\n",
+ "Epoch 88/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8607 - loss: 0.3375\n",
+ "Epoch 88/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8594 - loss: 0.3380\n",
+ "Epoch 89/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8594 - loss: 0.3380\n",
+ "Epoch 89/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8606 - loss: 0.3377\n",
+ "Epoch 90/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8606 - loss: 0.3377\n",
+ "Epoch 90/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8608 - loss: 0.3375\n",
+ "Epoch 91/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8608 - loss: 0.3375\n",
+ "Epoch 91/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 806us/step - accuracy: 0.8610 - loss: 0.3363\n",
+ "Epoch 92/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 806us/step - accuracy: 0.8610 - loss: 0.3363\n",
+ "Epoch 92/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.8597 - loss: 0.3375\n",
+ "Epoch 93/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.8597 - loss: 0.3375\n",
+ "Epoch 93/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 856us/step - accuracy: 0.8602 - loss: 0.3367\n",
+ "Epoch 94/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 856us/step - accuracy: 0.8602 - loss: 0.3367\n",
+ "Epoch 94/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8620 - loss: 0.3363\n",
+ "Epoch 95/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8620 - loss: 0.3363\n",
+ "Epoch 95/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 833us/step - accuracy: 0.8632 - loss: 0.3363\n",
+ "Epoch 96/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 833us/step - accuracy: 0.8632 - loss: 0.3363\n",
+ "Epoch 96/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8623 - loss: 0.3368\n",
+ "Epoch 97/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8623 - loss: 0.3368\n",
+ "Epoch 97/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8632 - loss: 0.3364\n",
+ "Epoch 98/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8632 - loss: 0.3364\n",
+ "Epoch 98/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8601 - loss: 0.3370\n",
+ "Epoch 99/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8601 - loss: 0.3370\n",
+ "Epoch 99/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8597 - loss: 0.3367\n",
+ "Epoch 100/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8597 - loss: 0.3367\n",
+ "Epoch 100/100\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.8621 - loss: 0.3368\n",
+ "\u001b[1m282/282\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.8621 - loss: 0.3368\n",
+ "\u001b[1m32/32\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 5ms/step - accuracy: 0.8760 - loss: 0.3122\n",
+ "\u001b[1m32/32\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 5ms/step - accuracy: 0.8760 - loss: 0.3122\n",
+ "Test Loss: 0.31224268674850464, Test Accuracy: 0.8759999871253967\n",
+ "Test Loss: 0.31224268674850464, Test Accuracy: 0.8759999871253967\n",
+ "\u001b[1m32/32\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step\n",
+ "\u001b[1m32/32\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step\n",
+ "[[768 28]\n",
+ " [ 96 108]]\n",
+ " precision recall f1-score support\n",
+ "\n",
+ " 0 0.89 0.96 0.93 796\n",
+ " 1 0.79 0.53 0.64 204\n",
+ "\n",
+ " accuracy 0.88 1000\n",
+ " macro avg 0.84 0.75 0.78 1000\n",
+ "weighted avg 0.87 0.88 0.87 1000\n",
+ "\n",
+ "[[768 28]\n",
+ " [ 96 108]]\n",
+ " precision recall f1-score support\n",
+ "\n",
+ " 0 0.89 0.96 0.93 796\n",
+ " 1 0.79 0.53 0.64 204\n",
+ "\n",
+ " accuracy 0.88 1000\n",
+ " macro avg 0.84 0.75 0.78 1000\n",
+ "weighted avg 0.87 0.88 0.87 1000\n",
+ "\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "array([[0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0]])"
+ ]
+ },
+ "execution_count": 153,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "y_pred = ANN_model(X_train_sm.shape[1], X_train_sm, y_train_sm, X_test_sm, y_test_sm, 'binary_crossentropy', epochs=100, class_weight=-1)\n",
+ "y_pred"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "75659b7a",
+ "metadata": {},
+ "source": [
+ "**undersample**"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 154,
+ "id": "9ecb0cbb",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "(7963, 2037)"
+ ]
+ },
+ "execution_count": 154,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "count_0, count_1 = df3['Exited'].value_counts() \n",
+ "count_0, count_1"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 155,
+ "id": "6e4d5791",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "((7963, 14), (2037, 14))"
+ ]
+ },
+ "execution_count": 155,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df_class_0 = df3[df3['Exited'] == 0]\n",
+ "df_class_1 = df3[df3['Exited'] == 1]\n",
+ "df_class_0.shape, df_class_1.shape"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 156,
+ "id": "648ae19c",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "(2037, 14)"
+ ]
+ },
+ "execution_count": 156,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "class_0_under = df_class_0.sample(count_1)\n",
+ "class_0_under.shape"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 157,
+ "id": "f4cec58a",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "(4074, 14)"
+ ]
+ },
+ "execution_count": 157,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df_under_sample = pd.concat([class_0_under, df_class_1], axis=0)\n",
+ "df_under_sample.shape"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 159,
+ "id": "051f9894",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Exited\n",
+ "0 2037\n",
+ "1 2037\n",
+ "Name: count, dtype: int64"
+ ]
+ },
+ "execution_count": 159,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df_under_sample.Exited.value_counts()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 160,
+ "id": "bdd64009",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "X_under = df_under_sample.drop('Exited', axis=1)\n",
+ "y_under = df_under_sample['Exited']"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 161,
+ "id": "d956e329",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "((3666, 13), (408, 13))"
+ ]
+ },
+ "execution_count": 161,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "X_under_train, X_under_test, y_under_train, y_under_test = train_test_split(X_under, y_under, test_size=0.1, random_state=15, stratify=y_under)\n",
+ "X_under_train.shape, X_under_test.shape"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 162,
+ "id": "651043bb",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Epoch 1/100\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "/home/gpreddy/Desktop/Pranav/personal/AI_ML/notebooks/venv/lib/python3.12/site-packages/keras/src/layers/core/dense.py:95: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
+ " super().__init__(activity_regularizer=activity_regularizer, **kwargs)\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 6ms/step - accuracy: 0.5453 - loss: 0.7014\n",
+ "Epoch 2/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 6ms/step - accuracy: 0.5453 - loss: 0.7014\n",
+ "Epoch 2/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.6293 - loss: 0.6503\n",
+ "Epoch 3/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.6293 - loss: 0.6503\n",
+ "Epoch 3/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.6337 - loss: 0.6368 \n",
+ "Epoch 4/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.6337 - loss: 0.6368 \n",
+ "Epoch 4/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.6541 - loss: 0.6261\n",
+ "Epoch 5/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.6541 - loss: 0.6261\n",
+ "Epoch 5/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.6691 - loss: 0.6154 \n",
+ "Epoch 6/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.6691 - loss: 0.6154 \n",
+ "Epoch 6/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.6732 - loss: 0.6041 \n",
+ "Epoch 7/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.6732 - loss: 0.6041 \n",
+ "Epoch 7/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 901us/step - accuracy: 0.6869 - loss: 0.5921\n",
+ "Epoch 8/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 901us/step - accuracy: 0.6869 - loss: 0.5921\n",
+ "Epoch 8/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.6904 - loss: 0.5830\n",
+ "Epoch 9/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.6904 - loss: 0.5830\n",
+ "Epoch 9/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.6964 - loss: 0.5747 \n",
+ "Epoch 10/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.6964 - loss: 0.5747 \n",
+ "Epoch 10/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7073 - loss: 0.5671 \n",
+ "Epoch 11/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7073 - loss: 0.5671 \n",
+ "Epoch 11/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 974us/step - accuracy: 0.7111 - loss: 0.5625\n",
+ "Epoch 12/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 974us/step - accuracy: 0.7111 - loss: 0.5625\n",
+ "Epoch 12/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7223 - loss: 0.5544 \n",
+ "Epoch 13/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7223 - loss: 0.5544 \n",
+ "Epoch 13/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7267 - loss: 0.5470 \n",
+ "Epoch 14/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7267 - loss: 0.5470 \n",
+ "Epoch 14/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 909us/step - accuracy: 0.7360 - loss: 0.5382\n",
+ "Epoch 15/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 909us/step - accuracy: 0.7360 - loss: 0.5382\n",
+ "Epoch 15/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 932us/step - accuracy: 0.7392 - loss: 0.5296\n",
+ "Epoch 16/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 932us/step - accuracy: 0.7392 - loss: 0.5296\n",
+ "Epoch 16/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 866us/step - accuracy: 0.7439 - loss: 0.5218\n",
+ "Epoch 17/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 866us/step - accuracy: 0.7439 - loss: 0.5218\n",
+ "Epoch 17/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7529 - loss: 0.5127 \n",
+ "Epoch 18/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7529 - loss: 0.5127 \n",
+ "Epoch 18/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 915us/step - accuracy: 0.7591 - loss: 0.5071\n",
+ "Epoch 19/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 915us/step - accuracy: 0.7591 - loss: 0.5071\n",
+ "Epoch 19/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7583 - loss: 0.5017 \n",
+ "Epoch 20/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7583 - loss: 0.5017 \n",
+ "Epoch 20/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7613 - loss: 0.4963\n",
+ "Epoch 21/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7613 - loss: 0.4963\n",
+ "Epoch 21/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 910us/step - accuracy: 0.7649 - loss: 0.4918\n",
+ "Epoch 22/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 910us/step - accuracy: 0.7649 - loss: 0.4918\n",
+ "Epoch 22/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 927us/step - accuracy: 0.7665 - loss: 0.4870\n",
+ "Epoch 23/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 927us/step - accuracy: 0.7665 - loss: 0.4870\n",
+ "Epoch 23/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 957us/step - accuracy: 0.7706 - loss: 0.4859\n",
+ "Epoch 24/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 957us/step - accuracy: 0.7706 - loss: 0.4859\n",
+ "Epoch 24/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 882us/step - accuracy: 0.7695 - loss: 0.4816\n",
+ "Epoch 25/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 882us/step - accuracy: 0.7695 - loss: 0.4816\n",
+ "Epoch 25/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7676 - loss: 0.4802\n",
+ "Epoch 26/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7676 - loss: 0.4802\n",
+ "Epoch 26/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7695 - loss: 0.4779 \n",
+ "Epoch 27/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7695 - loss: 0.4779 \n",
+ "Epoch 27/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 994us/step - accuracy: 0.7714 - loss: 0.4758\n",
+ "Epoch 28/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 994us/step - accuracy: 0.7714 - loss: 0.4758\n",
+ "Epoch 28/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 883us/step - accuracy: 0.7676 - loss: 0.4750\n",
+ "Epoch 29/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 883us/step - accuracy: 0.7676 - loss: 0.4750\n",
+ "Epoch 29/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 903us/step - accuracy: 0.7695 - loss: 0.4740\n",
+ "Epoch 30/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 903us/step - accuracy: 0.7695 - loss: 0.4740\n",
+ "Epoch 30/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 911us/step - accuracy: 0.7720 - loss: 0.4729\n",
+ "Epoch 31/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 911us/step - accuracy: 0.7720 - loss: 0.4729\n",
+ "Epoch 31/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 978us/step - accuracy: 0.7714 - loss: 0.4721\n",
+ "Epoch 32/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 978us/step - accuracy: 0.7714 - loss: 0.4721\n",
+ "Epoch 32/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 932us/step - accuracy: 0.7733 - loss: 0.4705\n",
+ "Epoch 33/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 932us/step - accuracy: 0.7733 - loss: 0.4705\n",
+ "Epoch 33/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7717 - loss: 0.4692\n",
+ "Epoch 34/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7717 - loss: 0.4692\n",
+ "Epoch 34/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7728 - loss: 0.4693\n",
+ "Epoch 35/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7728 - loss: 0.4693\n",
+ "Epoch 35/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7785 - loss: 0.4680 \n",
+ "Epoch 36/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7785 - loss: 0.4680 \n",
+ "Epoch 36/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 879us/step - accuracy: 0.7730 - loss: 0.4680\n",
+ "Epoch 37/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 879us/step - accuracy: 0.7730 - loss: 0.4680\n",
+ "Epoch 37/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7725 - loss: 0.4688\n",
+ "Epoch 38/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7725 - loss: 0.4688\n",
+ "Epoch 38/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7728 - loss: 0.4678 \n",
+ "Epoch 39/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7728 - loss: 0.4678 \n",
+ "Epoch 39/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7758 - loss: 0.4672\n",
+ "Epoch 40/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7758 - loss: 0.4672\n",
+ "Epoch 40/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7755 - loss: 0.4658\n",
+ "Epoch 41/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7755 - loss: 0.4658\n",
+ "Epoch 41/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7785 - loss: 0.4650\n",
+ "Epoch 42/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7785 - loss: 0.4650\n",
+ "Epoch 42/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 904us/step - accuracy: 0.7769 - loss: 0.4650\n",
+ "Epoch 43/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 904us/step - accuracy: 0.7769 - loss: 0.4650\n",
+ "Epoch 43/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7777 - loss: 0.4661\n",
+ "Epoch 44/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7777 - loss: 0.4661\n",
+ "Epoch 44/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7750 - loss: 0.4637\n",
+ "Epoch 45/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7750 - loss: 0.4637\n",
+ "Epoch 45/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7777 - loss: 0.4647 \n",
+ "Epoch 46/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7777 - loss: 0.4647 \n",
+ "Epoch 46/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 995us/step - accuracy: 0.7788 - loss: 0.4634\n",
+ "Epoch 47/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 995us/step - accuracy: 0.7788 - loss: 0.4634\n",
+ "Epoch 47/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7761 - loss: 0.4623\n",
+ "Epoch 48/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7761 - loss: 0.4623\n",
+ "Epoch 48/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7782 - loss: 0.4628 \n",
+ "Epoch 49/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7782 - loss: 0.4628 \n",
+ "Epoch 49/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7799 - loss: 0.4627\n",
+ "Epoch 50/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7799 - loss: 0.4627\n",
+ "Epoch 50/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7739 - loss: 0.4641\n",
+ "Epoch 51/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7739 - loss: 0.4641\n",
+ "Epoch 51/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 917us/step - accuracy: 0.7799 - loss: 0.4626\n",
+ "Epoch 52/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 917us/step - accuracy: 0.7799 - loss: 0.4626\n",
+ "Epoch 52/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7810 - loss: 0.4619\n",
+ "Epoch 53/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7810 - loss: 0.4619\n",
+ "Epoch 53/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7823 - loss: 0.4627\n",
+ "Epoch 54/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7823 - loss: 0.4627\n",
+ "Epoch 54/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 913us/step - accuracy: 0.7758 - loss: 0.4628\n",
+ "Epoch 55/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 913us/step - accuracy: 0.7758 - loss: 0.4628\n",
+ "Epoch 55/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7788 - loss: 0.4634\n",
+ "Epoch 56/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7788 - loss: 0.4634\n",
+ "Epoch 56/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7788 - loss: 0.4624\n",
+ "Epoch 57/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7788 - loss: 0.4624\n",
+ "Epoch 57/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7837 - loss: 0.4612\n",
+ "Epoch 58/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7837 - loss: 0.4612\n",
+ "Epoch 58/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7810 - loss: 0.4610\n",
+ "Epoch 59/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7810 - loss: 0.4610\n",
+ "Epoch 59/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7823 - loss: 0.4599\n",
+ "Epoch 60/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7823 - loss: 0.4599\n",
+ "Epoch 60/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7815 - loss: 0.4607 \n",
+ "Epoch 61/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7815 - loss: 0.4607 \n",
+ "Epoch 61/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7791 - loss: 0.4608\n",
+ "Epoch 62/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7791 - loss: 0.4608\n",
+ "Epoch 62/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7780 - loss: 0.4607\n",
+ "Epoch 63/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7780 - loss: 0.4607\n",
+ "Epoch 63/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7785 - loss: 0.4611\n",
+ "Epoch 64/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7785 - loss: 0.4611\n",
+ "Epoch 64/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 880us/step - accuracy: 0.7851 - loss: 0.4604\n",
+ "Epoch 65/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 880us/step - accuracy: 0.7851 - loss: 0.4604\n",
+ "Epoch 65/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 871us/step - accuracy: 0.7807 - loss: 0.4603\n",
+ "Epoch 66/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 871us/step - accuracy: 0.7807 - loss: 0.4603\n",
+ "Epoch 66/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7801 - loss: 0.4582 \n",
+ "Epoch 67/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7801 - loss: 0.4582 \n",
+ "Epoch 67/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7801 - loss: 0.4599 \n",
+ "Epoch 68/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7801 - loss: 0.4599 \n",
+ "Epoch 68/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7829 - loss: 0.4588 \n",
+ "Epoch 69/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7829 - loss: 0.4588 \n",
+ "Epoch 69/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7815 - loss: 0.4592\n",
+ "Epoch 70/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7815 - loss: 0.4592\n",
+ "Epoch 70/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 911us/step - accuracy: 0.7804 - loss: 0.4578\n",
+ "Epoch 71/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 911us/step - accuracy: 0.7804 - loss: 0.4578\n",
+ "Epoch 71/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7810 - loss: 0.4586\n",
+ "Epoch 72/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7810 - loss: 0.4586\n",
+ "Epoch 72/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7831 - loss: 0.4575\n",
+ "Epoch 73/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7831 - loss: 0.4575\n",
+ "Epoch 73/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 838us/step - accuracy: 0.7804 - loss: 0.4580\n",
+ "Epoch 74/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 838us/step - accuracy: 0.7804 - loss: 0.4580\n",
+ "Epoch 74/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7815 - loss: 0.4577 \n",
+ "Epoch 75/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7815 - loss: 0.4577 \n",
+ "Epoch 75/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7831 - loss: 0.4576 \n",
+ "Epoch 76/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7831 - loss: 0.4576 \n",
+ "Epoch 76/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 852us/step - accuracy: 0.7807 - loss: 0.4569\n",
+ "Epoch 77/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 852us/step - accuracy: 0.7807 - loss: 0.4569\n",
+ "Epoch 77/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7821 - loss: 0.4574\n",
+ "Epoch 78/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7821 - loss: 0.4574\n",
+ "Epoch 78/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7834 - loss: 0.4570 \n",
+ "Epoch 79/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7834 - loss: 0.4570 \n",
+ "Epoch 79/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7812 - loss: 0.4556 \n",
+ "Epoch 80/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7812 - loss: 0.4556 \n",
+ "Epoch 80/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 881us/step - accuracy: 0.7807 - loss: 0.4582\n",
+ "Epoch 81/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 881us/step - accuracy: 0.7807 - loss: 0.4582\n",
+ "Epoch 81/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7842 - loss: 0.4551\n",
+ "Epoch 82/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7842 - loss: 0.4551\n",
+ "Epoch 82/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 908us/step - accuracy: 0.7826 - loss: 0.4568\n",
+ "Epoch 83/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 908us/step - accuracy: 0.7826 - loss: 0.4568\n",
+ "Epoch 83/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7842 - loss: 0.4567\n",
+ "Epoch 84/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7842 - loss: 0.4567\n",
+ "Epoch 84/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7834 - loss: 0.4551 \n",
+ "Epoch 85/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7834 - loss: 0.4551 \n",
+ "Epoch 85/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 932us/step - accuracy: 0.7853 - loss: 0.4549\n",
+ "Epoch 86/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 932us/step - accuracy: 0.7853 - loss: 0.4549\n",
+ "Epoch 86/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7867 - loss: 0.4555\n",
+ "Epoch 87/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7867 - loss: 0.4555\n",
+ "Epoch 87/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 848us/step - accuracy: 0.7823 - loss: 0.4549\n",
+ "Epoch 88/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 848us/step - accuracy: 0.7823 - loss: 0.4549\n",
+ "Epoch 88/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7842 - loss: 0.4546\n",
+ "Epoch 89/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7842 - loss: 0.4546\n",
+ "Epoch 89/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7826 - loss: 0.4561\n",
+ "Epoch 90/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7826 - loss: 0.4561\n",
+ "Epoch 90/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7799 - loss: 0.4563\n",
+ "Epoch 91/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7799 - loss: 0.4563\n",
+ "Epoch 91/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 895us/step - accuracy: 0.7861 - loss: 0.4530\n",
+ "Epoch 92/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 895us/step - accuracy: 0.7861 - loss: 0.4530\n",
+ "Epoch 92/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7853 - loss: 0.4539 \n",
+ "Epoch 93/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7853 - loss: 0.4539 \n",
+ "Epoch 93/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7867 - loss: 0.4540\n",
+ "Epoch 94/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7867 - loss: 0.4540\n",
+ "Epoch 94/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7810 - loss: 0.4555\n",
+ "Epoch 95/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7810 - loss: 0.4555\n",
+ "Epoch 95/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 983us/step - accuracy: 0.7870 - loss: 0.4526\n",
+ "Epoch 96/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 983us/step - accuracy: 0.7870 - loss: 0.4526\n",
+ "Epoch 96/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 877us/step - accuracy: 0.7834 - loss: 0.4528\n",
+ "Epoch 97/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 877us/step - accuracy: 0.7834 - loss: 0.4528\n",
+ "Epoch 97/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7834 - loss: 0.4538\n",
+ "Epoch 98/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7834 - loss: 0.4538\n",
+ "Epoch 98/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7831 - loss: 0.4534\n",
+ "Epoch 99/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7831 - loss: 0.4534\n",
+ "Epoch 99/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7810 - loss: 0.4531\n",
+ "Epoch 100/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7810 - loss: 0.4531\n",
+ "Epoch 100/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 958us/step - accuracy: 0.7823 - loss: 0.4521\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 958us/step - accuracy: 0.7823 - loss: 0.4521\n",
+ "\u001b[1m13/13\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 19ms/step - accuracy: 0.7843 - loss: 0.4699\n",
+ "\u001b[1m13/13\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 19ms/step - accuracy: 0.7843 - loss: 0.4699\n",
+ "Test Loss: 0.46987366676330566, Test Accuracy: 0.7843137383460999\n",
+ "\u001b[1m 1/13\u001b[0m \u001b[32m━\u001b[0m\u001b[37m━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[1m1s\u001b[0m 141ms/stepTest Loss: 0.46987366676330566, Test Accuracy: 0.7843137383460999\n",
+ "\u001b[1m13/13\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 12ms/step\n",
+ "\u001b[1m13/13\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 12ms/step\n",
+ "[[163 41]\n",
+ " [ 47 157]]\n",
+ " precision recall f1-score support\n",
+ "\n",
+ " 0 0.78 0.80 0.79 204\n",
+ " 1 0.79 0.77 0.78 204\n",
+ "\n",
+ " accuracy 0.78 408\n",
+ " macro avg 0.78 0.78 0.78 408\n",
+ "weighted avg 0.78 0.78 0.78 408\n",
+ "\n",
+ "[[163 41]\n",
+ " [ 47 157]]\n",
+ " precision recall f1-score support\n",
+ "\n",
+ " 0 0.78 0.80 0.79 204\n",
+ " 1 0.79 0.77 0.78 204\n",
+ "\n",
+ " accuracy 0.78 408\n",
+ " macro avg 0.78 0.78 0.78 408\n",
+ "weighted avg 0.78 0.78 0.78 408\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "y_pred = ANN_model(X_under_train.shape[1], X_under_train, y_under_train, X_under_test, y_under_test, 'binary_crossentropy', 100, -1)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "201cfce0",
+ "metadata": {},
+ "source": [
+ "**oversample**"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 163,
+ "id": "df0b06ec",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "(7963, 2037)"
+ ]
+ },
+ "execution_count": 163,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "count_0, count_1 = df3['Exited'].value_counts() \n",
+ "count_0, count_1"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 164,
+ "id": "07cde71b",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "((7963, 14), (2037, 14))"
+ ]
+ },
+ "execution_count": 164,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df_class_0 = df3[df3['Exited'] == 0]\n",
+ "df_class_1 = df3[df3['Exited'] == 1]\n",
+ "df_class_0.shape, df_class_1.shape"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 165,
+ "id": "d5782871",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "(7963, 14)"
+ ]
+ },
+ "execution_count": 165,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "class_1_over = df_class_1.sample(count_0, replace=True)\n",
+ "class_1_over.shape"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 166,
+ "id": "e24cd9d5",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Exited\n",
+ "0 7963\n",
+ "1 7963\n",
+ "Name: count, dtype: int64"
+ ]
+ },
+ "execution_count": 166,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df_over_sample = pd.concat([df_class_0, class_1_over], axis = 0)\n",
+ "df_over_sample.Exited.value_counts()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 168,
+ "id": "5229fcb0",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "((15926, 13), (15926,))"
+ ]
+ },
+ "execution_count": 168,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "X_over = df_over_sample.drop('Exited', axis=1)\n",
+ "y_over = df_over_sample['Exited']\n",
+ "X_over.shape, y_over.shape"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 169,
+ "id": "698857ca",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "((14333, 13), (1593, 13))"
+ ]
+ },
+ "execution_count": 169,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "X_over_train, X_over_test, y_over_train, y_over_test = train_test_split(X_over, y_over, test_size=0.1, random_state=15, stratify=y_over)\n",
+ "X_over_train.shape, X_over_test.shape"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 170,
+ "id": "5c35e6a6",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Epoch 1/100\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "/home/gpreddy/Desktop/Pranav/personal/AI_ML/notebooks/venv/lib/python3.12/site-packages/keras/src/layers/core/dense.py:95: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
+ " super().__init__(activity_regularizer=activity_regularizer, **kwargs)\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - accuracy: 0.6424 - loss: 0.6367\n",
+ "Epoch 2/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - accuracy: 0.6424 - loss: 0.6367\n",
+ "Epoch 2/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7056 - loss: 0.5851\n",
+ "Epoch 3/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7056 - loss: 0.5851\n",
+ "Epoch 3/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7197 - loss: 0.5580\n",
+ "Epoch 4/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7197 - loss: 0.5580\n",
+ "Epoch 4/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7363 - loss: 0.5338\n",
+ "Epoch 5/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7363 - loss: 0.5338\n",
+ "Epoch 5/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7466 - loss: 0.5160\n",
+ "Epoch 6/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7466 - loss: 0.5160\n",
+ "Epoch 6/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7498 - loss: 0.5037\n",
+ "Epoch 7/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7498 - loss: 0.5037\n",
+ "Epoch 7/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7550 - loss: 0.4948\n",
+ "Epoch 8/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7550 - loss: 0.4948\n",
+ "Epoch 8/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 815us/step - accuracy: 0.7606 - loss: 0.4866\n",
+ "Epoch 9/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 815us/step - accuracy: 0.7606 - loss: 0.4866\n",
+ "Epoch 9/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7621 - loss: 0.4812\n",
+ "Epoch 10/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7621 - loss: 0.4812\n",
+ "Epoch 10/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7663 - loss: 0.4767\n",
+ "Epoch 11/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7663 - loss: 0.4767\n",
+ "Epoch 11/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7682 - loss: 0.4735\n",
+ "Epoch 12/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7682 - loss: 0.4735\n",
+ "Epoch 12/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7690 - loss: 0.4714\n",
+ "Epoch 13/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7690 - loss: 0.4714\n",
+ "Epoch 13/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7703 - loss: 0.4682\n",
+ "Epoch 14/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7703 - loss: 0.4682\n",
+ "Epoch 14/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7737 - loss: 0.4659 \n",
+ "Epoch 15/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7737 - loss: 0.4659 \n",
+ "Epoch 15/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7727 - loss: 0.4638\n",
+ "Epoch 16/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7727 - loss: 0.4638\n",
+ "Epoch 16/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7744 - loss: 0.4620\n",
+ "Epoch 17/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7744 - loss: 0.4620\n",
+ "Epoch 17/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7771 - loss: 0.4604\n",
+ "Epoch 18/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7771 - loss: 0.4604\n",
+ "Epoch 18/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7764 - loss: 0.4590\n",
+ "Epoch 19/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7764 - loss: 0.4590\n",
+ "Epoch 19/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7793 - loss: 0.4589\n",
+ "Epoch 20/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7793 - loss: 0.4589\n",
+ "Epoch 20/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 830us/step - accuracy: 0.7763 - loss: 0.4570\n",
+ "Epoch 21/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 830us/step - accuracy: 0.7763 - loss: 0.4570\n",
+ "Epoch 21/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 932us/step - accuracy: 0.7781 - loss: 0.4562\n",
+ "Epoch 22/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 932us/step - accuracy: 0.7781 - loss: 0.4562\n",
+ "Epoch 22/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 948us/step - accuracy: 0.7781 - loss: 0.4540\n",
+ "Epoch 23/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 948us/step - accuracy: 0.7781 - loss: 0.4540\n",
+ "Epoch 23/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7795 - loss: 0.4532\n",
+ "Epoch 24/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7795 - loss: 0.4532\n",
+ "Epoch 24/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 786us/step - accuracy: 0.7806 - loss: 0.4535\n",
+ "Epoch 25/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 786us/step - accuracy: 0.7806 - loss: 0.4535\n",
+ "Epoch 25/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7804 - loss: 0.4526\n",
+ "Epoch 26/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7804 - loss: 0.4526\n",
+ "Epoch 26/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 977us/step - accuracy: 0.7840 - loss: 0.4505\n",
+ "Epoch 27/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 977us/step - accuracy: 0.7840 - loss: 0.4505\n",
+ "Epoch 27/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 961us/step - accuracy: 0.7845 - loss: 0.4496\n",
+ "Epoch 28/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 961us/step - accuracy: 0.7845 - loss: 0.4496\n",
+ "Epoch 28/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7797 - loss: 0.4501\n",
+ "Epoch 29/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7797 - loss: 0.4501\n",
+ "Epoch 29/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7825 - loss: 0.4487\n",
+ "Epoch 30/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7825 - loss: 0.4487\n",
+ "Epoch 30/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7845 - loss: 0.4481\n",
+ "Epoch 31/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7845 - loss: 0.4481\n",
+ "Epoch 31/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7837 - loss: 0.4468\n",
+ "Epoch 32/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7837 - loss: 0.4468\n",
+ "Epoch 32/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7887 - loss: 0.4454\n",
+ "Epoch 33/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7887 - loss: 0.4454\n",
+ "Epoch 33/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7889 - loss: 0.4448\n",
+ "Epoch 34/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7889 - loss: 0.4448\n",
+ "Epoch 34/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7885 - loss: 0.4448\n",
+ "Epoch 35/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7885 - loss: 0.4448\n",
+ "Epoch 35/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7887 - loss: 0.4431\n",
+ "Epoch 36/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7887 - loss: 0.4431\n",
+ "Epoch 36/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7892 - loss: 0.4443\n",
+ "Epoch 37/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7892 - loss: 0.4443\n",
+ "Epoch 37/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7906 - loss: 0.4424\n",
+ "Epoch 38/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7906 - loss: 0.4424\n",
+ "Epoch 38/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7891 - loss: 0.4419\n",
+ "Epoch 39/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7891 - loss: 0.4419\n",
+ "Epoch 39/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7887 - loss: 0.4405\n",
+ "Epoch 40/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7887 - loss: 0.4405\n",
+ "Epoch 40/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7903 - loss: 0.4397\n",
+ "Epoch 41/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7903 - loss: 0.4397\n",
+ "Epoch 41/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7909 - loss: 0.4402\n",
+ "Epoch 42/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7909 - loss: 0.4402\n",
+ "Epoch 42/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7925 - loss: 0.4398\n",
+ "Epoch 43/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7925 - loss: 0.4398\n",
+ "Epoch 43/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7938 - loss: 0.4381\n",
+ "Epoch 44/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7938 - loss: 0.4381\n",
+ "Epoch 44/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7923 - loss: 0.4387\n",
+ "Epoch 45/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7923 - loss: 0.4387\n",
+ "Epoch 45/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7943 - loss: 0.4375\n",
+ "Epoch 46/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7943 - loss: 0.4375\n",
+ "Epoch 46/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 862us/step - accuracy: 0.7933 - loss: 0.4373\n",
+ "Epoch 47/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 862us/step - accuracy: 0.7933 - loss: 0.4373\n",
+ "Epoch 47/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 982us/step - accuracy: 0.7929 - loss: 0.4373\n",
+ "Epoch 48/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 982us/step - accuracy: 0.7929 - loss: 0.4373\n",
+ "Epoch 48/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7933 - loss: 0.4366\n",
+ "Epoch 49/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7933 - loss: 0.4366\n",
+ "Epoch 49/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7938 - loss: 0.4363\n",
+ "Epoch 50/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7938 - loss: 0.4363\n",
+ "Epoch 50/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 813us/step - accuracy: 0.7939 - loss: 0.4355\n",
+ "Epoch 51/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 813us/step - accuracy: 0.7939 - loss: 0.4355\n",
+ "Epoch 51/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7945 - loss: 0.4344\n",
+ "Epoch 52/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7945 - loss: 0.4344\n",
+ "Epoch 52/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7939 - loss: 0.4341\n",
+ "Epoch 53/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7939 - loss: 0.4341\n",
+ "Epoch 53/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7956 - loss: 0.4339\n",
+ "Epoch 54/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7956 - loss: 0.4339\n",
+ "Epoch 54/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7976 - loss: 0.4334\n",
+ "Epoch 55/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7976 - loss: 0.4334\n",
+ "Epoch 55/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 868us/step - accuracy: 0.7956 - loss: 0.4340\n",
+ "Epoch 56/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 868us/step - accuracy: 0.7956 - loss: 0.4340\n",
+ "Epoch 56/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 861us/step - accuracy: 0.7972 - loss: 0.4332\n",
+ "Epoch 57/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 861us/step - accuracy: 0.7972 - loss: 0.4332\n",
+ "Epoch 57/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7955 - loss: 0.4325\n",
+ "Epoch 58/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7955 - loss: 0.4325\n",
+ "Epoch 58/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 778us/step - accuracy: 0.7975 - loss: 0.4316\n",
+ "Epoch 59/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 778us/step - accuracy: 0.7975 - loss: 0.4316\n",
+ "Epoch 59/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7955 - loss: 0.4317\n",
+ "Epoch 60/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7955 - loss: 0.4317\n",
+ "Epoch 60/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7977 - loss: 0.4318\n",
+ "Epoch 61/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7977 - loss: 0.4318\n",
+ "Epoch 61/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7972 - loss: 0.4318\n",
+ "Epoch 62/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7972 - loss: 0.4318\n",
+ "Epoch 62/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 844us/step - accuracy: 0.7985 - loss: 0.4309\n",
+ "Epoch 63/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 844us/step - accuracy: 0.7985 - loss: 0.4309\n",
+ "Epoch 63/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7982 - loss: 0.4308\n",
+ "Epoch 64/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7982 - loss: 0.4308\n",
+ "Epoch 64/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7982 - loss: 0.4301\n",
+ "Epoch 65/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7982 - loss: 0.4301\n",
+ "Epoch 65/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.8007 - loss: 0.4303\n",
+ "Epoch 66/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.8007 - loss: 0.4303\n",
+ "Epoch 66/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8000 - loss: 0.4305\n",
+ "Epoch 67/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8000 - loss: 0.4305\n",
+ "Epoch 67/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7964 - loss: 0.4303\n",
+ "Epoch 68/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7964 - loss: 0.4303\n",
+ "Epoch 68/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7983 - loss: 0.4286\n",
+ "Epoch 69/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7983 - loss: 0.4286\n",
+ "Epoch 69/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.8004 - loss: 0.4287\n",
+ "Epoch 70/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.8004 - loss: 0.4287\n",
+ "Epoch 70/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 926us/step - accuracy: 0.7971 - loss: 0.4283\n",
+ "Epoch 71/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 926us/step - accuracy: 0.7971 - loss: 0.4283\n",
+ "Epoch 71/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8001 - loss: 0.4288\n",
+ "Epoch 72/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8001 - loss: 0.4288\n",
+ "Epoch 72/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7996 - loss: 0.4279\n",
+ "Epoch 73/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7996 - loss: 0.4279\n",
+ "Epoch 73/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.8002 - loss: 0.4276\n",
+ "Epoch 74/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.8002 - loss: 0.4276\n",
+ "Epoch 74/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7999 - loss: 0.4291\n",
+ "Epoch 75/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7999 - loss: 0.4291\n",
+ "Epoch 75/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 964us/step - accuracy: 0.8017 - loss: 0.4274\n",
+ "Epoch 76/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 964us/step - accuracy: 0.8017 - loss: 0.4274\n",
+ "Epoch 76/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.8026 - loss: 0.4272\n",
+ "Epoch 77/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.8026 - loss: 0.4272\n",
+ "Epoch 77/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 801us/step - accuracy: 0.8012 - loss: 0.4269\n",
+ "Epoch 78/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 801us/step - accuracy: 0.8012 - loss: 0.4269\n",
+ "Epoch 78/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8030 - loss: 0.4268\n",
+ "Epoch 79/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8030 - loss: 0.4268\n",
+ "Epoch 79/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8028 - loss: 0.4254\n",
+ "Epoch 80/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8028 - loss: 0.4254\n",
+ "Epoch 80/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8022 - loss: 0.4266\n",
+ "Epoch 81/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8022 - loss: 0.4266\n",
+ "Epoch 81/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8039 - loss: 0.4265 \n",
+ "Epoch 82/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8039 - loss: 0.4265 \n",
+ "Epoch 82/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.8032 - loss: 0.4255\n",
+ "Epoch 83/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.8032 - loss: 0.4255\n",
+ "Epoch 83/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7994 - loss: 0.4269\n",
+ "Epoch 84/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7994 - loss: 0.4269\n",
+ "Epoch 84/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.8044 - loss: 0.4250\n",
+ "Epoch 85/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.8044 - loss: 0.4250\n",
+ "Epoch 85/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.8032 - loss: 0.4257\n",
+ "Epoch 86/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.8032 - loss: 0.4257\n",
+ "Epoch 86/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8046 - loss: 0.4246\n",
+ "Epoch 87/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8046 - loss: 0.4246\n",
+ "Epoch 87/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.8045 - loss: 0.4249\n",
+ "Epoch 88/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.8045 - loss: 0.4249\n",
+ "Epoch 88/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.8043 - loss: 0.4244\n",
+ "Epoch 89/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.8043 - loss: 0.4244\n",
+ "Epoch 89/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8031 - loss: 0.4249\n",
+ "Epoch 90/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8031 - loss: 0.4249\n",
+ "Epoch 90/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 896us/step - accuracy: 0.8027 - loss: 0.4254\n",
+ "Epoch 91/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 896us/step - accuracy: 0.8027 - loss: 0.4254\n",
+ "Epoch 91/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 860us/step - accuracy: 0.8039 - loss: 0.4248\n",
+ "Epoch 92/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 860us/step - accuracy: 0.8039 - loss: 0.4248\n",
+ "Epoch 92/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.8046 - loss: 0.4239\n",
+ "Epoch 93/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.8046 - loss: 0.4239\n",
+ "Epoch 93/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8026 - loss: 0.4245 \n",
+ "Epoch 94/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.8026 - loss: 0.4245 \n",
+ "Epoch 94/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.8036 - loss: 0.4237\n",
+ "Epoch 95/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.8036 - loss: 0.4237\n",
+ "Epoch 95/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.8060 - loss: 0.4231\n",
+ "Epoch 96/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.8060 - loss: 0.4231\n",
+ "Epoch 96/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.8035 - loss: 0.4238\n",
+ "Epoch 97/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.8035 - loss: 0.4238\n",
+ "Epoch 97/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8030 - loss: 0.4233\n",
+ "Epoch 98/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.8030 - loss: 0.4233\n",
+ "Epoch 98/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.8037 - loss: 0.4230\n",
+ "Epoch 99/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.8037 - loss: 0.4230\n",
+ "Epoch 99/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 860us/step - accuracy: 0.8033 - loss: 0.4226\n",
+ "Epoch 100/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 860us/step - accuracy: 0.8033 - loss: 0.4226\n",
+ "Epoch 100/100\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.8050 - loss: 0.4224\n",
+ "\u001b[1m448/448\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.8050 - loss: 0.4224\n",
+ "\u001b[1m50/50\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 5ms/step - accuracy: 0.7928 - loss: 0.4446 \n",
+ "\u001b[1m50/50\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 5ms/step - accuracy: 0.7928 - loss: 0.4446\n",
+ "Test Loss: 0.4445560872554779, Test Accuracy: 0.7928436994552612\n",
+ "\u001b[1m 1/50\u001b[0m \u001b[37m━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[1m7s\u001b[0m 146ms/stepTest Loss: 0.4445560872554779, Test Accuracy: 0.7928436994552612\n",
+ "\u001b[1m50/50\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step\n",
+ "\u001b[1m50/50\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step\n",
+ "[[676 121]\n",
+ " [209 587]]\n",
+ " precision recall f1-score support\n",
+ "\n",
+ " 0 0.76 0.85 0.80 797\n",
+ " 1 0.83 0.74 0.78 796\n",
+ "\n",
+ " accuracy 0.79 1593\n",
+ " macro avg 0.80 0.79 0.79 1593\n",
+ "weighted avg 0.80 0.79 0.79 1593\n",
+ "\n",
+ "[[676 121]\n",
+ " [209 587]]\n",
+ " precision recall f1-score support\n",
+ "\n",
+ " 0 0.76 0.85 0.80 797\n",
+ " 1 0.83 0.74 0.78 796\n",
+ "\n",
+ " accuracy 0.79 1593\n",
+ " macro avg 0.80 0.79 0.79 1593\n",
+ "weighted avg 0.80 0.79 0.79 1593\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "y_pred = ANN_model(X_over_train.shape[1], X_over_train, y_over_train, X_over_test, y_over_test, 'binary_crossentropy', 100, -1)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "971eabdf",
+ "metadata": {},
+ "source": [
+ "**ensemble undesampling**"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 172,
+ "id": "b0621712",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "(7963, 2037)"
+ ]
+ },
+ "execution_count": 172,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "count_0, count_1 = df3.Exited.value_counts()\n",
+ "count_0, count_1"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 173,
+ "id": "15ffbbb9",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "((10000, 13), (10000,))"
+ ]
+ },
+ "execution_count": 173,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "X.shape, y.shape"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 174,
+ "id": "3bf1b036",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Exited\n",
+ "0 7167\n",
+ "1 1833\n",
+ "Name: count, dtype: int64"
+ ]
+ },
+ "execution_count": 174,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.1, random_state=15, stratify=y)\n",
+ "y_train.value_counts()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 175,
+ "id": "fcf8992b",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "3.909983633387889"
+ ]
+ },
+ "execution_count": 175,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "7167/1833"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 176,
+ "id": "a925bc66",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def get_batch_size(majority_df, minority_df, start, end):\n",
+ " df_concat = pd.concat([majority_df[start:end], minority_df], axis=0)\n",
+ " X_train = df_concat.drop('Exited', axis=1)\n",
+ " y_train = df_concat['Exited']\n",
+ " return X_train, y_train"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 177,
+ "id": "981100c3",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "((7167, 14), (1833, 14))"
+ ]
+ },
+ "execution_count": 177,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df4 = X_train.copy()\n",
+ "df4['Exited'] = y_train\n",
+ "df_class_0 = df4[df4['Exited']==0]\n",
+ "df_class_1 = df4[df4['Exited']==1]\n",
+ "df_class_0.shape, df_class_1.shape"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 179,
+ "id": "a5d82d5d",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "5499"
+ ]
+ },
+ "execution_count": 179,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "1833*3"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 180,
+ "id": "93b9c327",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "(Exited\n",
+ " 0 1833\n",
+ " 1 1833\n",
+ " Name: count, dtype: int64,\n",
+ " Exited\n",
+ " 0 1833\n",
+ " 1 1833\n",
+ " Name: count, dtype: int64,\n",
+ " Exited\n",
+ " 0 1833\n",
+ " 1 1833\n",
+ " Name: count, dtype: int64,\n",
+ " Exited\n",
+ " 1 1833\n",
+ " 0 1668\n",
+ " Name: count, dtype: int64)"
+ ]
+ },
+ "execution_count": 180,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "X_train_1, y_train_1 = get_batch_size(df_class_0, df_class_1, 0, 1833)\n",
+ "X_train_2, y_train_2 = get_batch_size(df_class_0, df_class_1, 1833, 3666)\n",
+ "X_train_3, y_train_3 = get_batch_size(df_class_0, df_class_1, 3666, 5499)\n",
+ "X_train_4, y_train_4 = get_batch_size(df_class_0, df_class_1, 5499, 7167)\n",
+ "y_train_1.value_counts(), y_train_2.value_counts(), y_train_3.value_counts(), y_train_4.value_counts()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "79c15f58",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Epoch 1/100\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "/home/gpreddy/Desktop/Pranav/personal/AI_ML/notebooks/venv/lib/python3.12/site-packages/keras/src/layers/core/dense.py:95: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
+ " super().__init__(activity_regularizer=activity_regularizer, **kwargs)\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.5562 - loss: 0.6881\n",
+ "Epoch 2/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - accuracy: 0.5562 - loss: 0.6881\n",
+ "Epoch 2/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.6326 - loss: 0.6526\n",
+ "Epoch 3/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.6326 - loss: 0.6526\n",
+ "Epoch 3/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.6429 - loss: 0.6352\n",
+ "Epoch 4/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.6429 - loss: 0.6352\n",
+ "Epoch 4/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.6465 - loss: 0.6259\n",
+ "Epoch 5/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.6465 - loss: 0.6259\n",
+ "Epoch 5/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 898us/step - accuracy: 0.6577 - loss: 0.6155\n",
+ "Epoch 6/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 898us/step - accuracy: 0.6577 - loss: 0.6155\n",
+ "Epoch 6/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.6710 - loss: 0.6052\n",
+ "Epoch 7/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.6710 - loss: 0.6052\n",
+ "Epoch 7/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 970us/step - accuracy: 0.6798 - loss: 0.5932\n",
+ "Epoch 8/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 970us/step - accuracy: 0.6798 - loss: 0.5932\n",
+ "Epoch 8/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.6964 - loss: 0.5827 \n",
+ "Epoch 9/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.6964 - loss: 0.5827 \n",
+ "Epoch 9/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 989us/step - accuracy: 0.7002 - loss: 0.5724\n",
+ "Epoch 10/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 989us/step - accuracy: 0.7002 - loss: 0.5724\n",
+ "Epoch 10/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7106 - loss: 0.5640 \n",
+ "Epoch 11/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7106 - loss: 0.5640 \n",
+ "Epoch 11/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step - accuracy: 0.7111 - loss: 0.5578\n",
+ "Epoch 12/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step - accuracy: 0.7111 - loss: 0.5578\n",
+ "Epoch 12/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 885us/step - accuracy: 0.7141 - loss: 0.5530\n",
+ "Epoch 13/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 885us/step - accuracy: 0.7141 - loss: 0.5530\n",
+ "Epoch 13/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7212 - loss: 0.5468 \n",
+ "Epoch 14/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7212 - loss: 0.5468 \n",
+ "Epoch 14/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7231 - loss: 0.5435\n",
+ "Epoch 15/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7231 - loss: 0.5435\n",
+ "Epoch 15/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7264 - loss: 0.5400\n",
+ "Epoch 16/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7264 - loss: 0.5400\n",
+ "Epoch 16/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7278 - loss: 0.5359\n",
+ "Epoch 17/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7278 - loss: 0.5359\n",
+ "Epoch 17/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 981us/step - accuracy: 0.7330 - loss: 0.5344\n",
+ "Epoch 18/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 981us/step - accuracy: 0.7330 - loss: 0.5344\n",
+ "Epoch 18/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7340 - loss: 0.5315 \n",
+ "Epoch 19/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7340 - loss: 0.5315 \n",
+ "Epoch 19/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 920us/step - accuracy: 0.7316 - loss: 0.5299\n",
+ "Epoch 20/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 920us/step - accuracy: 0.7316 - loss: 0.5299\n",
+ "Epoch 20/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7340 - loss: 0.5287\n",
+ "Epoch 21/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7340 - loss: 0.5287\n",
+ "Epoch 21/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7376 - loss: 0.5255 \n",
+ "Epoch 22/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7376 - loss: 0.5255 \n",
+ "Epoch 22/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 949us/step - accuracy: 0.7441 - loss: 0.5231\n",
+ "Epoch 23/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 949us/step - accuracy: 0.7441 - loss: 0.5231\n",
+ "Epoch 23/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7343 - loss: 0.5205 \n",
+ "Epoch 24/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7343 - loss: 0.5205 \n",
+ "Epoch 24/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7373 - loss: 0.5195\n",
+ "Epoch 25/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7373 - loss: 0.5195\n",
+ "Epoch 25/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7411 - loss: 0.5168\n",
+ "Epoch 26/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7411 - loss: 0.5168\n",
+ "Epoch 26/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 941us/step - accuracy: 0.7433 - loss: 0.5136\n",
+ "Epoch 27/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 941us/step - accuracy: 0.7433 - loss: 0.5136\n",
+ "Epoch 27/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7425 - loss: 0.5110\n",
+ "Epoch 28/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7425 - loss: 0.5110\n",
+ "Epoch 28/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7422 - loss: 0.5115\n",
+ "Epoch 29/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7422 - loss: 0.5115\n",
+ "Epoch 29/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 930us/step - accuracy: 0.7488 - loss: 0.5089\n",
+ "Epoch 30/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 930us/step - accuracy: 0.7488 - loss: 0.5089\n",
+ "Epoch 30/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7526 - loss: 0.5040\n",
+ "Epoch 31/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7526 - loss: 0.5040\n",
+ "Epoch 31/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7537 - loss: 0.5019 \n",
+ "Epoch 32/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7537 - loss: 0.5019 \n",
+ "Epoch 32/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7602 - loss: 0.4996 \n",
+ "Epoch 33/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7602 - loss: 0.4996 \n",
+ "Epoch 33/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 969us/step - accuracy: 0.7591 - loss: 0.4985\n",
+ "Epoch 34/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 969us/step - accuracy: 0.7591 - loss: 0.4985\n",
+ "Epoch 34/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7575 - loss: 0.4977\n",
+ "Epoch 35/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7575 - loss: 0.4977\n",
+ "Epoch 35/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7597 - loss: 0.4956\n",
+ "Epoch 36/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7597 - loss: 0.4956\n",
+ "Epoch 36/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 939us/step - accuracy: 0.7616 - loss: 0.4928\n",
+ "Epoch 37/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 939us/step - accuracy: 0.7616 - loss: 0.4928\n",
+ "Epoch 37/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7621 - loss: 0.4910\n",
+ "Epoch 38/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7621 - loss: 0.4910\n",
+ "Epoch 38/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7679 - loss: 0.4904 \n",
+ "Epoch 39/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7679 - loss: 0.4904 \n",
+ "Epoch 39/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7720 - loss: 0.4869\n",
+ "Epoch 40/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7720 - loss: 0.4869\n",
+ "Epoch 40/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 972us/step - accuracy: 0.7681 - loss: 0.4867\n",
+ "Epoch 41/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 972us/step - accuracy: 0.7681 - loss: 0.4867\n",
+ "Epoch 41/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7684 - loss: 0.4846\n",
+ "Epoch 42/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7684 - loss: 0.4846\n",
+ "Epoch 42/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7679 - loss: 0.4832\n",
+ "Epoch 43/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7679 - loss: 0.4832\n",
+ "Epoch 43/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7695 - loss: 0.4812\n",
+ "Epoch 44/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7695 - loss: 0.4812\n",
+ "Epoch 44/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 964us/step - accuracy: 0.7695 - loss: 0.4820\n",
+ "Epoch 45/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 964us/step - accuracy: 0.7695 - loss: 0.4820\n",
+ "Epoch 45/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 919us/step - accuracy: 0.7673 - loss: 0.4788\n",
+ "Epoch 46/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 919us/step - accuracy: 0.7673 - loss: 0.4788\n",
+ "Epoch 46/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 873us/step - accuracy: 0.7744 - loss: 0.4788\n",
+ "Epoch 47/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 873us/step - accuracy: 0.7744 - loss: 0.4788\n",
+ "Epoch 47/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7720 - loss: 0.4756 \n",
+ "Epoch 48/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7720 - loss: 0.4756 \n",
+ "Epoch 48/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7728 - loss: 0.4763\n",
+ "Epoch 49/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7728 - loss: 0.4763\n",
+ "Epoch 49/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 870us/step - accuracy: 0.7714 - loss: 0.4745\n",
+ "Epoch 50/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 870us/step - accuracy: 0.7714 - loss: 0.4745\n",
+ "Epoch 50/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 886us/step - accuracy: 0.7736 - loss: 0.4749\n",
+ "Epoch 51/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 886us/step - accuracy: 0.7736 - loss: 0.4749\n",
+ "Epoch 51/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7711 - loss: 0.4733 \n",
+ "Epoch 52/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7711 - loss: 0.4733 \n",
+ "Epoch 52/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 939us/step - accuracy: 0.7736 - loss: 0.4732\n",
+ "Epoch 53/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 939us/step - accuracy: 0.7736 - loss: 0.4732\n",
+ "Epoch 53/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7761 - loss: 0.4723\n",
+ "Epoch 54/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7761 - loss: 0.4723\n",
+ "Epoch 54/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7741 - loss: 0.4715\n",
+ "Epoch 55/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7741 - loss: 0.4715\n",
+ "Epoch 55/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7774 - loss: 0.4720\n",
+ "Epoch 56/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7774 - loss: 0.4720\n",
+ "Epoch 56/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7736 - loss: 0.4703\n",
+ "Epoch 57/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7736 - loss: 0.4703\n",
+ "Epoch 57/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7758 - loss: 0.4677 \n",
+ "Epoch 58/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7758 - loss: 0.4677 \n",
+ "Epoch 58/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7815 - loss: 0.4666 \n",
+ "Epoch 59/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7815 - loss: 0.4666 \n",
+ "Epoch 59/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7761 - loss: 0.4668\n",
+ "Epoch 60/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7761 - loss: 0.4668\n",
+ "Epoch 60/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7777 - loss: 0.4666 \n",
+ "Epoch 61/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7777 - loss: 0.4666 \n",
+ "Epoch 61/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7807 - loss: 0.4647\n",
+ "Epoch 62/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7807 - loss: 0.4647\n",
+ "Epoch 62/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7780 - loss: 0.4648 \n",
+ "Epoch 63/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7780 - loss: 0.4648 \n",
+ "Epoch 63/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7823 - loss: 0.4638\n",
+ "Epoch 64/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7823 - loss: 0.4638\n",
+ "Epoch 64/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7796 - loss: 0.4647\n",
+ "Epoch 65/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7796 - loss: 0.4647\n",
+ "Epoch 65/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7793 - loss: 0.4632 \n",
+ "Epoch 66/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7793 - loss: 0.4632 \n",
+ "Epoch 66/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7815 - loss: 0.4628 \n",
+ "Epoch 67/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7815 - loss: 0.4628 \n",
+ "Epoch 67/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7831 - loss: 0.4634\n",
+ "Epoch 68/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7831 - loss: 0.4634\n",
+ "Epoch 68/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7837 - loss: 0.4609 \n",
+ "Epoch 69/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7837 - loss: 0.4609 \n",
+ "Epoch 69/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7821 - loss: 0.4621\n",
+ "Epoch 70/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7821 - loss: 0.4621\n",
+ "Epoch 70/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7867 - loss: 0.4603\n",
+ "Epoch 71/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7867 - loss: 0.4603\n",
+ "Epoch 71/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 961us/step - accuracy: 0.7848 - loss: 0.4600\n",
+ "Epoch 72/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 961us/step - accuracy: 0.7848 - loss: 0.4600\n",
+ "Epoch 72/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7853 - loss: 0.4588\n",
+ "Epoch 73/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7853 - loss: 0.4588\n",
+ "Epoch 73/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 899us/step - accuracy: 0.7851 - loss: 0.4580\n",
+ "Epoch 74/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 899us/step - accuracy: 0.7851 - loss: 0.4580\n",
+ "Epoch 74/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7851 - loss: 0.4574 \n",
+ "Epoch 75/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7851 - loss: 0.4574 \n",
+ "Epoch 75/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7867 - loss: 0.4575\n",
+ "Epoch 76/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7867 - loss: 0.4575\n",
+ "Epoch 76/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7831 - loss: 0.4578\n",
+ "Epoch 77/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7831 - loss: 0.4578\n",
+ "Epoch 77/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 979us/step - accuracy: 0.7829 - loss: 0.4579\n",
+ "Epoch 78/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 979us/step - accuracy: 0.7829 - loss: 0.4579\n",
+ "Epoch 78/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7834 - loss: 0.4557 \n",
+ "Epoch 79/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7834 - loss: 0.4557 \n",
+ "Epoch 79/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 923us/step - accuracy: 0.7859 - loss: 0.4563\n",
+ "Epoch 80/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 923us/step - accuracy: 0.7859 - loss: 0.4563\n",
+ "Epoch 80/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7859 - loss: 0.4563 \n",
+ "Epoch 81/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7859 - loss: 0.4563 \n",
+ "Epoch 81/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 907us/step - accuracy: 0.7829 - loss: 0.4556\n",
+ "Epoch 82/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 907us/step - accuracy: 0.7829 - loss: 0.4556\n",
+ "Epoch 82/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7826 - loss: 0.4567\n",
+ "Epoch 83/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7826 - loss: 0.4567\n",
+ "Epoch 83/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 919us/step - accuracy: 0.7856 - loss: 0.4540\n",
+ "Epoch 84/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 919us/step - accuracy: 0.7856 - loss: 0.4540\n",
+ "Epoch 84/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7897 - loss: 0.4542\n",
+ "Epoch 85/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7897 - loss: 0.4542\n",
+ "Epoch 85/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 986us/step - accuracy: 0.7851 - loss: 0.4544\n",
+ "Epoch 86/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 986us/step - accuracy: 0.7851 - loss: 0.4544\n",
+ "Epoch 86/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 987us/step - accuracy: 0.7845 - loss: 0.4525\n",
+ "Epoch 87/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 987us/step - accuracy: 0.7845 - loss: 0.4525\n",
+ "Epoch 87/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7840 - loss: 0.4535 \n",
+ "Epoch 88/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7840 - loss: 0.4535 \n",
+ "Epoch 88/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7864 - loss: 0.4529\n",
+ "Epoch 89/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7864 - loss: 0.4529\n",
+ "Epoch 89/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 909us/step - accuracy: 0.7856 - loss: 0.4528\n",
+ "Epoch 90/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 909us/step - accuracy: 0.7856 - loss: 0.4528\n",
+ "Epoch 90/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7872 - loss: 0.4532\n",
+ "Epoch 91/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7872 - loss: 0.4532\n",
+ "Epoch 91/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7872 - loss: 0.4530 \n",
+ "Epoch 92/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7872 - loss: 0.4530 \n",
+ "Epoch 92/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7848 - loss: 0.4531\n",
+ "Epoch 93/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7848 - loss: 0.4531\n",
+ "Epoch 93/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7870 - loss: 0.4505\n",
+ "Epoch 94/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7870 - loss: 0.4505\n",
+ "Epoch 94/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 912us/step - accuracy: 0.7861 - loss: 0.4498\n",
+ "Epoch 95/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 912us/step - accuracy: 0.7861 - loss: 0.4498\n",
+ "Epoch 95/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7851 - loss: 0.4522\n",
+ "Epoch 96/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7851 - loss: 0.4522\n",
+ "Epoch 96/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7867 - loss: 0.4478 \n",
+ "Epoch 97/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7867 - loss: 0.4478 \n",
+ "Epoch 97/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7883 - loss: 0.4498 \n",
+ "Epoch 98/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7883 - loss: 0.4498 \n",
+ "Epoch 98/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 971us/step - accuracy: 0.7930 - loss: 0.4495\n",
+ "Epoch 99/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 971us/step - accuracy: 0.7930 - loss: 0.4495\n",
+ "Epoch 99/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7872 - loss: 0.4493 \n",
+ "Epoch 100/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7872 - loss: 0.4493 \n",
+ "Epoch 100/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 996us/step - accuracy: 0.7883 - loss: 0.4486\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 996us/step - accuracy: 0.7883 - loss: 0.4486\n",
+ "\u001b[1m32/32\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 5ms/step - accuracy: 0.7830 - loss: 0.4483\n",
+ "\u001b[1m32/32\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 5ms/step - accuracy: 0.7830 - loss: 0.4483\n",
+ "Test Loss: 0.4482699930667877, Test Accuracy: 0.7829999923706055\n",
+ "Test Loss: 0.4482699930667877, Test Accuracy: 0.7829999923706055\n",
+ "\u001b[1m32/32\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step\n",
+ "\u001b[1m32/32\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step\n",
+ "[[623 173]\n",
+ " [ 44 160]]\n",
+ " precision recall f1-score support\n",
+ "\n",
+ " 0 0.93 0.78 0.85 796\n",
+ " 1 0.48 0.78 0.60 204\n",
+ "\n",
+ " accuracy 0.78 1000\n",
+ " macro avg 0.71 0.78 0.72 1000\n",
+ "weighted avg 0.84 0.78 0.80 1000\n",
+ "\n",
+ "[[623 173]\n",
+ " [ 44 160]]\n",
+ " precision recall f1-score support\n",
+ "\n",
+ " 0 0.93 0.78 0.85 796\n",
+ " 1 0.48 0.78 0.60 204\n",
+ "\n",
+ " accuracy 0.78 1000\n",
+ " macro avg 0.71 0.78 0.72 1000\n",
+ "weighted avg 0.84 0.78 0.80 1000\n",
+ "\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "array([[1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [1],\n",
+ " [0],\n",
+ " [0]])"
+ ]
+ },
+ "execution_count": 181,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "y_pred_1 = ANN_model(X_train_1.shape[1], X_train_1, y_train_1, X_test, y_test, 'binary_crossentropy', 100, -1)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 182,
+ "id": "fbfcbbce",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Epoch 1/100\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "/home/gpreddy/Desktop/Pranav/personal/AI_ML/notebooks/venv/lib/python3.12/site-packages/keras/src/layers/core/dense.py:95: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
+ " super().__init__(activity_regularizer=activity_regularizer, **kwargs)\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 6ms/step - accuracy: 0.5155 - loss: 0.6836\n",
+ "Epoch 2/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 6ms/step - accuracy: 0.5155 - loss: 0.6836\n",
+ "Epoch 2/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.6056 - loss: 0.6665 \n",
+ "Epoch 3/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.6056 - loss: 0.6665 \n",
+ "Epoch 3/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.6508 - loss: 0.6549\n",
+ "Epoch 4/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.6508 - loss: 0.6549\n",
+ "Epoch 4/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.6571 - loss: 0.6446 \n",
+ "Epoch 5/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.6571 - loss: 0.6446 \n",
+ "Epoch 5/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.6653 - loss: 0.6181\n",
+ "Epoch 6/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.6653 - loss: 0.6181\n",
+ "Epoch 6/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.6770 - loss: 0.6042\n",
+ "Epoch 7/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.6770 - loss: 0.6042\n",
+ "Epoch 7/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.6858 - loss: 0.5955\n",
+ "Epoch 8/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.6858 - loss: 0.5955\n",
+ "Epoch 8/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.6986 - loss: 0.5876\n",
+ "Epoch 9/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.6986 - loss: 0.5876\n",
+ "Epoch 9/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.6969 - loss: 0.5819\n",
+ "Epoch 10/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.6969 - loss: 0.5819\n",
+ "Epoch 10/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7027 - loss: 0.5768\n",
+ "Epoch 11/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7027 - loss: 0.5768\n",
+ "Epoch 11/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7019 - loss: 0.5733 \n",
+ "Epoch 12/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7019 - loss: 0.5733 \n",
+ "Epoch 12/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7089 - loss: 0.5696\n",
+ "Epoch 13/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7089 - loss: 0.5696\n",
+ "Epoch 13/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7128 - loss: 0.5665\n",
+ "Epoch 14/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7128 - loss: 0.5665\n",
+ "Epoch 14/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7111 - loss: 0.5623\n",
+ "Epoch 15/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7111 - loss: 0.5623\n",
+ "Epoch 15/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7169 - loss: 0.5590\n",
+ "Epoch 16/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7169 - loss: 0.5590\n",
+ "Epoch 16/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 936us/step - accuracy: 0.7160 - loss: 0.5556\n",
+ "Epoch 17/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 936us/step - accuracy: 0.7160 - loss: 0.5556\n",
+ "Epoch 17/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7193 - loss: 0.5512\n",
+ "Epoch 18/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7193 - loss: 0.5512\n",
+ "Epoch 18/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7242 - loss: 0.5475\n",
+ "Epoch 19/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7242 - loss: 0.5475\n",
+ "Epoch 19/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 866us/step - accuracy: 0.7316 - loss: 0.5433\n",
+ "Epoch 20/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 866us/step - accuracy: 0.7316 - loss: 0.5433\n",
+ "Epoch 20/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7313 - loss: 0.5388 \n",
+ "Epoch 21/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7313 - loss: 0.5388 \n",
+ "Epoch 21/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 916us/step - accuracy: 0.7357 - loss: 0.5360\n",
+ "Epoch 22/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 916us/step - accuracy: 0.7357 - loss: 0.5360\n",
+ "Epoch 22/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 863us/step - accuracy: 0.7420 - loss: 0.5317\n",
+ "Epoch 23/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 863us/step - accuracy: 0.7420 - loss: 0.5317\n",
+ "Epoch 23/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 934us/step - accuracy: 0.7422 - loss: 0.5278\n",
+ "Epoch 24/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 934us/step - accuracy: 0.7422 - loss: 0.5278\n",
+ "Epoch 24/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7499 - loss: 0.5261\n",
+ "Epoch 25/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7499 - loss: 0.5261\n",
+ "Epoch 25/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 924us/step - accuracy: 0.7458 - loss: 0.5213\n",
+ "Epoch 26/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 924us/step - accuracy: 0.7458 - loss: 0.5213\n",
+ "Epoch 26/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7496 - loss: 0.5186\n",
+ "Epoch 27/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7496 - loss: 0.5186\n",
+ "Epoch 27/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 892us/step - accuracy: 0.7531 - loss: 0.5148\n",
+ "Epoch 28/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 892us/step - accuracy: 0.7531 - loss: 0.5148\n",
+ "Epoch 28/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 998us/step - accuracy: 0.7501 - loss: 0.5128\n",
+ "Epoch 29/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 998us/step - accuracy: 0.7501 - loss: 0.5128\n",
+ "Epoch 29/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7537 - loss: 0.5094\n",
+ "Epoch 30/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7537 - loss: 0.5094\n",
+ "Epoch 30/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7526 - loss: 0.5079\n",
+ "Epoch 31/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7526 - loss: 0.5079\n",
+ "Epoch 31/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 929us/step - accuracy: 0.7608 - loss: 0.5034\n",
+ "Epoch 32/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 929us/step - accuracy: 0.7608 - loss: 0.5034\n",
+ "Epoch 32/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7602 - loss: 0.5017\n",
+ "Epoch 33/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7602 - loss: 0.5017\n",
+ "Epoch 33/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7583 - loss: 0.5010\n",
+ "Epoch 34/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7583 - loss: 0.5010\n",
+ "Epoch 34/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7638 - loss: 0.4959\n",
+ "Epoch 35/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7638 - loss: 0.4959\n",
+ "Epoch 35/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 883us/step - accuracy: 0.7643 - loss: 0.4945\n",
+ "Epoch 36/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 883us/step - accuracy: 0.7643 - loss: 0.4945\n",
+ "Epoch 36/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 886us/step - accuracy: 0.7643 - loss: 0.4916\n",
+ "Epoch 37/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 886us/step - accuracy: 0.7643 - loss: 0.4916\n",
+ "Epoch 37/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7640 - loss: 0.4931\n",
+ "Epoch 38/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7640 - loss: 0.4931\n",
+ "Epoch 38/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7654 - loss: 0.4892\n",
+ "Epoch 39/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7654 - loss: 0.4892\n",
+ "Epoch 39/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7646 - loss: 0.4892\n",
+ "Epoch 40/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7646 - loss: 0.4892\n",
+ "Epoch 40/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7673 - loss: 0.4877\n",
+ "Epoch 41/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7673 - loss: 0.4877\n",
+ "Epoch 41/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 885us/step - accuracy: 0.7660 - loss: 0.4877\n",
+ "Epoch 42/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 885us/step - accuracy: 0.7660 - loss: 0.4877\n",
+ "Epoch 42/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7670 - loss: 0.4860 \n",
+ "Epoch 43/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7670 - loss: 0.4860 \n",
+ "Epoch 43/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7690 - loss: 0.4844\n",
+ "Epoch 44/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7690 - loss: 0.4844\n",
+ "Epoch 44/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 837us/step - accuracy: 0.7660 - loss: 0.4852\n",
+ "Epoch 45/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 837us/step - accuracy: 0.7660 - loss: 0.4852\n",
+ "Epoch 45/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 855us/step - accuracy: 0.7681 - loss: 0.4830\n",
+ "Epoch 46/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 855us/step - accuracy: 0.7681 - loss: 0.4830\n",
+ "Epoch 46/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 930us/step - accuracy: 0.7643 - loss: 0.4833\n",
+ "Epoch 47/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 930us/step - accuracy: 0.7643 - loss: 0.4833\n",
+ "Epoch 47/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 916us/step - accuracy: 0.7673 - loss: 0.4819\n",
+ "Epoch 48/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 916us/step - accuracy: 0.7673 - loss: 0.4819\n",
+ "Epoch 48/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7651 - loss: 0.4814 \n",
+ "Epoch 49/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7651 - loss: 0.4814 \n",
+ "Epoch 49/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7684 - loss: 0.4803\n",
+ "Epoch 50/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7684 - loss: 0.4803\n",
+ "Epoch 50/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7706 - loss: 0.4808\n",
+ "Epoch 51/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7706 - loss: 0.4808\n",
+ "Epoch 51/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7687 - loss: 0.4799 \n",
+ "Epoch 52/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7687 - loss: 0.4799 \n",
+ "Epoch 52/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 861us/step - accuracy: 0.7692 - loss: 0.4811\n",
+ "Epoch 53/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 861us/step - accuracy: 0.7692 - loss: 0.4811\n",
+ "Epoch 53/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 896us/step - accuracy: 0.7700 - loss: 0.4791\n",
+ "Epoch 54/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 896us/step - accuracy: 0.7700 - loss: 0.4791\n",
+ "Epoch 54/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7679 - loss: 0.4783\n",
+ "Epoch 55/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7679 - loss: 0.4783\n",
+ "Epoch 55/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 921us/step - accuracy: 0.7684 - loss: 0.4777\n",
+ "Epoch 56/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 921us/step - accuracy: 0.7684 - loss: 0.4777\n",
+ "Epoch 56/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7709 - loss: 0.4771\n",
+ "Epoch 57/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7709 - loss: 0.4771\n",
+ "Epoch 57/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7711 - loss: 0.4773\n",
+ "Epoch 58/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7711 - loss: 0.4773\n",
+ "Epoch 58/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7698 - loss: 0.4771\n",
+ "Epoch 59/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7698 - loss: 0.4771\n",
+ "Epoch 59/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 922us/step - accuracy: 0.7681 - loss: 0.4773\n",
+ "Epoch 60/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 922us/step - accuracy: 0.7681 - loss: 0.4773\n",
+ "Epoch 60/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7706 - loss: 0.4765 \n",
+ "Epoch 61/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7706 - loss: 0.4765 \n",
+ "Epoch 61/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7730 - loss: 0.4768\n",
+ "Epoch 62/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7730 - loss: 0.4768\n",
+ "Epoch 62/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7692 - loss: 0.4757 \n",
+ "Epoch 63/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7692 - loss: 0.4757 \n",
+ "Epoch 63/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7720 - loss: 0.4752 \n",
+ "Epoch 64/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7720 - loss: 0.4752 \n",
+ "Epoch 64/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 917us/step - accuracy: 0.7692 - loss: 0.4768\n",
+ "Epoch 65/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 917us/step - accuracy: 0.7692 - loss: 0.4768\n",
+ "Epoch 65/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 864us/step - accuracy: 0.7673 - loss: 0.4761\n",
+ "Epoch 66/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 864us/step - accuracy: 0.7673 - loss: 0.4761\n",
+ "Epoch 66/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7709 - loss: 0.4753\n",
+ "Epoch 67/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7709 - loss: 0.4753\n",
+ "Epoch 67/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 935us/step - accuracy: 0.7717 - loss: 0.4758\n",
+ "Epoch 68/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 935us/step - accuracy: 0.7717 - loss: 0.4758\n",
+ "Epoch 68/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7679 - loss: 0.4737\n",
+ "Epoch 69/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7679 - loss: 0.4737\n",
+ "Epoch 69/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 936us/step - accuracy: 0.7687 - loss: 0.4757\n",
+ "Epoch 70/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 936us/step - accuracy: 0.7687 - loss: 0.4757\n",
+ "Epoch 70/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7692 - loss: 0.4726\n",
+ "Epoch 71/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7692 - loss: 0.4726\n",
+ "Epoch 71/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 866us/step - accuracy: 0.7673 - loss: 0.4742\n",
+ "Epoch 72/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 866us/step - accuracy: 0.7673 - loss: 0.4742\n",
+ "Epoch 72/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7752 - loss: 0.4737 \n",
+ "Epoch 73/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7752 - loss: 0.4737 \n",
+ "Epoch 73/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7695 - loss: 0.4744\n",
+ "Epoch 74/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7695 - loss: 0.4744\n",
+ "Epoch 74/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7714 - loss: 0.4737 \n",
+ "Epoch 75/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7714 - loss: 0.4737 \n",
+ "Epoch 75/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7739 - loss: 0.4726\n",
+ "Epoch 76/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7739 - loss: 0.4726\n",
+ "Epoch 76/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 945us/step - accuracy: 0.7706 - loss: 0.4726\n",
+ "Epoch 77/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 945us/step - accuracy: 0.7706 - loss: 0.4726\n",
+ "Epoch 77/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 902us/step - accuracy: 0.7758 - loss: 0.4740\n",
+ "Epoch 78/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 902us/step - accuracy: 0.7758 - loss: 0.4740\n",
+ "Epoch 78/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 865us/step - accuracy: 0.7700 - loss: 0.4745\n",
+ "Epoch 79/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 865us/step - accuracy: 0.7700 - loss: 0.4745\n",
+ "Epoch 79/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 876us/step - accuracy: 0.7698 - loss: 0.4717\n",
+ "Epoch 80/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 876us/step - accuracy: 0.7698 - loss: 0.4717\n",
+ "Epoch 80/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7761 - loss: 0.4719\n",
+ "Epoch 81/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7761 - loss: 0.4719\n",
+ "Epoch 81/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7730 - loss: 0.4721\n",
+ "Epoch 82/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7730 - loss: 0.4721\n",
+ "Epoch 82/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7733 - loss: 0.4726 \n",
+ "Epoch 83/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7733 - loss: 0.4726 \n",
+ "Epoch 83/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7728 - loss: 0.4717\n",
+ "Epoch 84/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7728 - loss: 0.4717\n",
+ "Epoch 84/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7700 - loss: 0.4732 \n",
+ "Epoch 85/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7700 - loss: 0.4732 \n",
+ "Epoch 85/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 982us/step - accuracy: 0.7700 - loss: 0.4708\n",
+ "Epoch 86/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 982us/step - accuracy: 0.7700 - loss: 0.4708\n",
+ "Epoch 86/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7698 - loss: 0.4715 \n",
+ "Epoch 87/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7698 - loss: 0.4715 \n",
+ "Epoch 87/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 895us/step - accuracy: 0.7698 - loss: 0.4721\n",
+ "Epoch 88/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 895us/step - accuracy: 0.7698 - loss: 0.4721\n",
+ "Epoch 88/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7714 - loss: 0.4705 \n",
+ "Epoch 89/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7714 - loss: 0.4705 \n",
+ "Epoch 89/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7709 - loss: 0.4704 \n",
+ "Epoch 90/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7709 - loss: 0.4704 \n",
+ "Epoch 90/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7714 - loss: 0.4715 \n",
+ "Epoch 91/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7714 - loss: 0.4715 \n",
+ "Epoch 91/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7725 - loss: 0.4681\n",
+ "Epoch 92/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7725 - loss: 0.4681\n",
+ "Epoch 92/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7692 - loss: 0.4708\n",
+ "Epoch 93/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7692 - loss: 0.4708\n",
+ "Epoch 93/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 990us/step - accuracy: 0.7747 - loss: 0.4715\n",
+ "Epoch 94/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 990us/step - accuracy: 0.7747 - loss: 0.4715\n",
+ "Epoch 94/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7706 - loss: 0.4707\n",
+ "Epoch 95/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7706 - loss: 0.4707\n",
+ "Epoch 95/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7711 - loss: 0.4722\n",
+ "Epoch 96/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7711 - loss: 0.4722\n",
+ "Epoch 96/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 918us/step - accuracy: 0.7711 - loss: 0.4706\n",
+ "Epoch 97/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 918us/step - accuracy: 0.7711 - loss: 0.4706\n",
+ "Epoch 97/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 905us/step - accuracy: 0.7722 - loss: 0.4704\n",
+ "Epoch 98/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 905us/step - accuracy: 0.7722 - loss: 0.4704\n",
+ "Epoch 98/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7706 - loss: 0.4709 \n",
+ "Epoch 99/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7706 - loss: 0.4709 \n",
+ "Epoch 99/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7752 - loss: 0.4684\n",
+ "Epoch 100/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7752 - loss: 0.4684\n",
+ "Epoch 100/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7722 - loss: 0.4697\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7722 - loss: 0.4697\n",
+ "\u001b[1m32/32\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 5ms/step - accuracy: 0.7790 - loss: 0.4570\n",
+ "\u001b[1m32/32\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 5ms/step - accuracy: 0.7790 - loss: 0.4570\n",
+ "Test Loss: 0.45695286989212036, Test Accuracy: 0.7789999842643738\n",
+ "Test Loss: 0.45695286989212036, Test Accuracy: 0.7789999842643738\n",
+ "\u001b[1m32/32\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step\n",
+ "\u001b[1m32/32\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step\n",
+ "[[621 175]\n",
+ " [ 46 158]]\n",
+ " precision recall f1-score support\n",
+ "\n",
+ " 0 0.93 0.78 0.85 796\n",
+ " 1 0.47 0.77 0.59 204\n",
+ "\n",
+ " accuracy 0.78 1000\n",
+ " macro avg 0.70 0.78 0.72 1000\n",
+ "weighted avg 0.84 0.78 0.80 1000\n",
+ "\n",
+ "[[621 175]\n",
+ " [ 46 158]]\n",
+ " precision recall f1-score support\n",
+ "\n",
+ " 0 0.93 0.78 0.85 796\n",
+ " 1 0.47 0.77 0.59 204\n",
+ "\n",
+ " accuracy 0.78 1000\n",
+ " macro avg 0.70 0.78 0.72 1000\n",
+ "weighted avg 0.84 0.78 0.80 1000\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "y_pred_2 = ANN_model(X_train_2.shape[1], X_train_2, y_train_2, X_test, y_test, 'binary_crossentropy', 100, -1)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 183,
+ "id": "6085db11",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Epoch 1/100\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "/home/gpreddy/Desktop/Pranav/personal/AI_ML/notebooks/venv/lib/python3.12/site-packages/keras/src/layers/core/dense.py:95: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
+ " super().__init__(activity_regularizer=activity_regularizer, **kwargs)\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 6ms/step - accuracy: 0.5780 - loss: 0.6768\n",
+ "Epoch 2/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 6ms/step - accuracy: 0.5780 - loss: 0.6768\n",
+ "Epoch 2/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.6320 - loss: 0.6474\n",
+ "Epoch 3/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.6320 - loss: 0.6474\n",
+ "Epoch 3/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.6489 - loss: 0.6324\n",
+ "Epoch 4/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.6489 - loss: 0.6324\n",
+ "Epoch 4/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 916us/step - accuracy: 0.6549 - loss: 0.6207\n",
+ "Epoch 5/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 916us/step - accuracy: 0.6549 - loss: 0.6207\n",
+ "Epoch 5/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 882us/step - accuracy: 0.6694 - loss: 0.6099\n",
+ "Epoch 6/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 882us/step - accuracy: 0.6694 - loss: 0.6099\n",
+ "Epoch 6/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 958us/step - accuracy: 0.6879 - loss: 0.5972\n",
+ "Epoch 7/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 958us/step - accuracy: 0.6879 - loss: 0.5972\n",
+ "Epoch 7/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 915us/step - accuracy: 0.7008 - loss: 0.5848\n",
+ "Epoch 8/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 915us/step - accuracy: 0.7008 - loss: 0.5848\n",
+ "Epoch 8/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 935us/step - accuracy: 0.7125 - loss: 0.5680\n",
+ "Epoch 9/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 935us/step - accuracy: 0.7125 - loss: 0.5680\n",
+ "Epoch 9/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 902us/step - accuracy: 0.7264 - loss: 0.5531\n",
+ "Epoch 10/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 902us/step - accuracy: 0.7264 - loss: 0.5531\n",
+ "Epoch 10/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7297 - loss: 0.5414\n",
+ "Epoch 11/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7297 - loss: 0.5414\n",
+ "Epoch 11/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7450 - loss: 0.5299\n",
+ "Epoch 12/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7450 - loss: 0.5299\n",
+ "Epoch 12/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7428 - loss: 0.5224\n",
+ "Epoch 13/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7428 - loss: 0.5224\n",
+ "Epoch 13/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7496 - loss: 0.5159 \n",
+ "Epoch 14/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7496 - loss: 0.5159 \n",
+ "Epoch 14/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7594 - loss: 0.5059\n",
+ "Epoch 15/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7594 - loss: 0.5059\n",
+ "Epoch 15/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 920us/step - accuracy: 0.7572 - loss: 0.5031\n",
+ "Epoch 16/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 920us/step - accuracy: 0.7572 - loss: 0.5031\n",
+ "Epoch 16/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7591 - loss: 0.4972\n",
+ "Epoch 17/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7591 - loss: 0.4972\n",
+ "Epoch 17/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7597 - loss: 0.4942\n",
+ "Epoch 18/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7597 - loss: 0.4942\n",
+ "Epoch 18/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7638 - loss: 0.4906 \n",
+ "Epoch 19/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7638 - loss: 0.4906 \n",
+ "Epoch 19/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 919us/step - accuracy: 0.7594 - loss: 0.4874\n",
+ "Epoch 20/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 919us/step - accuracy: 0.7594 - loss: 0.4874\n",
+ "Epoch 20/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 940us/step - accuracy: 0.7695 - loss: 0.4839\n",
+ "Epoch 21/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 940us/step - accuracy: 0.7695 - loss: 0.4839\n",
+ "Epoch 21/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 922us/step - accuracy: 0.7662 - loss: 0.4815\n",
+ "Epoch 22/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 922us/step - accuracy: 0.7662 - loss: 0.4815\n",
+ "Epoch 22/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 887us/step - accuracy: 0.7668 - loss: 0.4791\n",
+ "Epoch 23/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 887us/step - accuracy: 0.7668 - loss: 0.4791\n",
+ "Epoch 23/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 957us/step - accuracy: 0.7665 - loss: 0.4788\n",
+ "Epoch 24/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 957us/step - accuracy: 0.7665 - loss: 0.4788\n",
+ "Epoch 24/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 993us/step - accuracy: 0.7698 - loss: 0.4756\n",
+ "Epoch 25/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 993us/step - accuracy: 0.7698 - loss: 0.4756\n",
+ "Epoch 25/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7640 - loss: 0.4759 \n",
+ "Epoch 26/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7640 - loss: 0.4759 \n",
+ "Epoch 26/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7711 - loss: 0.4726\n",
+ "Epoch 27/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7711 - loss: 0.4726\n",
+ "Epoch 27/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7736 - loss: 0.4716\n",
+ "Epoch 28/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7736 - loss: 0.4716\n",
+ "Epoch 28/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7717 - loss: 0.4713\n",
+ "Epoch 29/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7717 - loss: 0.4713\n",
+ "Epoch 29/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7750 - loss: 0.4704 \n",
+ "Epoch 30/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7750 - loss: 0.4704 \n",
+ "Epoch 30/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 900us/step - accuracy: 0.7744 - loss: 0.4708\n",
+ "Epoch 31/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 900us/step - accuracy: 0.7744 - loss: 0.4708\n",
+ "Epoch 31/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 918us/step - accuracy: 0.7744 - loss: 0.4680\n",
+ "Epoch 32/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 918us/step - accuracy: 0.7744 - loss: 0.4680\n",
+ "Epoch 32/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 909us/step - accuracy: 0.7722 - loss: 0.4677\n",
+ "Epoch 33/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 909us/step - accuracy: 0.7722 - loss: 0.4677\n",
+ "Epoch 33/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7703 - loss: 0.4658 \n",
+ "Epoch 34/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7703 - loss: 0.4658 \n",
+ "Epoch 34/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7730 - loss: 0.4677 \n",
+ "Epoch 35/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7730 - loss: 0.4677 \n",
+ "Epoch 35/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7703 - loss: 0.4668\n",
+ "Epoch 36/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7703 - loss: 0.4668\n",
+ "Epoch 36/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 995us/step - accuracy: 0.7695 - loss: 0.4655\n",
+ "Epoch 37/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 995us/step - accuracy: 0.7695 - loss: 0.4655\n",
+ "Epoch 37/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 896us/step - accuracy: 0.7679 - loss: 0.4664\n",
+ "Epoch 38/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 896us/step - accuracy: 0.7679 - loss: 0.4664\n",
+ "Epoch 38/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7730 - loss: 0.4643\n",
+ "Epoch 39/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7730 - loss: 0.4643\n",
+ "Epoch 39/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7733 - loss: 0.4660\n",
+ "Epoch 40/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7733 - loss: 0.4660\n",
+ "Epoch 40/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 909us/step - accuracy: 0.7720 - loss: 0.4642\n",
+ "Epoch 41/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 909us/step - accuracy: 0.7720 - loss: 0.4642\n",
+ "Epoch 41/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7692 - loss: 0.4645\n",
+ "Epoch 42/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7692 - loss: 0.4645\n",
+ "Epoch 42/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 899us/step - accuracy: 0.7739 - loss: 0.4643\n",
+ "Epoch 43/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 899us/step - accuracy: 0.7739 - loss: 0.4643\n",
+ "Epoch 43/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 882us/step - accuracy: 0.7717 - loss: 0.4637\n",
+ "Epoch 44/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 882us/step - accuracy: 0.7717 - loss: 0.4637\n",
+ "Epoch 44/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7736 - loss: 0.4631\n",
+ "Epoch 45/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7736 - loss: 0.4631\n",
+ "Epoch 45/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7736 - loss: 0.4625\n",
+ "Epoch 46/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7736 - loss: 0.4625\n",
+ "Epoch 46/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7747 - loss: 0.4643\n",
+ "Epoch 47/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7747 - loss: 0.4643\n",
+ "Epoch 47/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 953us/step - accuracy: 0.7730 - loss: 0.4636\n",
+ "Epoch 48/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 953us/step - accuracy: 0.7730 - loss: 0.4636\n",
+ "Epoch 48/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 929us/step - accuracy: 0.7714 - loss: 0.4640\n",
+ "Epoch 49/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 929us/step - accuracy: 0.7714 - loss: 0.4640\n",
+ "Epoch 49/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7750 - loss: 0.4639\n",
+ "Epoch 50/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7750 - loss: 0.4639\n",
+ "Epoch 50/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7728 - loss: 0.4637\n",
+ "Epoch 51/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7728 - loss: 0.4637\n",
+ "Epoch 51/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 930us/step - accuracy: 0.7739 - loss: 0.4623\n",
+ "Epoch 52/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 930us/step - accuracy: 0.7739 - loss: 0.4623\n",
+ "Epoch 52/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7761 - loss: 0.4617 \n",
+ "Epoch 53/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7761 - loss: 0.4617 \n",
+ "Epoch 53/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7725 - loss: 0.4618\n",
+ "Epoch 54/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7725 - loss: 0.4618\n",
+ "Epoch 54/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7780 - loss: 0.4618\n",
+ "Epoch 55/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7780 - loss: 0.4618\n",
+ "Epoch 55/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7780 - loss: 0.4617\n",
+ "Epoch 56/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7780 - loss: 0.4617\n",
+ "Epoch 56/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7752 - loss: 0.4621 \n",
+ "Epoch 57/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7752 - loss: 0.4621 \n",
+ "Epoch 57/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7744 - loss: 0.4619\n",
+ "Epoch 58/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7744 - loss: 0.4619\n",
+ "Epoch 58/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7766 - loss: 0.4613\n",
+ "Epoch 59/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7766 - loss: 0.4613\n",
+ "Epoch 59/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7769 - loss: 0.4607 \n",
+ "Epoch 60/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7769 - loss: 0.4607 \n",
+ "Epoch 60/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7774 - loss: 0.4607\n",
+ "Epoch 61/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7774 - loss: 0.4607\n",
+ "Epoch 61/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 861us/step - accuracy: 0.7766 - loss: 0.4612\n",
+ "Epoch 62/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 861us/step - accuracy: 0.7766 - loss: 0.4612\n",
+ "Epoch 62/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7739 - loss: 0.4623\n",
+ "Epoch 63/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7739 - loss: 0.4623\n",
+ "Epoch 63/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 909us/step - accuracy: 0.7728 - loss: 0.4617\n",
+ "Epoch 64/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 909us/step - accuracy: 0.7728 - loss: 0.4617\n",
+ "Epoch 64/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7741 - loss: 0.4600 \n",
+ "Epoch 65/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7741 - loss: 0.4600 \n",
+ "Epoch 65/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7747 - loss: 0.4597\n",
+ "Epoch 66/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7747 - loss: 0.4597\n",
+ "Epoch 66/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7758 - loss: 0.4597 \n",
+ "Epoch 67/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7758 - loss: 0.4597 \n",
+ "Epoch 67/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7763 - loss: 0.4592 \n",
+ "Epoch 68/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7763 - loss: 0.4592 \n",
+ "Epoch 68/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7799 - loss: 0.4602\n",
+ "Epoch 69/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7799 - loss: 0.4602\n",
+ "Epoch 69/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7761 - loss: 0.4606\n",
+ "Epoch 70/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7761 - loss: 0.4606\n",
+ "Epoch 70/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7730 - loss: 0.4594 \n",
+ "Epoch 71/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7730 - loss: 0.4594 \n",
+ "Epoch 71/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7769 - loss: 0.4605\n",
+ "Epoch 72/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7769 - loss: 0.4605\n",
+ "Epoch 72/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 882us/step - accuracy: 0.7766 - loss: 0.4575\n",
+ "Epoch 73/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 882us/step - accuracy: 0.7766 - loss: 0.4575\n",
+ "Epoch 73/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 883us/step - accuracy: 0.7774 - loss: 0.4566\n",
+ "Epoch 74/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 883us/step - accuracy: 0.7774 - loss: 0.4566\n",
+ "Epoch 74/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7769 - loss: 0.4591 \n",
+ "Epoch 75/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7769 - loss: 0.4591 \n",
+ "Epoch 75/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7774 - loss: 0.4569\n",
+ "Epoch 76/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7774 - loss: 0.4569\n",
+ "Epoch 76/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 966us/step - accuracy: 0.7761 - loss: 0.4566\n",
+ "Epoch 77/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 966us/step - accuracy: 0.7761 - loss: 0.4566\n",
+ "Epoch 77/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 954us/step - accuracy: 0.7766 - loss: 0.4577\n",
+ "Epoch 78/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 954us/step - accuracy: 0.7766 - loss: 0.4577\n",
+ "Epoch 78/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7788 - loss: 0.4575\n",
+ "Epoch 79/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7788 - loss: 0.4575\n",
+ "Epoch 79/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7739 - loss: 0.4570\n",
+ "Epoch 80/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7739 - loss: 0.4570\n",
+ "Epoch 80/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7725 - loss: 0.4580\n",
+ "Epoch 81/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7725 - loss: 0.4580\n",
+ "Epoch 81/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 984us/step - accuracy: 0.7766 - loss: 0.4567\n",
+ "Epoch 82/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 984us/step - accuracy: 0.7766 - loss: 0.4567\n",
+ "Epoch 82/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7796 - loss: 0.4560\n",
+ "Epoch 83/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7796 - loss: 0.4560\n",
+ "Epoch 83/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7791 - loss: 0.4573\n",
+ "Epoch 84/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7791 - loss: 0.4573\n",
+ "Epoch 84/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7774 - loss: 0.4571\n",
+ "Epoch 85/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7774 - loss: 0.4571\n",
+ "Epoch 85/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7750 - loss: 0.4558\n",
+ "Epoch 86/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7750 - loss: 0.4558\n",
+ "Epoch 86/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7785 - loss: 0.4562\n",
+ "Epoch 87/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7785 - loss: 0.4562\n",
+ "Epoch 87/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7752 - loss: 0.4566\n",
+ "Epoch 88/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7752 - loss: 0.4566\n",
+ "Epoch 88/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7744 - loss: 0.4570\n",
+ "Epoch 89/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7744 - loss: 0.4570\n",
+ "Epoch 89/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7788 - loss: 0.4547\n",
+ "Epoch 90/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7788 - loss: 0.4547\n",
+ "Epoch 90/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 921us/step - accuracy: 0.7782 - loss: 0.4549\n",
+ "Epoch 91/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 921us/step - accuracy: 0.7782 - loss: 0.4549\n",
+ "Epoch 91/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7785 - loss: 0.4563\n",
+ "Epoch 92/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7785 - loss: 0.4563\n",
+ "Epoch 92/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7782 - loss: 0.4541\n",
+ "Epoch 93/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7782 - loss: 0.4541\n",
+ "Epoch 93/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7763 - loss: 0.4543\n",
+ "Epoch 94/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7763 - loss: 0.4543\n",
+ "Epoch 94/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7744 - loss: 0.4553 \n",
+ "Epoch 95/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7744 - loss: 0.4553 \n",
+ "Epoch 95/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 911us/step - accuracy: 0.7788 - loss: 0.4547\n",
+ "Epoch 96/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 911us/step - accuracy: 0.7788 - loss: 0.4547\n",
+ "Epoch 96/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7766 - loss: 0.4544\n",
+ "Epoch 97/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7766 - loss: 0.4544\n",
+ "Epoch 97/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 970us/step - accuracy: 0.7785 - loss: 0.4546\n",
+ "Epoch 98/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 970us/step - accuracy: 0.7785 - loss: 0.4546\n",
+ "Epoch 98/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 878us/step - accuracy: 0.7769 - loss: 0.4550\n",
+ "Epoch 99/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 878us/step - accuracy: 0.7769 - loss: 0.4550\n",
+ "Epoch 99/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 877us/step - accuracy: 0.7744 - loss: 0.4538\n",
+ "Epoch 100/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 877us/step - accuracy: 0.7744 - loss: 0.4538\n",
+ "Epoch 100/100\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 957us/step - accuracy: 0.7763 - loss: 0.4545\n",
+ "\u001b[1m115/115\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 957us/step - accuracy: 0.7763 - loss: 0.4545\n",
+ "\u001b[1m32/32\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 5ms/step - accuracy: 0.7610 - loss: 0.4807\n",
+ "\u001b[1m32/32\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 5ms/step - accuracy: 0.7610 - loss: 0.4807\n",
+ "Test Loss: 0.48074960708618164, Test Accuracy: 0.7609999775886536\n",
+ "Test Loss: 0.48074960708618164, Test Accuracy: 0.7609999775886536\n",
+ "\u001b[1m32/32\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step\n",
+ "\u001b[1m32/32\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step\n",
+ "[[603 193]\n",
+ " [ 46 158]]\n",
+ " precision recall f1-score support\n",
+ "\n",
+ " 0 0.93 0.76 0.83 796\n",
+ " 1 0.45 0.77 0.57 204\n",
+ "\n",
+ " accuracy 0.76 1000\n",
+ " macro avg 0.69 0.77 0.70 1000\n",
+ "weighted avg 0.83 0.76 0.78 1000\n",
+ "\n",
+ "[[603 193]\n",
+ " [ 46 158]]\n",
+ " precision recall f1-score support\n",
+ "\n",
+ " 0 0.93 0.76 0.83 796\n",
+ " 1 0.45 0.77 0.57 204\n",
+ "\n",
+ " accuracy 0.76 1000\n",
+ " macro avg 0.69 0.77 0.70 1000\n",
+ "weighted avg 0.83 0.76 0.78 1000\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "y_pred_3 = ANN_model(X_train_3.shape[1], X_train_3, y_train_3, X_test, y_test, 'binary_crossentropy', 100, -1)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 184,
+ "id": "b60d9634",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Epoch 1/100\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "/home/gpreddy/Desktop/Pranav/personal/AI_ML/notebooks/venv/lib/python3.12/site-packages/keras/src/layers/core/dense.py:95: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
+ " super().__init__(activity_regularizer=activity_regularizer, **kwargs)\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 7ms/step - accuracy: 0.5656 - loss: 0.6871\n",
+ "Epoch 2/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 7ms/step - accuracy: 0.5656 - loss: 0.6871\n",
+ "Epoch 2/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.6170 - loss: 0.6690 \n",
+ "Epoch 3/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.6170 - loss: 0.6690 \n",
+ "Epoch 3/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 932us/step - accuracy: 0.6355 - loss: 0.6482\n",
+ "Epoch 4/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 932us/step - accuracy: 0.6355 - loss: 0.6482\n",
+ "Epoch 4/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.6547 - loss: 0.6303\n",
+ "Epoch 5/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.6547 - loss: 0.6303\n",
+ "Epoch 5/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.6615 - loss: 0.6153\n",
+ "Epoch 6/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.6615 - loss: 0.6153\n",
+ "Epoch 6/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.6815 - loss: 0.5993\n",
+ "Epoch 7/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.6815 - loss: 0.5993\n",
+ "Epoch 7/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7084 - loss: 0.5787\n",
+ "Epoch 8/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7084 - loss: 0.5787\n",
+ "Epoch 8/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7224 - loss: 0.5555\n",
+ "Epoch 9/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7224 - loss: 0.5555\n",
+ "Epoch 9/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7324 - loss: 0.5360 \n",
+ "Epoch 10/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7324 - loss: 0.5360 \n",
+ "Epoch 10/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 948us/step - accuracy: 0.7386 - loss: 0.5241\n",
+ "Epoch 11/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 948us/step - accuracy: 0.7386 - loss: 0.5241\n",
+ "Epoch 11/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7464 - loss: 0.5158\n",
+ "Epoch 12/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7464 - loss: 0.5158\n",
+ "Epoch 12/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 953us/step - accuracy: 0.7481 - loss: 0.5086\n",
+ "Epoch 13/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 953us/step - accuracy: 0.7481 - loss: 0.5086\n",
+ "Epoch 13/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 956us/step - accuracy: 0.7492 - loss: 0.5060\n",
+ "Epoch 14/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 956us/step - accuracy: 0.7492 - loss: 0.5060\n",
+ "Epoch 14/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7501 - loss: 0.5014\n",
+ "Epoch 15/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7501 - loss: 0.5014\n",
+ "Epoch 15/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 849us/step - accuracy: 0.7529 - loss: 0.4981\n",
+ "Epoch 16/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 849us/step - accuracy: 0.7529 - loss: 0.4981\n",
+ "Epoch 16/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7552 - loss: 0.4966\n",
+ "Epoch 17/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7552 - loss: 0.4966\n",
+ "Epoch 17/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 911us/step - accuracy: 0.7535 - loss: 0.4933\n",
+ "Epoch 18/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 911us/step - accuracy: 0.7535 - loss: 0.4933\n",
+ "Epoch 18/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7564 - loss: 0.4930\n",
+ "Epoch 19/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7564 - loss: 0.4930\n",
+ "Epoch 19/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7572 - loss: 0.4910 \n",
+ "Epoch 20/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7572 - loss: 0.4910 \n",
+ "Epoch 20/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7598 - loss: 0.4909\n",
+ "Epoch 21/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7598 - loss: 0.4909\n",
+ "Epoch 21/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7544 - loss: 0.4892\n",
+ "Epoch 22/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7544 - loss: 0.4892\n",
+ "Epoch 22/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7549 - loss: 0.4880\n",
+ "Epoch 23/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7549 - loss: 0.4880\n",
+ "Epoch 23/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 940us/step - accuracy: 0.7549 - loss: 0.4877\n",
+ "Epoch 24/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 940us/step - accuracy: 0.7549 - loss: 0.4877\n",
+ "Epoch 24/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7566 - loss: 0.4869 \n",
+ "Epoch 25/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7566 - loss: 0.4869 \n",
+ "Epoch 25/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 965us/step - accuracy: 0.7584 - loss: 0.4861\n",
+ "Epoch 26/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 965us/step - accuracy: 0.7584 - loss: 0.4861\n",
+ "Epoch 26/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 890us/step - accuracy: 0.7552 - loss: 0.4859\n",
+ "Epoch 27/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 890us/step - accuracy: 0.7552 - loss: 0.4859\n",
+ "Epoch 27/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7598 - loss: 0.4859\n",
+ "Epoch 28/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7598 - loss: 0.4859\n",
+ "Epoch 28/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 909us/step - accuracy: 0.7604 - loss: 0.4836\n",
+ "Epoch 29/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 909us/step - accuracy: 0.7604 - loss: 0.4836\n",
+ "Epoch 29/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7621 - loss: 0.4841 \n",
+ "Epoch 30/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7621 - loss: 0.4841 \n",
+ "Epoch 30/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7598 - loss: 0.4825\n",
+ "Epoch 31/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7598 - loss: 0.4825\n",
+ "Epoch 31/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7578 - loss: 0.4831\n",
+ "Epoch 32/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7578 - loss: 0.4831\n",
+ "Epoch 32/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7615 - loss: 0.4819 \n",
+ "Epoch 33/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7615 - loss: 0.4819 \n",
+ "Epoch 33/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 897us/step - accuracy: 0.7618 - loss: 0.4815\n",
+ "Epoch 34/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 897us/step - accuracy: 0.7618 - loss: 0.4815\n",
+ "Epoch 34/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 961us/step - accuracy: 0.7572 - loss: 0.4815\n",
+ "Epoch 35/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 961us/step - accuracy: 0.7572 - loss: 0.4815\n",
+ "Epoch 35/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 903us/step - accuracy: 0.7575 - loss: 0.4804\n",
+ "Epoch 36/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 903us/step - accuracy: 0.7575 - loss: 0.4804\n",
+ "Epoch 36/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7612 - loss: 0.4802\n",
+ "Epoch 37/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7612 - loss: 0.4802\n",
+ "Epoch 37/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 904us/step - accuracy: 0.7595 - loss: 0.4772\n",
+ "Epoch 38/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 904us/step - accuracy: 0.7595 - loss: 0.4772\n",
+ "Epoch 38/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7606 - loss: 0.4779 \n",
+ "Epoch 39/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7606 - loss: 0.4779 \n",
+ "Epoch 39/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7598 - loss: 0.4780\n",
+ "Epoch 40/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7598 - loss: 0.4780\n",
+ "Epoch 40/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 963us/step - accuracy: 0.7604 - loss: 0.4762\n",
+ "Epoch 41/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 963us/step - accuracy: 0.7604 - loss: 0.4762\n",
+ "Epoch 41/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7621 - loss: 0.4743\n",
+ "Epoch 42/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7621 - loss: 0.4743\n",
+ "Epoch 42/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 899us/step - accuracy: 0.7641 - loss: 0.4745\n",
+ "Epoch 43/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 899us/step - accuracy: 0.7641 - loss: 0.4745\n",
+ "Epoch 43/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7624 - loss: 0.4746 \n",
+ "Epoch 44/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7624 - loss: 0.4746 \n",
+ "Epoch 44/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 896us/step - accuracy: 0.7644 - loss: 0.4748\n",
+ "Epoch 45/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 896us/step - accuracy: 0.7644 - loss: 0.4748\n",
+ "Epoch 45/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7626 - loss: 0.4740 \n",
+ "Epoch 46/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7626 - loss: 0.4740 \n",
+ "Epoch 46/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7686 - loss: 0.4737\n",
+ "Epoch 47/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7686 - loss: 0.4737\n",
+ "Epoch 47/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7626 - loss: 0.4737\n",
+ "Epoch 48/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7626 - loss: 0.4737\n",
+ "Epoch 48/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 936us/step - accuracy: 0.7626 - loss: 0.4721\n",
+ "Epoch 49/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 936us/step - accuracy: 0.7626 - loss: 0.4721\n",
+ "Epoch 49/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7621 - loss: 0.4725\n",
+ "Epoch 50/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7621 - loss: 0.4725\n",
+ "Epoch 50/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7624 - loss: 0.4717\n",
+ "Epoch 51/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7624 - loss: 0.4717\n",
+ "Epoch 51/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7646 - loss: 0.4708\n",
+ "Epoch 52/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7646 - loss: 0.4708\n",
+ "Epoch 52/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7635 - loss: 0.4707\n",
+ "Epoch 53/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7635 - loss: 0.4707\n",
+ "Epoch 53/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7644 - loss: 0.4713\n",
+ "Epoch 54/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7644 - loss: 0.4713\n",
+ "Epoch 54/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7638 - loss: 0.4698 \n",
+ "Epoch 55/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7638 - loss: 0.4698 \n",
+ "Epoch 55/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7672 - loss: 0.4699\n",
+ "Epoch 56/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7672 - loss: 0.4699\n",
+ "Epoch 56/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7649 - loss: 0.4697 \n",
+ "Epoch 57/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7649 - loss: 0.4697 \n",
+ "Epoch 57/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7646 - loss: 0.4724\n",
+ "Epoch 58/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7646 - loss: 0.4724\n",
+ "Epoch 58/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 948us/step - accuracy: 0.7684 - loss: 0.4683\n",
+ "Epoch 59/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 948us/step - accuracy: 0.7684 - loss: 0.4683\n",
+ "Epoch 59/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7684 - loss: 0.4677\n",
+ "Epoch 60/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7684 - loss: 0.4677\n",
+ "Epoch 60/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7661 - loss: 0.4690\n",
+ "Epoch 61/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7661 - loss: 0.4690\n",
+ "Epoch 61/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7678 - loss: 0.4678\n",
+ "Epoch 62/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7678 - loss: 0.4678\n",
+ "Epoch 62/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7704 - loss: 0.4677\n",
+ "Epoch 63/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7704 - loss: 0.4677\n",
+ "Epoch 63/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7744 - loss: 0.4665 \n",
+ "Epoch 64/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7744 - loss: 0.4665 \n",
+ "Epoch 64/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7692 - loss: 0.4666\n",
+ "Epoch 65/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7692 - loss: 0.4666\n",
+ "Epoch 65/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7692 - loss: 0.4665\n",
+ "Epoch 66/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7692 - loss: 0.4665\n",
+ "Epoch 66/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7672 - loss: 0.4656\n",
+ "Epoch 67/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7672 - loss: 0.4656\n",
+ "Epoch 67/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 911us/step - accuracy: 0.7678 - loss: 0.4661\n",
+ "Epoch 68/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 911us/step - accuracy: 0.7678 - loss: 0.4661\n",
+ "Epoch 68/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 935us/step - accuracy: 0.7681 - loss: 0.4656\n",
+ "Epoch 69/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 935us/step - accuracy: 0.7681 - loss: 0.4656\n",
+ "Epoch 69/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7704 - loss: 0.4657\n",
+ "Epoch 70/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7704 - loss: 0.4657\n",
+ "Epoch 70/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7678 - loss: 0.4667 \n",
+ "Epoch 71/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7678 - loss: 0.4667 \n",
+ "Epoch 71/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7704 - loss: 0.4647\n",
+ "Epoch 72/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7704 - loss: 0.4647\n",
+ "Epoch 72/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 994us/step - accuracy: 0.7706 - loss: 0.4640\n",
+ "Epoch 73/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 994us/step - accuracy: 0.7706 - loss: 0.4640\n",
+ "Epoch 73/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7681 - loss: 0.4642\n",
+ "Epoch 74/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7681 - loss: 0.4642\n",
+ "Epoch 74/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7749 - loss: 0.4647\n",
+ "Epoch 75/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7749 - loss: 0.4647\n",
+ "Epoch 75/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7701 - loss: 0.4651\n",
+ "Epoch 76/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7701 - loss: 0.4651\n",
+ "Epoch 76/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7718 - loss: 0.4636\n",
+ "Epoch 77/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7718 - loss: 0.4636\n",
+ "Epoch 77/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7704 - loss: 0.4641\n",
+ "Epoch 78/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7704 - loss: 0.4641\n",
+ "Epoch 78/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7726 - loss: 0.4633\n",
+ "Epoch 79/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7726 - loss: 0.4633\n",
+ "Epoch 79/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7706 - loss: 0.4630\n",
+ "Epoch 80/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7706 - loss: 0.4630\n",
+ "Epoch 80/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7741 - loss: 0.4622\n",
+ "Epoch 81/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7741 - loss: 0.4622\n",
+ "Epoch 81/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7709 - loss: 0.4631\n",
+ "Epoch 82/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7709 - loss: 0.4631\n",
+ "Epoch 82/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7706 - loss: 0.4620\n",
+ "Epoch 83/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7706 - loss: 0.4620\n",
+ "Epoch 83/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7744 - loss: 0.4607\n",
+ "Epoch 84/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7744 - loss: 0.4607\n",
+ "Epoch 84/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 951us/step - accuracy: 0.7721 - loss: 0.4616\n",
+ "Epoch 85/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 951us/step - accuracy: 0.7721 - loss: 0.4616\n",
+ "Epoch 85/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7758 - loss: 0.4614\n",
+ "Epoch 86/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7758 - loss: 0.4614\n",
+ "Epoch 86/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 906us/step - accuracy: 0.7744 - loss: 0.4630\n",
+ "Epoch 87/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 906us/step - accuracy: 0.7744 - loss: 0.4630\n",
+ "Epoch 87/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 906us/step - accuracy: 0.7732 - loss: 0.4607\n",
+ "Epoch 88/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 906us/step - accuracy: 0.7732 - loss: 0.4607\n",
+ "Epoch 88/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7755 - loss: 0.4606 \n",
+ "Epoch 89/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7755 - loss: 0.4606 \n",
+ "Epoch 89/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7761 - loss: 0.4607 \n",
+ "Epoch 90/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7761 - loss: 0.4607 \n",
+ "Epoch 90/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7729 - loss: 0.4607\n",
+ "Epoch 91/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7729 - loss: 0.4607\n",
+ "Epoch 91/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7738 - loss: 0.4593 \n",
+ "Epoch 92/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7738 - loss: 0.4593 \n",
+ "Epoch 92/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7726 - loss: 0.4599\n",
+ "Epoch 93/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7726 - loss: 0.4599\n",
+ "Epoch 93/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7749 - loss: 0.4586 \n",
+ "Epoch 94/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7749 - loss: 0.4586 \n",
+ "Epoch 94/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7758 - loss: 0.4593\n",
+ "Epoch 95/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7758 - loss: 0.4593\n",
+ "Epoch 95/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7749 - loss: 0.4598\n",
+ "Epoch 96/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7749 - loss: 0.4598\n",
+ "Epoch 96/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7741 - loss: 0.4588 \n",
+ "Epoch 97/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7741 - loss: 0.4588 \n",
+ "Epoch 97/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7749 - loss: 0.4590\n",
+ "Epoch 98/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7749 - loss: 0.4590\n",
+ "Epoch 98/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7732 - loss: 0.4592\n",
+ "Epoch 99/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7732 - loss: 0.4592\n",
+ "Epoch 99/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7746 - loss: 0.4590\n",
+ "Epoch 100/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7746 - loss: 0.4590\n",
+ "Epoch 100/100\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7701 - loss: 0.4576\n",
+ "\u001b[1m110/110\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7701 - loss: 0.4576\n",
+ "\u001b[1m32/32\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 5ms/step - accuracy: 0.7830 - loss: 0.4467\n",
+ "\u001b[1m32/32\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 5ms/step - accuracy: 0.7830 - loss: 0.4467\n",
+ "Test Loss: 0.4467238783836365, Test Accuracy: 0.7829999923706055\n",
+ "Test Loss: 0.4467238783836365, Test Accuracy: 0.7829999923706055\n",
+ "\u001b[1m32/32\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step\n",
+ "\u001b[1m32/32\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step\n",
+ "[[626 170]\n",
+ " [ 47 157]]\n",
+ " precision recall f1-score support\n",
+ "\n",
+ " 0 0.93 0.79 0.85 796\n",
+ " 1 0.48 0.77 0.59 204\n",
+ "\n",
+ " accuracy 0.78 1000\n",
+ " macro avg 0.71 0.78 0.72 1000\n",
+ "weighted avg 0.84 0.78 0.80 1000\n",
+ "\n",
+ "[[626 170]\n",
+ " [ 47 157]]\n",
+ " precision recall f1-score support\n",
+ "\n",
+ " 0 0.93 0.79 0.85 796\n",
+ " 1 0.48 0.77 0.59 204\n",
+ "\n",
+ " accuracy 0.78 1000\n",
+ " macro avg 0.71 0.78 0.72 1000\n",
+ "weighted avg 0.84 0.78 0.80 1000\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "y_pred_4 = ANN_model(X_train_4.shape[1], X_train_4, y_train_4, X_test, y_test, 'binary_crossentropy', 100, -1)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 189,
+ "id": "d0a7c1d5",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#hard voting\n",
+ "def hard_voting(y_pred_1, y_pred_2, y_pred_3, y_pred_4):\n",
+ " y_pred_final = y_pred_1.copy()\n",
+ " n = len(y_pred_1)\n",
+ " for i in range(n):\n",
+ " final_val = 1 if (y_pred_1[i] + y_pred_2[i] + y_pred_3[i] + y_pred_4[i]) / 4 > 0.33 else 0\n",
+ " y_pred_final[i] = final_val\n",
+ " return y_pred_final\n",
+ "\n",
+ "#soft voting\n",
+ "def soft_voting(y_pred_1, y_pred_2, y_pred_3, y_pred_4):\n",
+ " y_pred_final = y_pred_1.copy()\n",
+ " n = len(y_pred_1)\n",
+ " for i in range(n):\n",
+ " y_pred_final[i] = (y_pred_1[i] + y_pred_2[i] + y_pred_3[i] + y_pred_4[i])/4\n",
+ " return y_pred_final"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 190,
+ "id": "4621c91b",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "y_pred_hard = hard_voting(y_pred_1, y_pred_2, y_pred_3, y_pred_4)\n",
+ "y_pred_soft = soft_voting(y_pred_1, y_pred_2, y_pred_3, y_pred_4)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 192,
+ "id": "5e66e1fc",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " precision recall f1-score support\n",
+ "\n",
+ " 0 0.93 0.76 0.84 796\n",
+ " 1 0.46 0.78 0.58 204\n",
+ "\n",
+ " accuracy 0.77 1000\n",
+ " macro avg 0.69 0.77 0.71 1000\n",
+ "weighted avg 0.84 0.77 0.79 1000\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "cl_rep = classification_report(y_test, y_pred_hard)\n",
+ "print(cl_rep)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 193,
+ "id": "72d704c3",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " precision recall f1-score support\n",
+ "\n",
+ " 0 0.92 0.86 0.89 796\n",
+ " 1 0.57 0.71 0.63 204\n",
+ "\n",
+ " accuracy 0.83 1000\n",
+ " macro avg 0.74 0.78 0.76 1000\n",
+ "weighted avg 0.85 0.83 0.84 1000\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "cl_rep = classification_report(y_test, y_pred_soft)\n",
+ "print(cl_rep)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "cdbaa6da",
+ "metadata": {},
+ "source": [
+ "**normal model f1 score of minority class: 0.62,**\n",
+ "**over sample using smote f1 score: 0.64,**\n",
+ "**under sample: 0.78,**\n",
+ "**oversample: 0.78,**\n",
+ "\n",
+ "**ensemble1: 0.60,**\n",
+ "**ensemble2: 0.59,**\n",
+ "**ensemble3: 0.57,**\n",
+ "**ensemble4: 0.59,**\n",
+ "\n",
+ "**hard_voting: 0.58,**\n",
+ "**soft_voting: 0.63,**"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "venv",
+ "language": "python",
+ "name": "python3"
+ },
+ "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.12.3"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}