diff --git a/14_imbalanced/Handling Imbalanced Data In Customer Churn Using ANN/Bank_Churn_Modelling_Using_Sampling.ipynb b/14_imbalanced/Handling Imbalanced Data In Customer Churn Using ANN/Bank_Churn_Modelling_Using_Sampling.ipynb
new file mode 100644
index 0000000..033e959
--- /dev/null
+++ b/14_imbalanced/Handling Imbalanced Data In Customer Churn Using ANN/Bank_Churn_Modelling_Using_Sampling.ipynb
@@ -0,0 +1,5381 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "id": "0c9a92f8",
+ "metadata": {},
+ "source": [
+ "# Bank Customer Churn Prediction"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "id": "3222f53d",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import pandas as pd\n",
+ "import numpy as np\n",
+ "import tensorflow as tf\n",
+ "from tensorflow import keras\n",
+ "import warnings\n",
+ "warnings.filterwarnings(\"ignore\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "id": "c02146ba",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "df=pd.read_csv('Churn_Modelling.csv')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "id": "2fba4e16",
+ "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",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " 9995 | \n",
+ " 9996 | \n",
+ " 15606229 | \n",
+ " Obijiaku | \n",
+ " 771 | \n",
+ " France | \n",
+ " Male | \n",
+ " 39 | \n",
+ " 5 | \n",
+ " 0.00 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 96270.64 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 9996 | \n",
+ " 9997 | \n",
+ " 15569892 | \n",
+ " Johnstone | \n",
+ " 516 | \n",
+ " France | \n",
+ " Male | \n",
+ " 35 | \n",
+ " 10 | \n",
+ " 57369.61 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 101699.77 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 9997 | \n",
+ " 9998 | \n",
+ " 15584532 | \n",
+ " Liu | \n",
+ " 709 | \n",
+ " France | \n",
+ " Female | \n",
+ " 36 | \n",
+ " 7 | \n",
+ " 0.00 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 42085.58 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " 9998 | \n",
+ " 9999 | \n",
+ " 15682355 | \n",
+ " Sabbatini | \n",
+ " 772 | \n",
+ " Germany | \n",
+ " Male | \n",
+ " 42 | \n",
+ " 3 | \n",
+ " 75075.31 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 92888.52 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " 9999 | \n",
+ " 10000 | \n",
+ " 15628319 | \n",
+ " Walker | \n",
+ " 792 | \n",
+ " France | \n",
+ " Female | \n",
+ " 28 | \n",
+ " 4 | \n",
+ " 130142.79 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 38190.78 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
10000 rows × 14 columns
\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",
+ "9995 9996 15606229 Obijiaku 771 France Male 39 \n",
+ "9996 9997 15569892 Johnstone 516 France Male 35 \n",
+ "9997 9998 15584532 Liu 709 France Female 36 \n",
+ "9998 9999 15682355 Sabbatini 772 Germany Male 42 \n",
+ "9999 10000 15628319 Walker 792 France Female 28 \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",
+ "9995 5 0.00 2 1 0 \n",
+ "9996 10 57369.61 1 1 1 \n",
+ "9997 7 0.00 1 0 1 \n",
+ "9998 3 75075.31 2 1 0 \n",
+ "9999 4 130142.79 1 1 0 \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 \n",
+ "... ... ... \n",
+ "9995 96270.64 0 \n",
+ "9996 101699.77 0 \n",
+ "9997 42085.58 1 \n",
+ "9998 92888.52 1 \n",
+ "9999 38190.78 0 \n",
+ "\n",
+ "[10000 rows x 14 columns]"
+ ]
+ },
+ "execution_count": 3,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "id": "3c900477",
+ "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",
+ " 9995 | \n",
+ " 9996 | \n",
+ " 15606229 | \n",
+ " Obijiaku | \n",
+ " 771 | \n",
+ " France | \n",
+ " Male | \n",
+ " 39 | \n",
+ " 5 | \n",
+ " 0.00 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 96270.64 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 9996 | \n",
+ " 9997 | \n",
+ " 15569892 | \n",
+ " Johnstone | \n",
+ " 516 | \n",
+ " France | \n",
+ " Male | \n",
+ " 35 | \n",
+ " 10 | \n",
+ " 57369.61 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 101699.77 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 9997 | \n",
+ " 9998 | \n",
+ " 15584532 | \n",
+ " Liu | \n",
+ " 709 | \n",
+ " France | \n",
+ " Female | \n",
+ " 36 | \n",
+ " 7 | \n",
+ " 0.00 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 42085.58 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " 9998 | \n",
+ " 9999 | \n",
+ " 15682355 | \n",
+ " Sabbatini | \n",
+ " 772 | \n",
+ " Germany | \n",
+ " Male | \n",
+ " 42 | \n",
+ " 3 | \n",
+ " 75075.31 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 92888.52 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " 9999 | \n",
+ " 10000 | \n",
+ " 15628319 | \n",
+ " Walker | \n",
+ " 792 | \n",
+ " France | \n",
+ " Female | \n",
+ " 28 | \n",
+ " 4 | \n",
+ " 130142.79 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 38190.78 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " RowNumber CustomerId Surname CreditScore Geography Gender Age \\\n",
+ "9995 9996 15606229 Obijiaku 771 France Male 39 \n",
+ "9996 9997 15569892 Johnstone 516 France Male 35 \n",
+ "9997 9998 15584532 Liu 709 France Female 36 \n",
+ "9998 9999 15682355 Sabbatini 772 Germany Male 42 \n",
+ "9999 10000 15628319 Walker 792 France Female 28 \n",
+ "\n",
+ " Tenure Balance NumOfProducts HasCrCard IsActiveMember \\\n",
+ "9995 5 0.00 2 1 0 \n",
+ "9996 10 57369.61 1 1 1 \n",
+ "9997 7 0.00 1 0 1 \n",
+ "9998 3 75075.31 2 1 0 \n",
+ "9999 4 130142.79 1 1 0 \n",
+ "\n",
+ " EstimatedSalary Exited \n",
+ "9995 96270.64 0 \n",
+ "9996 101699.77 0 \n",
+ "9997 42085.58 1 \n",
+ "9998 92888.52 1 \n",
+ "9999 38190.78 0 "
+ ]
+ },
+ "execution_count": 4,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.tail()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "id": "1cfe8250",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Index(['RowNumber', 'CustomerId', 'Surname', 'CreditScore', 'Geography',\n",
+ " 'Gender', 'Age', 'Tenure', 'Balance', 'NumOfProducts', 'HasCrCard',\n",
+ " 'IsActiveMember', 'EstimatedSalary', 'Exited'],\n",
+ " dtype='object')"
+ ]
+ },
+ "execution_count": 5,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.columns"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "id": "de72c6db",
+ "metadata": {
+ "scrolled": true
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "RowNumber\n",
+ "1 1\n",
+ "6671 1\n",
+ "6664 1\n",
+ "6665 1\n",
+ "6666 1\n",
+ " ..\n",
+ "3334 1\n",
+ "3335 1\n",
+ "3336 1\n",
+ "3337 1\n",
+ "10000 1\n",
+ "Name: count, Length: 10000, dtype: int64\n",
+ "\n",
+ "\n",
+ "CustomerId\n",
+ "15634602 1\n",
+ "15667932 1\n",
+ "15766185 1\n",
+ "15667632 1\n",
+ "15599024 1\n",
+ " ..\n",
+ "15599078 1\n",
+ "15702300 1\n",
+ "15660735 1\n",
+ "15671390 1\n",
+ "15628319 1\n",
+ "Name: count, Length: 10000, dtype: int64\n",
+ "\n",
+ "\n",
+ "Surname\n",
+ "Smith 32\n",
+ "Scott 29\n",
+ "Martin 29\n",
+ "Walker 28\n",
+ "Brown 26\n",
+ " ..\n",
+ "Izmailov 1\n",
+ "Bold 1\n",
+ "Bonham 1\n",
+ "Poninski 1\n",
+ "Burbidge 1\n",
+ "Name: count, Length: 2932, dtype: int64\n",
+ "\n",
+ "\n",
+ "CreditScore\n",
+ "850 233\n",
+ "678 63\n",
+ "655 54\n",
+ "705 53\n",
+ "667 53\n",
+ " ... \n",
+ "404 1\n",
+ "351 1\n",
+ "365 1\n",
+ "417 1\n",
+ "419 1\n",
+ "Name: count, Length: 460, dtype: int64\n",
+ "\n",
+ "\n",
+ "Geography\n",
+ "France 5014\n",
+ "Germany 2509\n",
+ "Spain 2477\n",
+ "Name: count, dtype: int64\n",
+ "\n",
+ "\n",
+ "Gender\n",
+ "Male 5457\n",
+ "Female 4543\n",
+ "Name: count, dtype: int64\n",
+ "\n",
+ "\n",
+ "Age\n",
+ "37 478\n",
+ "38 477\n",
+ "35 474\n",
+ "36 456\n",
+ "34 447\n",
+ " ... \n",
+ "92 2\n",
+ "82 1\n",
+ "88 1\n",
+ "85 1\n",
+ "83 1\n",
+ "Name: count, Length: 70, dtype: int64\n",
+ "\n",
+ "\n",
+ "Tenure\n",
+ "2 1048\n",
+ "1 1035\n",
+ "7 1028\n",
+ "8 1025\n",
+ "5 1012\n",
+ "3 1009\n",
+ "4 989\n",
+ "9 984\n",
+ "6 967\n",
+ "10 490\n",
+ "0 413\n",
+ "Name: count, dtype: int64\n",
+ "\n",
+ "\n",
+ "Balance\n",
+ "0.00 3617\n",
+ "130170.82 2\n",
+ "105473.74 2\n",
+ "85304.27 1\n",
+ "159397.75 1\n",
+ " ... \n",
+ "81556.89 1\n",
+ "112687.69 1\n",
+ "108698.96 1\n",
+ "238387.56 1\n",
+ "130142.79 1\n",
+ "Name: count, Length: 6382, dtype: int64\n",
+ "\n",
+ "\n",
+ "NumOfProducts\n",
+ "1 5084\n",
+ "2 4590\n",
+ "3 266\n",
+ "4 60\n",
+ "Name: count, dtype: int64\n",
+ "\n",
+ "\n",
+ "HasCrCard\n",
+ "1 7055\n",
+ "0 2945\n",
+ "Name: count, dtype: int64\n",
+ "\n",
+ "\n",
+ "IsActiveMember\n",
+ "1 5151\n",
+ "0 4849\n",
+ "Name: count, dtype: int64\n",
+ "\n",
+ "\n",
+ "EstimatedSalary\n",
+ "24924.92 2\n",
+ "101348.88 1\n",
+ "55313.44 1\n",
+ "72500.68 1\n",
+ "182692.80 1\n",
+ " ..\n",
+ "120893.07 1\n",
+ "188377.21 1\n",
+ "55902.93 1\n",
+ "4523.74 1\n",
+ "38190.78 1\n",
+ "Name: count, Length: 9999, dtype: int64\n",
+ "\n",
+ "\n",
+ "Exited\n",
+ "0 7963\n",
+ "1 2037\n",
+ "Name: count, dtype: int64\n",
+ "\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "def find_value_counts(df):\n",
+ " for i in df.columns:\n",
+ " print(f'{df[i].value_counts()}')\n",
+ " print(\"\\n\")\n",
+ "find_value_counts(df)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "id": "f905b89f",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "RowNumber 10000\n",
+ "CustomerId 10000\n",
+ "Surname 2932\n",
+ "CreditScore 460\n",
+ "Geography 3\n",
+ "Gender 2\n",
+ "Age 70\n",
+ "Tenure 11\n",
+ "Balance 6382\n",
+ "NumOfProducts 4\n",
+ "HasCrCard 2\n",
+ "IsActiveMember 2\n",
+ "EstimatedSalary 9999\n",
+ "Exited 2\n",
+ "dtype: int64"
+ ]
+ },
+ "execution_count": 7,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.nunique()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "id": "84b03be2",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "RowNumber 0\n",
+ "CustomerId 0\n",
+ "Surname 0\n",
+ "CreditScore 0\n",
+ "Geography 0\n",
+ "Gender 0\n",
+ "Age 0\n",
+ "Tenure 0\n",
+ "Balance 0\n",
+ "NumOfProducts 0\n",
+ "HasCrCard 0\n",
+ "IsActiveMember 0\n",
+ "EstimatedSalary 0\n",
+ "Exited 0\n",
+ "dtype: int64"
+ ]
+ },
+ "execution_count": 8,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.isnull().sum()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "id": "7891afc9",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "RowNumber int64\n",
+ "CustomerId int64\n",
+ "Surname object\n",
+ "CreditScore int64\n",
+ "Geography object\n",
+ "Gender object\n",
+ "Age int64\n",
+ "Tenure int64\n",
+ "Balance float64\n",
+ "NumOfProducts int64\n",
+ "HasCrCard int64\n",
+ "IsActiveMember int64\n",
+ "EstimatedSalary float64\n",
+ "Exited int64\n",
+ "dtype: object"
+ ]
+ },
+ "execution_count": 9,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.dtypes"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "id": "6471d362",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " RowNumber | \n",
+ " CustomerId | \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.00000 | \n",
+ " 1.000000e+04 | \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",
+ " 5000.50000 | \n",
+ " 1.569094e+07 | \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",
+ " 2886.89568 | \n",
+ " 7.193619e+04 | \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",
+ " 1.00000 | \n",
+ " 1.556570e+07 | \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",
+ " 2500.75000 | \n",
+ " 1.562853e+07 | \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",
+ " 5000.50000 | \n",
+ " 1.569074e+07 | \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",
+ " 7500.25000 | \n",
+ " 1.575323e+07 | \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",
+ " 10000.00000 | \n",
+ " 1.581569e+07 | \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": [
+ " RowNumber CustomerId CreditScore Age Tenure \\\n",
+ "count 10000.00000 1.000000e+04 10000.000000 10000.000000 10000.000000 \n",
+ "mean 5000.50000 1.569094e+07 650.528800 38.921800 5.012800 \n",
+ "std 2886.89568 7.193619e+04 96.653299 10.487806 2.892174 \n",
+ "min 1.00000 1.556570e+07 350.000000 18.000000 0.000000 \n",
+ "25% 2500.75000 1.562853e+07 584.000000 32.000000 3.000000 \n",
+ "50% 5000.50000 1.569074e+07 652.000000 37.000000 5.000000 \n",
+ "75% 7500.25000 1.575323e+07 718.000000 44.000000 7.000000 \n",
+ "max 10000.00000 1.581569e+07 850.000000 92.000000 10.000000 \n",
+ "\n",
+ " Balance NumOfProducts HasCrCard IsActiveMember \\\n",
+ "count 10000.000000 10000.000000 10000.00000 10000.000000 \n",
+ "mean 76485.889288 1.530200 0.70550 0.515100 \n",
+ "std 62397.405202 0.581654 0.45584 0.499797 \n",
+ "min 0.000000 1.000000 0.00000 0.000000 \n",
+ "25% 0.000000 1.000000 0.00000 0.000000 \n",
+ "50% 97198.540000 1.000000 1.00000 1.000000 \n",
+ "75% 127644.240000 2.000000 1.00000 1.000000 \n",
+ "max 250898.090000 4.000000 1.00000 1.000000 \n",
+ "\n",
+ " EstimatedSalary Exited \n",
+ "count 10000.000000 10000.000000 \n",
+ "mean 100090.239881 0.203700 \n",
+ "std 57510.492818 0.402769 \n",
+ "min 11.580000 0.000000 \n",
+ "25% 51002.110000 0.000000 \n",
+ "50% 100193.915000 0.000000 \n",
+ "75% 149388.247500 0.000000 \n",
+ "max 199992.480000 1.000000 "
+ ]
+ },
+ "execution_count": 10,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.describe()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "id": "36d8b7b3",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "RangeIndex: 10000 entries, 0 to 9999\n",
+ "Data columns (total 14 columns):\n",
+ " # Column Non-Null Count Dtype \n",
+ "--- ------ -------------- ----- \n",
+ " 0 RowNumber 10000 non-null int64 \n",
+ " 1 CustomerId 10000 non-null int64 \n",
+ " 2 Surname 10000 non-null object \n",
+ " 3 CreditScore 10000 non-null int64 \n",
+ " 4 Geography 10000 non-null object \n",
+ " 5 Gender 10000 non-null object \n",
+ " 6 Age 10000 non-null int64 \n",
+ " 7 Tenure 10000 non-null int64 \n",
+ " 8 Balance 10000 non-null float64\n",
+ " 9 NumOfProducts 10000 non-null int64 \n",
+ " 10 HasCrCard 10000 non-null int64 \n",
+ " 11 IsActiveMember 10000 non-null int64 \n",
+ " 12 EstimatedSalary 10000 non-null float64\n",
+ " 13 Exited 10000 non-null int64 \n",
+ "dtypes: float64(2), int64(9), object(3)\n",
+ "memory usage: 1.1+ MB\n"
+ ]
+ }
+ ],
+ "source": [
+ "df.info()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "id": "374968cc",
+ "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",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " 9995 | \n",
+ " 9996 | \n",
+ " 15606229 | \n",
+ " Obijiaku | \n",
+ " 771 | \n",
+ " France | \n",
+ " Male | \n",
+ " 39 | \n",
+ " 5 | \n",
+ " 0.00 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 96270.64 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 9996 | \n",
+ " 9997 | \n",
+ " 15569892 | \n",
+ " Johnstone | \n",
+ " 516 | \n",
+ " France | \n",
+ " Male | \n",
+ " 35 | \n",
+ " 10 | \n",
+ " 57369.61 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 101699.77 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 9997 | \n",
+ " 9998 | \n",
+ " 15584532 | \n",
+ " Liu | \n",
+ " 709 | \n",
+ " France | \n",
+ " Female | \n",
+ " 36 | \n",
+ " 7 | \n",
+ " 0.00 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 42085.58 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " 9998 | \n",
+ " 9999 | \n",
+ " 15682355 | \n",
+ " Sabbatini | \n",
+ " 772 | \n",
+ " Germany | \n",
+ " Male | \n",
+ " 42 | \n",
+ " 3 | \n",
+ " 75075.31 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 92888.52 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " 9999 | \n",
+ " 10000 | \n",
+ " 15628319 | \n",
+ " Walker | \n",
+ " 792 | \n",
+ " France | \n",
+ " Female | \n",
+ " 28 | \n",
+ " 4 | \n",
+ " 130142.79 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 38190.78 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
10000 rows × 14 columns
\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",
+ "9995 9996 15606229 Obijiaku 771 France Male 39 \n",
+ "9996 9997 15569892 Johnstone 516 France Male 35 \n",
+ "9997 9998 15584532 Liu 709 France Female 36 \n",
+ "9998 9999 15682355 Sabbatini 772 Germany Male 42 \n",
+ "9999 10000 15628319 Walker 792 France Female 28 \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",
+ "9995 5 0.00 2 1 0 \n",
+ "9996 10 57369.61 1 1 1 \n",
+ "9997 7 0.00 1 0 1 \n",
+ "9998 3 75075.31 2 1 0 \n",
+ "9999 4 130142.79 1 1 0 \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 \n",
+ "... ... ... \n",
+ "9995 96270.64 0 \n",
+ "9996 101699.77 0 \n",
+ "9997 42085.58 1 \n",
+ "9998 92888.52 1 \n",
+ "9999 38190.78 0 \n",
+ "\n",
+ "[10000 rows x 14 columns]"
+ ]
+ },
+ "execution_count": 12,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "id": "6e15636d",
+ "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",
+ " 1 | \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",
+ " 1 | \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",
+ " 1 | \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",
+ " 1 | \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",
+ " 1 | \n",
+ " 43 | \n",
+ " 2 | \n",
+ " 125510.82 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 79084.10 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " 9995 | \n",
+ " 9996 | \n",
+ " 15606229 | \n",
+ " Obijiaku | \n",
+ " 771 | \n",
+ " France | \n",
+ " 0 | \n",
+ " 39 | \n",
+ " 5 | \n",
+ " 0.00 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 96270.64 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 9996 | \n",
+ " 9997 | \n",
+ " 15569892 | \n",
+ " Johnstone | \n",
+ " 516 | \n",
+ " France | \n",
+ " 0 | \n",
+ " 35 | \n",
+ " 10 | \n",
+ " 57369.61 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 101699.77 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 9997 | \n",
+ " 9998 | \n",
+ " 15584532 | \n",
+ " Liu | \n",
+ " 709 | \n",
+ " France | \n",
+ " 1 | \n",
+ " 36 | \n",
+ " 7 | \n",
+ " 0.00 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 42085.58 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " 9998 | \n",
+ " 9999 | \n",
+ " 15682355 | \n",
+ " Sabbatini | \n",
+ " 772 | \n",
+ " Germany | \n",
+ " 0 | \n",
+ " 42 | \n",
+ " 3 | \n",
+ " 75075.31 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 92888.52 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " 9999 | \n",
+ " 10000 | \n",
+ " 15628319 | \n",
+ " Walker | \n",
+ " 792 | \n",
+ " France | \n",
+ " 1 | \n",
+ " 28 | \n",
+ " 4 | \n",
+ " 130142.79 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 38190.78 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
10000 rows × 14 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " RowNumber CustomerId Surname CreditScore Geography Gender Age \\\n",
+ "0 1 15634602 Hargrave 619 France 1 42 \n",
+ "1 2 15647311 Hill 608 Spain 1 41 \n",
+ "2 3 15619304 Onio 502 France 1 42 \n",
+ "3 4 15701354 Boni 699 France 1 39 \n",
+ "4 5 15737888 Mitchell 850 Spain 1 43 \n",
+ "... ... ... ... ... ... ... ... \n",
+ "9995 9996 15606229 Obijiaku 771 France 0 39 \n",
+ "9996 9997 15569892 Johnstone 516 France 0 35 \n",
+ "9997 9998 15584532 Liu 709 France 1 36 \n",
+ "9998 9999 15682355 Sabbatini 772 Germany 0 42 \n",
+ "9999 10000 15628319 Walker 792 France 1 28 \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",
+ "9995 5 0.00 2 1 0 \n",
+ "9996 10 57369.61 1 1 1 \n",
+ "9997 7 0.00 1 0 1 \n",
+ "9998 3 75075.31 2 1 0 \n",
+ "9999 4 130142.79 1 1 0 \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 \n",
+ "... ... ... \n",
+ "9995 96270.64 0 \n",
+ "9996 101699.77 0 \n",
+ "9997 42085.58 1 \n",
+ "9998 92888.52 1 \n",
+ "9999 38190.78 0 \n",
+ "\n",
+ "[10000 rows x 14 columns]"
+ ]
+ },
+ "execution_count": 13,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df['Gender'].replace({'Female':1,'Male':0},inplace=True)\n",
+ "df"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "id": "85d6b922",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "df=pd.get_dummies(df,columns=['Geography'],dtype='int')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "id": "46df7662",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " RowNumber | \n",
+ " CustomerId | \n",
+ " Surname | \n",
+ " CreditScore | \n",
+ " Gender | \n",
+ " Age | \n",
+ " Tenure | \n",
+ " Balance | \n",
+ " NumOfProducts | \n",
+ " HasCrCard | \n",
+ " IsActiveMember | \n",
+ " EstimatedSalary | \n",
+ " Exited | \n",
+ " Geography_France | \n",
+ " Geography_Germany | \n",
+ " Geography_Spain | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 15634602 | \n",
+ " Hargrave | \n",
+ " 619 | \n",
+ " 1 | \n",
+ " 42 | \n",
+ " 2 | \n",
+ " 0.00 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 101348.88 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 15647311 | \n",
+ " Hill | \n",
+ " 608 | \n",
+ " 1 | \n",
+ " 41 | \n",
+ " 1 | \n",
+ " 83807.86 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 112542.58 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " 2 | \n",
+ " 3 | \n",
+ " 15619304 | \n",
+ " Onio | \n",
+ " 502 | \n",
+ " 1 | \n",
+ " 42 | \n",
+ " 8 | \n",
+ " 159660.80 | \n",
+ " 3 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 113931.57 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 3 | \n",
+ " 4 | \n",
+ " 15701354 | \n",
+ " Boni | \n",
+ " 699 | \n",
+ " 1 | \n",
+ " 39 | \n",
+ " 1 | \n",
+ " 0.00 | \n",
+ " 2 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 93826.63 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 4 | \n",
+ " 5 | \n",
+ " 15737888 | \n",
+ " Mitchell | \n",
+ " 850 | \n",
+ " 1 | \n",
+ " 43 | \n",
+ " 2 | \n",
+ " 125510.82 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 79084.10 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " 9995 | \n",
+ " 9996 | \n",
+ " 15606229 | \n",
+ " Obijiaku | \n",
+ " 771 | \n",
+ " 0 | \n",
+ " 39 | \n",
+ " 5 | \n",
+ " 0.00 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 96270.64 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 9996 | \n",
+ " 9997 | \n",
+ " 15569892 | \n",
+ " Johnstone | \n",
+ " 516 | \n",
+ " 0 | \n",
+ " 35 | \n",
+ " 10 | \n",
+ " 57369.61 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 101699.77 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 9997 | \n",
+ " 9998 | \n",
+ " 15584532 | \n",
+ " Liu | \n",
+ " 709 | \n",
+ " 1 | \n",
+ " 36 | \n",
+ " 7 | \n",
+ " 0.00 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 42085.58 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 9998 | \n",
+ " 9999 | \n",
+ " 15682355 | \n",
+ " Sabbatini | \n",
+ " 772 | \n",
+ " 0 | \n",
+ " 42 | \n",
+ " 3 | \n",
+ " 75075.31 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 92888.52 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 9999 | \n",
+ " 10000 | \n",
+ " 15628319 | \n",
+ " Walker | \n",
+ " 792 | \n",
+ " 1 | \n",
+ " 28 | \n",
+ " 4 | \n",
+ " 130142.79 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 38190.78 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
10000 rows × 16 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " RowNumber CustomerId Surname CreditScore Gender Age Tenure \\\n",
+ "0 1 15634602 Hargrave 619 1 42 2 \n",
+ "1 2 15647311 Hill 608 1 41 1 \n",
+ "2 3 15619304 Onio 502 1 42 8 \n",
+ "3 4 15701354 Boni 699 1 39 1 \n",
+ "4 5 15737888 Mitchell 850 1 43 2 \n",
+ "... ... ... ... ... ... ... ... \n",
+ "9995 9996 15606229 Obijiaku 771 0 39 5 \n",
+ "9996 9997 15569892 Johnstone 516 0 35 10 \n",
+ "9997 9998 15584532 Liu 709 1 36 7 \n",
+ "9998 9999 15682355 Sabbatini 772 0 42 3 \n",
+ "9999 10000 15628319 Walker 792 1 28 4 \n",
+ "\n",
+ " Balance NumOfProducts HasCrCard IsActiveMember EstimatedSalary \\\n",
+ "0 0.00 1 1 1 101348.88 \n",
+ "1 83807.86 1 0 1 112542.58 \n",
+ "2 159660.80 3 1 0 113931.57 \n",
+ "3 0.00 2 0 0 93826.63 \n",
+ "4 125510.82 1 1 1 79084.10 \n",
+ "... ... ... ... ... ... \n",
+ "9995 0.00 2 1 0 96270.64 \n",
+ "9996 57369.61 1 1 1 101699.77 \n",
+ "9997 0.00 1 0 1 42085.58 \n",
+ "9998 75075.31 2 1 0 92888.52 \n",
+ "9999 130142.79 1 1 0 38190.78 \n",
+ "\n",
+ " Exited Geography_France Geography_Germany Geography_Spain \n",
+ "0 1 1 0 0 \n",
+ "1 0 0 0 1 \n",
+ "2 1 1 0 0 \n",
+ "3 0 1 0 0 \n",
+ "4 0 0 0 1 \n",
+ "... ... ... ... ... \n",
+ "9995 0 1 0 0 \n",
+ "9996 0 1 0 0 \n",
+ "9997 1 1 0 0 \n",
+ "9998 1 0 1 0 \n",
+ "9999 0 1 0 0 \n",
+ "\n",
+ "[10000 rows x 16 columns]"
+ ]
+ },
+ "execution_count": 15,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "id": "e6e7f833",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " RowNumber | \n",
+ " CustomerId | \n",
+ " Surname | \n",
+ " CreditScore | \n",
+ " Gender | \n",
+ " Age | \n",
+ " Tenure | \n",
+ " Balance | \n",
+ " NumOfProducts | \n",
+ " HasCrCard | \n",
+ " IsActiveMember | \n",
+ " EstimatedSalary | \n",
+ " Exited | \n",
+ " Geography_France | \n",
+ " Geography_Germany | \n",
+ " Geography_Spain | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 15634602 | \n",
+ " Hargrave | \n",
+ " 0.538 | \n",
+ " 1 | \n",
+ " 0.324324 | \n",
+ " 0.2 | \n",
+ " 0.000000 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0.506735 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 15647311 | \n",
+ " Hill | \n",
+ " 0.516 | \n",
+ " 1 | \n",
+ " 0.310811 | \n",
+ " 0.1 | \n",
+ " 0.334031 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0.562709 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " 2 | \n",
+ " 3 | \n",
+ " 15619304 | \n",
+ " Onio | \n",
+ " 0.304 | \n",
+ " 1 | \n",
+ " 0.324324 | \n",
+ " 0.8 | \n",
+ " 0.636357 | \n",
+ " 3 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0.569654 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 3 | \n",
+ " 4 | \n",
+ " 15701354 | \n",
+ " Boni | \n",
+ " 0.698 | \n",
+ " 1 | \n",
+ " 0.283784 | \n",
+ " 0.1 | \n",
+ " 0.000000 | \n",
+ " 2 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0.469120 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 4 | \n",
+ " 5 | \n",
+ " 15737888 | \n",
+ " Mitchell | \n",
+ " 1.000 | \n",
+ " 1 | \n",
+ " 0.337838 | \n",
+ " 0.2 | \n",
+ " 0.500246 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0.395400 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " 9995 | \n",
+ " 9996 | \n",
+ " 15606229 | \n",
+ " Obijiaku | \n",
+ " 0.842 | \n",
+ " 0 | \n",
+ " 0.283784 | \n",
+ " 0.5 | \n",
+ " 0.000000 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0.481341 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 9996 | \n",
+ " 9997 | \n",
+ " 15569892 | \n",
+ " Johnstone | \n",
+ " 0.332 | \n",
+ " 0 | \n",
+ " 0.229730 | \n",
+ " 1.0 | \n",
+ " 0.228657 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0.508490 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 9997 | \n",
+ " 9998 | \n",
+ " 15584532 | \n",
+ " Liu | \n",
+ " 0.718 | \n",
+ " 1 | \n",
+ " 0.243243 | \n",
+ " 0.7 | \n",
+ " 0.000000 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0.210390 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 9998 | \n",
+ " 9999 | \n",
+ " 15682355 | \n",
+ " Sabbatini | \n",
+ " 0.844 | \n",
+ " 0 | \n",
+ " 0.324324 | \n",
+ " 0.3 | \n",
+ " 0.299226 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0.464429 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 9999 | \n",
+ " 10000 | \n",
+ " 15628319 | \n",
+ " Walker | \n",
+ " 0.884 | \n",
+ " 1 | \n",
+ " 0.135135 | \n",
+ " 0.4 | \n",
+ " 0.518708 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0.190914 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
10000 rows × 16 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " RowNumber CustomerId Surname CreditScore Gender Age Tenure \\\n",
+ "0 1 15634602 Hargrave 0.538 1 0.324324 0.2 \n",
+ "1 2 15647311 Hill 0.516 1 0.310811 0.1 \n",
+ "2 3 15619304 Onio 0.304 1 0.324324 0.8 \n",
+ "3 4 15701354 Boni 0.698 1 0.283784 0.1 \n",
+ "4 5 15737888 Mitchell 1.000 1 0.337838 0.2 \n",
+ "... ... ... ... ... ... ... ... \n",
+ "9995 9996 15606229 Obijiaku 0.842 0 0.283784 0.5 \n",
+ "9996 9997 15569892 Johnstone 0.332 0 0.229730 1.0 \n",
+ "9997 9998 15584532 Liu 0.718 1 0.243243 0.7 \n",
+ "9998 9999 15682355 Sabbatini 0.844 0 0.324324 0.3 \n",
+ "9999 10000 15628319 Walker 0.884 1 0.135135 0.4 \n",
+ "\n",
+ " Balance NumOfProducts HasCrCard IsActiveMember EstimatedSalary \\\n",
+ "0 0.000000 1 1 1 0.506735 \n",
+ "1 0.334031 1 0 1 0.562709 \n",
+ "2 0.636357 3 1 0 0.569654 \n",
+ "3 0.000000 2 0 0 0.469120 \n",
+ "4 0.500246 1 1 1 0.395400 \n",
+ "... ... ... ... ... ... \n",
+ "9995 0.000000 2 1 0 0.481341 \n",
+ "9996 0.228657 1 1 1 0.508490 \n",
+ "9997 0.000000 1 0 1 0.210390 \n",
+ "9998 0.299226 2 1 0 0.464429 \n",
+ "9999 0.518708 1 1 0 0.190914 \n",
+ "\n",
+ " Exited Geography_France Geography_Germany Geography_Spain \n",
+ "0 1 1 0 0 \n",
+ "1 0 0 0 1 \n",
+ "2 1 1 0 0 \n",
+ "3 0 1 0 0 \n",
+ "4 0 0 0 1 \n",
+ "... ... ... ... ... \n",
+ "9995 0 1 0 0 \n",
+ "9996 0 1 0 0 \n",
+ "9997 1 1 0 0 \n",
+ "9998 1 0 1 0 \n",
+ "9999 0 1 0 0 \n",
+ "\n",
+ "[10000 rows x 16 columns]"
+ ]
+ },
+ "execution_count": 16,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "from sklearn.preprocessing import MinMaxScaler\n",
+ "scaler=MinMaxScaler()\n",
+ "columns=['CreditScore','Age','Tenure','Balance','EstimatedSalary']\n",
+ "df[columns]=scaler.fit_transform(df[columns])\n",
+ "df"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "id": "220d6961",
+ "metadata": {
+ "scrolled": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "NumOfProducts\n",
+ "1 5084\n",
+ "2 4590\n",
+ "3 266\n",
+ "4 60\n",
+ "Name: count, dtype: int64"
+ ]
+ },
+ "execution_count": 17,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df['NumOfProducts'].value_counts()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "id": "1958d1c2",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "df['NumOfProducts'].replace({1:0,2:1,3:1,4:1},inplace=True)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "id": "d9e4cddd",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "NumOfProducts\n",
+ "0 5084\n",
+ "1 4916\n",
+ "Name: count, dtype: int64"
+ ]
+ },
+ "execution_count": 19,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df['NumOfProducts'].value_counts()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 20,
+ "id": "ac2b68d6",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Exited\n",
+ "0 7963\n",
+ "1 2037\n",
+ "Name: count, dtype: int64"
+ ]
+ },
+ "execution_count": 20,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.Exited.value_counts()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "id": "6a61a2d3",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " RowNumber | \n",
+ " CustomerId | \n",
+ " Surname | \n",
+ " CreditScore | \n",
+ " Gender | \n",
+ " Age | \n",
+ " Tenure | \n",
+ " Balance | \n",
+ " NumOfProducts | \n",
+ " HasCrCard | \n",
+ " IsActiveMember | \n",
+ " EstimatedSalary | \n",
+ " Exited | \n",
+ " Geography_France | \n",
+ " Geography_Germany | \n",
+ " Geography_Spain | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 15634602 | \n",
+ " Hargrave | \n",
+ " 0.538 | \n",
+ " 1 | \n",
+ " 0.324324 | \n",
+ " 0.2 | \n",
+ " 0.000000 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0.506735 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 2 | \n",
+ " 3 | \n",
+ " 15619304 | \n",
+ " Onio | \n",
+ " 0.304 | \n",
+ " 1 | \n",
+ " 0.324324 | \n",
+ " 0.8 | \n",
+ " 0.636357 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0.569654 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 5 | \n",
+ " 6 | \n",
+ " 15574012 | \n",
+ " Chu | \n",
+ " 0.590 | \n",
+ " 0 | \n",
+ " 0.351351 | \n",
+ " 0.8 | \n",
+ " 0.453394 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0.748797 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " 7 | \n",
+ " 8 | \n",
+ " 15656148 | \n",
+ " Obinna | \n",
+ " 0.052 | \n",
+ " 1 | \n",
+ " 0.148649 | \n",
+ " 0.4 | \n",
+ " 0.458540 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0.596733 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 16 | \n",
+ " 17 | \n",
+ " 15737452 | \n",
+ " Romeo | \n",
+ " 0.606 | \n",
+ " 0 | \n",
+ " 0.540541 | \n",
+ " 0.1 | \n",
+ " 0.528513 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0.025433 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " 7924 | \n",
+ " 7925 | \n",
+ " 15613337 | \n",
+ " Gallo | \n",
+ " 0.966 | \n",
+ " 0 | \n",
+ " 0.391892 | \n",
+ " 0.2 | \n",
+ " 0.000000 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0.911268 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 4131 | \n",
+ " 4132 | \n",
+ " 15738634 | \n",
+ " Yuan | \n",
+ " 0.366 | \n",
+ " 0 | \n",
+ " 0.391892 | \n",
+ " 0.9 | \n",
+ " 0.332196 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0.688489 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 3928 | \n",
+ " 3929 | \n",
+ " 15609545 | \n",
+ " Azubuike | \n",
+ " 0.396 | \n",
+ " 0 | \n",
+ " 0.148649 | \n",
+ " 0.5 | \n",
+ " 0.332577 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0.885114 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 2887 | \n",
+ " 2888 | \n",
+ " 15604314 | \n",
+ " Webb | \n",
+ " 0.706 | \n",
+ " 1 | \n",
+ " 0.108108 | \n",
+ " 0.1 | \n",
+ " 0.387931 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0.318560 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 1374 | \n",
+ " 1375 | \n",
+ " 15774738 | \n",
+ " Campa | \n",
+ " 0.564 | \n",
+ " 0 | \n",
+ " 0.351351 | \n",
+ " 0.3 | \n",
+ " 0.429516 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0.928369 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
4074 rows × 16 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " RowNumber CustomerId Surname CreditScore Gender Age Tenure \\\n",
+ "0 1 15634602 Hargrave 0.538 1 0.324324 0.2 \n",
+ "2 3 15619304 Onio 0.304 1 0.324324 0.8 \n",
+ "5 6 15574012 Chu 0.590 0 0.351351 0.8 \n",
+ "7 8 15656148 Obinna 0.052 1 0.148649 0.4 \n",
+ "16 17 15737452 Romeo 0.606 0 0.540541 0.1 \n",
+ "... ... ... ... ... ... ... ... \n",
+ "7924 7925 15613337 Gallo 0.966 0 0.391892 0.2 \n",
+ "4131 4132 15738634 Yuan 0.366 0 0.391892 0.9 \n",
+ "3928 3929 15609545 Azubuike 0.396 0 0.148649 0.5 \n",
+ "2887 2888 15604314 Webb 0.706 1 0.108108 0.1 \n",
+ "1374 1375 15774738 Campa 0.564 0 0.351351 0.3 \n",
+ "\n",
+ " Balance NumOfProducts HasCrCard IsActiveMember EstimatedSalary \\\n",
+ "0 0.000000 0 1 1 0.506735 \n",
+ "2 0.636357 1 1 0 0.569654 \n",
+ "5 0.453394 1 1 0 0.748797 \n",
+ "7 0.458540 1 1 0 0.596733 \n",
+ "16 0.528513 0 1 0 0.025433 \n",
+ "... ... ... ... ... ... \n",
+ "7924 0.000000 1 1 1 0.911268 \n",
+ "4131 0.332196 0 1 1 0.688489 \n",
+ "3928 0.332577 0 0 1 0.885114 \n",
+ "2887 0.387931 0 1 0 0.318560 \n",
+ "1374 0.429516 0 1 0 0.928369 \n",
+ "\n",
+ " Exited Geography_France Geography_Germany Geography_Spain \n",
+ "0 1 1 0 0 \n",
+ "2 1 1 0 0 \n",
+ "5 1 0 0 1 \n",
+ "7 1 0 1 0 \n",
+ "16 1 0 1 0 \n",
+ "... ... ... ... ... \n",
+ "7924 0 1 0 0 \n",
+ "4131 0 1 0 0 \n",
+ "3928 0 1 0 0 \n",
+ "2887 0 0 1 0 \n",
+ "1374 0 1 0 0 \n",
+ "\n",
+ "[4074 rows x 16 columns]"
+ ]
+ },
+ "execution_count": 21,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# doing undersampling\n",
+ "df_churn_yes=df[df['Exited']==1]\n",
+ "df_churn_no=df[df['Exited']==0]\n",
+ "df_churn_no=df_churn_no.sample(n=2037)\n",
+ "df_new=pd.concat([df_churn_yes,df_churn_no],axis=0)\n",
+ "df_new"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 22,
+ "id": "54552652",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Exited\n",
+ "1 2037\n",
+ "0 2037\n",
+ "Name: count, dtype: int64"
+ ]
+ },
+ "execution_count": 22,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df_new['Exited'].value_counts()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 23,
+ "id": "b99c725d",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " RowNumber | \n",
+ " CustomerId | \n",
+ " Surname | \n",
+ " CreditScore | \n",
+ " Gender | \n",
+ " Age | \n",
+ " Tenure | \n",
+ " Balance | \n",
+ " NumOfProducts | \n",
+ " HasCrCard | \n",
+ " IsActiveMember | \n",
+ " EstimatedSalary | \n",
+ " Exited | \n",
+ " Geography_France | \n",
+ " Geography_Germany | \n",
+ " Geography_Spain | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 15634602 | \n",
+ " Hargrave | \n",
+ " 0.538 | \n",
+ " 1 | \n",
+ " 0.324324 | \n",
+ " 0.2 | \n",
+ " 0.000000 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0.506735 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 2 | \n",
+ " 3 | \n",
+ " 15619304 | \n",
+ " Onio | \n",
+ " 0.304 | \n",
+ " 1 | \n",
+ " 0.324324 | \n",
+ " 0.8 | \n",
+ " 0.636357 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0.569654 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 5 | \n",
+ " 6 | \n",
+ " 15574012 | \n",
+ " Chu | \n",
+ " 0.590 | \n",
+ " 0 | \n",
+ " 0.351351 | \n",
+ " 0.8 | \n",
+ " 0.453394 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0.748797 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " 7 | \n",
+ " 8 | \n",
+ " 15656148 | \n",
+ " Obinna | \n",
+ " 0.052 | \n",
+ " 1 | \n",
+ " 0.148649 | \n",
+ " 0.4 | \n",
+ " 0.458540 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0.596733 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 16 | \n",
+ " 17 | \n",
+ " 15737452 | \n",
+ " Romeo | \n",
+ " 0.606 | \n",
+ " 0 | \n",
+ " 0.540541 | \n",
+ " 0.1 | \n",
+ " 0.528513 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0.025433 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " 7924 | \n",
+ " 7925 | \n",
+ " 15613337 | \n",
+ " Gallo | \n",
+ " 0.966 | \n",
+ " 0 | \n",
+ " 0.391892 | \n",
+ " 0.2 | \n",
+ " 0.000000 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0.911268 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 4131 | \n",
+ " 4132 | \n",
+ " 15738634 | \n",
+ " Yuan | \n",
+ " 0.366 | \n",
+ " 0 | \n",
+ " 0.391892 | \n",
+ " 0.9 | \n",
+ " 0.332196 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0.688489 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 3928 | \n",
+ " 3929 | \n",
+ " 15609545 | \n",
+ " Azubuike | \n",
+ " 0.396 | \n",
+ " 0 | \n",
+ " 0.148649 | \n",
+ " 0.5 | \n",
+ " 0.332577 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0.885114 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 2887 | \n",
+ " 2888 | \n",
+ " 15604314 | \n",
+ " Webb | \n",
+ " 0.706 | \n",
+ " 1 | \n",
+ " 0.108108 | \n",
+ " 0.1 | \n",
+ " 0.387931 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0.318560 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 1374 | \n",
+ " 1375 | \n",
+ " 15774738 | \n",
+ " Campa | \n",
+ " 0.564 | \n",
+ " 0 | \n",
+ " 0.351351 | \n",
+ " 0.3 | \n",
+ " 0.429516 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0.928369 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
4074 rows × 16 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " RowNumber CustomerId Surname CreditScore Gender Age Tenure \\\n",
+ "0 1 15634602 Hargrave 0.538 1 0.324324 0.2 \n",
+ "2 3 15619304 Onio 0.304 1 0.324324 0.8 \n",
+ "5 6 15574012 Chu 0.590 0 0.351351 0.8 \n",
+ "7 8 15656148 Obinna 0.052 1 0.148649 0.4 \n",
+ "16 17 15737452 Romeo 0.606 0 0.540541 0.1 \n",
+ "... ... ... ... ... ... ... ... \n",
+ "7924 7925 15613337 Gallo 0.966 0 0.391892 0.2 \n",
+ "4131 4132 15738634 Yuan 0.366 0 0.391892 0.9 \n",
+ "3928 3929 15609545 Azubuike 0.396 0 0.148649 0.5 \n",
+ "2887 2888 15604314 Webb 0.706 1 0.108108 0.1 \n",
+ "1374 1375 15774738 Campa 0.564 0 0.351351 0.3 \n",
+ "\n",
+ " Balance NumOfProducts HasCrCard IsActiveMember EstimatedSalary \\\n",
+ "0 0.000000 0 1 1 0.506735 \n",
+ "2 0.636357 1 1 0 0.569654 \n",
+ "5 0.453394 1 1 0 0.748797 \n",
+ "7 0.458540 1 1 0 0.596733 \n",
+ "16 0.528513 0 1 0 0.025433 \n",
+ "... ... ... ... ... ... \n",
+ "7924 0.000000 1 1 1 0.911268 \n",
+ "4131 0.332196 0 1 1 0.688489 \n",
+ "3928 0.332577 0 0 1 0.885114 \n",
+ "2887 0.387931 0 1 0 0.318560 \n",
+ "1374 0.429516 0 1 0 0.928369 \n",
+ "\n",
+ " Exited Geography_France Geography_Germany Geography_Spain \n",
+ "0 1 1 0 0 \n",
+ "2 1 1 0 0 \n",
+ "5 1 0 0 1 \n",
+ "7 1 0 1 0 \n",
+ "16 1 0 1 0 \n",
+ "... ... ... ... ... \n",
+ "7924 0 1 0 0 \n",
+ "4131 0 1 0 0 \n",
+ "3928 0 1 0 0 \n",
+ "2887 0 0 1 0 \n",
+ "1374 0 1 0 0 \n",
+ "\n",
+ "[4074 rows x 16 columns]"
+ ]
+ },
+ "execution_count": 23,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df_new"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 24,
+ "id": "263a2972",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "X=df_new.drop(columns=['RowNumber','CustomerId','Surname','Exited'])\n",
+ "Y=df_new['Exited']\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 25,
+ "id": "e3154f9f",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " CreditScore | \n",
+ " Gender | \n",
+ " Age | \n",
+ " Tenure | \n",
+ " Balance | \n",
+ " NumOfProducts | \n",
+ " HasCrCard | \n",
+ " IsActiveMember | \n",
+ " EstimatedSalary | \n",
+ " Geography_France | \n",
+ " Geography_Germany | \n",
+ " Geography_Spain | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 | \n",
+ " 0.538 | \n",
+ " 1 | \n",
+ " 0.324324 | \n",
+ " 0.2 | \n",
+ " 0.000000 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0.506735 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 2 | \n",
+ " 0.304 | \n",
+ " 1 | \n",
+ " 0.324324 | \n",
+ " 0.8 | \n",
+ " 0.636357 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0.569654 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 5 | \n",
+ " 0.590 | \n",
+ " 0 | \n",
+ " 0.351351 | \n",
+ " 0.8 | \n",
+ " 0.453394 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0.748797 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " 7 | \n",
+ " 0.052 | \n",
+ " 1 | \n",
+ " 0.148649 | \n",
+ " 0.4 | \n",
+ " 0.458540 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0.596733 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 16 | \n",
+ " 0.606 | \n",
+ " 0 | \n",
+ " 0.540541 | \n",
+ " 0.1 | \n",
+ " 0.528513 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0.025433 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " 7924 | \n",
+ " 0.966 | \n",
+ " 0 | \n",
+ " 0.391892 | \n",
+ " 0.2 | \n",
+ " 0.000000 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0.911268 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 4131 | \n",
+ " 0.366 | \n",
+ " 0 | \n",
+ " 0.391892 | \n",
+ " 0.9 | \n",
+ " 0.332196 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0.688489 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 3928 | \n",
+ " 0.396 | \n",
+ " 0 | \n",
+ " 0.148649 | \n",
+ " 0.5 | \n",
+ " 0.332577 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0.885114 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 2887 | \n",
+ " 0.706 | \n",
+ " 1 | \n",
+ " 0.108108 | \n",
+ " 0.1 | \n",
+ " 0.387931 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0.318560 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 1374 | \n",
+ " 0.564 | \n",
+ " 0 | \n",
+ " 0.351351 | \n",
+ " 0.3 | \n",
+ " 0.429516 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0.928369 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
4074 rows × 12 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " CreditScore Gender Age Tenure Balance NumOfProducts \\\n",
+ "0 0.538 1 0.324324 0.2 0.000000 0 \n",
+ "2 0.304 1 0.324324 0.8 0.636357 1 \n",
+ "5 0.590 0 0.351351 0.8 0.453394 1 \n",
+ "7 0.052 1 0.148649 0.4 0.458540 1 \n",
+ "16 0.606 0 0.540541 0.1 0.528513 0 \n",
+ "... ... ... ... ... ... ... \n",
+ "7924 0.966 0 0.391892 0.2 0.000000 1 \n",
+ "4131 0.366 0 0.391892 0.9 0.332196 0 \n",
+ "3928 0.396 0 0.148649 0.5 0.332577 0 \n",
+ "2887 0.706 1 0.108108 0.1 0.387931 0 \n",
+ "1374 0.564 0 0.351351 0.3 0.429516 0 \n",
+ "\n",
+ " HasCrCard IsActiveMember EstimatedSalary Geography_France \\\n",
+ "0 1 1 0.506735 1 \n",
+ "2 1 0 0.569654 1 \n",
+ "5 1 0 0.748797 0 \n",
+ "7 1 0 0.596733 0 \n",
+ "16 1 0 0.025433 0 \n",
+ "... ... ... ... ... \n",
+ "7924 1 1 0.911268 1 \n",
+ "4131 1 1 0.688489 1 \n",
+ "3928 0 1 0.885114 1 \n",
+ "2887 1 0 0.318560 0 \n",
+ "1374 1 0 0.928369 1 \n",
+ "\n",
+ " Geography_Germany Geography_Spain \n",
+ "0 0 0 \n",
+ "2 0 0 \n",
+ "5 0 1 \n",
+ "7 1 0 \n",
+ "16 1 0 \n",
+ "... ... ... \n",
+ "7924 0 0 \n",
+ "4131 0 0 \n",
+ "3928 0 0 \n",
+ "2887 1 0 \n",
+ "1374 0 0 \n",
+ "\n",
+ "[4074 rows x 12 columns]"
+ ]
+ },
+ "execution_count": 25,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "X"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 26,
+ "id": "94e1b448",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "0 1\n",
+ "2 1\n",
+ "5 1\n",
+ "7 1\n",
+ "16 1\n",
+ " ..\n",
+ "7924 0\n",
+ "4131 0\n",
+ "3928 0\n",
+ "2887 0\n",
+ "1374 0\n",
+ "Name: Exited, Length: 4074, dtype: int64"
+ ]
+ },
+ "execution_count": 26,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "Y"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 27,
+ "id": "662bfe16",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from sklearn.model_selection import train_test_split\n",
+ "X_train,X_test,Y_train,Y_test=train_test_split(X,Y,test_size=0.2)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 28,
+ "id": "b33573e1",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(3259, 12) (815, 12)\n"
+ ]
+ }
+ ],
+ "source": [
+ "print(X_train.shape,X_test.shape)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 29,
+ "id": "509a8f4a",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Epoch 1/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.5816 - loss: 0.6746\n",
+ "Epoch 2/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.6460 - loss: 0.6389\n",
+ "Epoch 3/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.6494 - loss: 0.6270\n",
+ "Epoch 4/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.6631 - loss: 0.6136\n",
+ "Epoch 5/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.6731 - loss: 0.6059\n",
+ "Epoch 6/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 976us/step - accuracy: 0.6835 - loss: 0.5909\n",
+ "Epoch 7/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7024 - loss: 0.5845\n",
+ "Epoch 8/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.6803 - loss: 0.5999\n",
+ "Epoch 9/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.6747 - loss: 0.5960\n",
+ "Epoch 10/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 937us/step - accuracy: 0.6889 - loss: 0.5892\n",
+ "Epoch 11/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 989us/step - accuracy: 0.6938 - loss: 0.5814\n",
+ "Epoch 12/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 923us/step - accuracy: 0.7175 - loss: 0.5579\n",
+ "Epoch 13/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7110 - loss: 0.5653\n",
+ "Epoch 14/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.6946 - loss: 0.5816\n",
+ "Epoch 15/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7096 - loss: 0.5661\n",
+ "Epoch 16/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7135 - loss: 0.5589\n",
+ "Epoch 17/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7218 - loss: 0.5539\n",
+ "Epoch 18/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7057 - loss: 0.5648\n",
+ "Epoch 19/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7079 - loss: 0.5622\n",
+ "Epoch 20/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7056 - loss: 0.5734\n",
+ "Epoch 21/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7176 - loss: 0.5626\n",
+ "Epoch 22/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7121 - loss: 0.5594\n",
+ "Epoch 23/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7241 - loss: 0.5481\n",
+ "Epoch 24/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7341 - loss: 0.5459\n",
+ "Epoch 25/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 988us/step - accuracy: 0.7122 - loss: 0.5635\n",
+ "Epoch 26/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7191 - loss: 0.5466\n",
+ "Epoch 27/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7255 - loss: 0.5451\n",
+ "Epoch 28/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7144 - loss: 0.5520\n",
+ "Epoch 29/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7233 - loss: 0.5473\n",
+ "Epoch 30/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7223 - loss: 0.5466\n",
+ "Epoch 31/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7163 - loss: 0.5457\n",
+ "Epoch 32/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7115 - loss: 0.5514\n",
+ "Epoch 33/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7034 - loss: 0.5622\n",
+ "Epoch 34/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7091 - loss: 0.5620\n",
+ "Epoch 35/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7088 - loss: 0.5566\n",
+ "Epoch 36/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7192 - loss: 0.5565\n",
+ "Epoch 37/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7084 - loss: 0.5515\n",
+ "Epoch 38/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7185 - loss: 0.5470\n",
+ "Epoch 39/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7242 - loss: 0.5457\n",
+ "Epoch 40/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7145 - loss: 0.5495\n",
+ "Epoch 41/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7201 - loss: 0.5603\n",
+ "Epoch 42/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7181 - loss: 0.5458\n",
+ "Epoch 43/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7296 - loss: 0.5366\n",
+ "Epoch 44/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7079 - loss: 0.5603\n",
+ "Epoch 45/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7241 - loss: 0.5589\n",
+ "Epoch 46/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7282 - loss: 0.5474\n",
+ "Epoch 47/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7233 - loss: 0.5511\n",
+ "Epoch 48/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7239 - loss: 0.5465\n",
+ "Epoch 49/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7249 - loss: 0.5414\n",
+ "Epoch 50/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7270 - loss: 0.5497\n",
+ "Epoch 51/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7326 - loss: 0.5444\n",
+ "Epoch 52/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7255 - loss: 0.5472\n",
+ "Epoch 53/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7299 - loss: 0.5382\n",
+ "Epoch 54/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7189 - loss: 0.5462\n",
+ "Epoch 55/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7293 - loss: 0.5386\n",
+ "Epoch 56/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7317 - loss: 0.5372\n",
+ "Epoch 57/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7277 - loss: 0.5431\n",
+ "Epoch 58/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7187 - loss: 0.5560\n",
+ "Epoch 59/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7274 - loss: 0.5504\n",
+ "Epoch 60/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7233 - loss: 0.5402\n",
+ "Epoch 61/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 989us/step - accuracy: 0.7209 - loss: 0.5435\n",
+ "Epoch 62/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7278 - loss: 0.5412\n",
+ "Epoch 63/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7272 - loss: 0.5451\n",
+ "Epoch 64/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7241 - loss: 0.5462\n",
+ "Epoch 65/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7184 - loss: 0.5478\n",
+ "Epoch 66/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7391 - loss: 0.5403\n",
+ "Epoch 67/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7307 - loss: 0.5336\n",
+ "Epoch 68/100\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7329 - loss: 0.5396\n",
+ "Epoch 69/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7165 - loss: 0.5532\n",
+ "Epoch 70/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7178 - loss: 0.5536\n",
+ "Epoch 71/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7119 - loss: 0.5469\n",
+ "Epoch 72/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7389 - loss: 0.5380\n",
+ "Epoch 73/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7201 - loss: 0.5485\n",
+ "Epoch 74/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7230 - loss: 0.5474\n",
+ "Epoch 75/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7312 - loss: 0.5322\n",
+ "Epoch 76/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7365 - loss: 0.5405\n",
+ "Epoch 77/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7287 - loss: 0.5437\n",
+ "Epoch 78/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7346 - loss: 0.5366\n",
+ "Epoch 79/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7201 - loss: 0.5403\n",
+ "Epoch 80/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7279 - loss: 0.5375\n",
+ "Epoch 81/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7360 - loss: 0.5349\n",
+ "Epoch 82/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 980us/step - accuracy: 0.7132 - loss: 0.5401\n",
+ "Epoch 83/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7107 - loss: 0.5596\n",
+ "Epoch 84/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7387 - loss: 0.5294\n",
+ "Epoch 85/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7240 - loss: 0.5436\n",
+ "Epoch 86/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7379 - loss: 0.5309\n",
+ "Epoch 87/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7339 - loss: 0.5396\n",
+ "Epoch 88/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 926us/step - accuracy: 0.7224 - loss: 0.5324\n",
+ "Epoch 89/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7212 - loss: 0.5445\n",
+ "Epoch 90/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7298 - loss: 0.5426\n",
+ "Epoch 91/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7304 - loss: 0.5294\n",
+ "Epoch 92/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7306 - loss: 0.5325\n",
+ "Epoch 93/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7312 - loss: 0.5343\n",
+ "Epoch 94/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7259 - loss: 0.5371\n",
+ "Epoch 95/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7393 - loss: 0.5265\n",
+ "Epoch 96/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7318 - loss: 0.5444\n",
+ "Epoch 97/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7257 - loss: 0.5303\n",
+ "Epoch 98/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7170 - loss: 0.5440\n",
+ "Epoch 99/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7206 - loss: 0.5397\n",
+ "Epoch 100/100\n",
+ "\u001b[1m102/102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7235 - loss: 0.5390\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 29,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "model=keras.Sequential([\n",
+ " keras.layers.Dense(10,input_shape=(12,),activation='relu'),\n",
+ " keras.layers.Dense(1,activation='sigmoid'),\n",
+ "])\n",
+ "\n",
+ "model.compile(\n",
+ " optimizer='adam',\n",
+ " loss='binary_crossentropy',\n",
+ " metrics=['accuracy']\n",
+ ")\n",
+ "model.fit(X_train,Y_train,epochs=100)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 30,
+ "id": "7e5ab5de",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\u001b[1m26/26\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - accuracy: 0.7210 - loss: 0.5595 \n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "[0.5702299475669861, 0.7116564512252808]"
+ ]
+ },
+ "execution_count": 30,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "model.evaluate(X_test,Y_test)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 31,
+ "id": "1313ba8c",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "868 1\n",
+ "3467 0\n",
+ "7701 1\n",
+ "8018 1\n",
+ "6051 0\n",
+ "Name: Exited, dtype: int64"
+ ]
+ },
+ "execution_count": 31,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "Y_test[0:5]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 32,
+ "id": "1f5653af",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\u001b[1m1/1\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 45ms/step\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "0"
+ ]
+ },
+ "execution_count": 32,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "np.argmax(model.predict(X_test[0:1]))"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 33,
+ "id": "2017d99c",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\u001b[1m26/26\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step \n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "[1, 0, 0, 0, 1]"
+ ]
+ },
+ "execution_count": 33,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "yp=model.predict(X_test)\n",
+ "y_pred=[]\n",
+ "for i in yp:\n",
+ " if (i>0.5):\n",
+ " y_pred.append(1)\n",
+ " else:\n",
+ " y_pred.append(0)\n",
+ "y_pred[:5]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 34,
+ "id": "65c95f6c",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " precision recall f1-score support\n",
+ "\n",
+ " 0 0.76 0.68 0.72 441\n",
+ " 1 0.67 0.75 0.70 374\n",
+ "\n",
+ " accuracy 0.71 815\n",
+ " macro avg 0.71 0.71 0.71 815\n",
+ "weighted avg 0.72 0.71 0.71 815\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "from sklearn.metrics import classification_report\n",
+ "print(classification_report(Y_test,y_pred))"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 35,
+ "id": "0bc3e935",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "array([[301, 140],\n",
+ " [ 95, 279]], dtype=int64)"
+ ]
+ },
+ "execution_count": 35,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "from sklearn.metrics import confusion_matrix\n",
+ "cm=confusion_matrix(Y_test,y_pred)\n",
+ "cm"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 44,
+ "id": "0fc61917",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def ANN(X_train,Y_train,X_test,Y_test,loss,weights):\n",
+ " \n",
+ " model=keras.Sequential([\n",
+ " keras.layers.Dense(12,input_shape=(12,),activation='relu'),\n",
+ " keras.layers.Dense(10,activation='relu'),\n",
+ " keras.layers.Dense(1,activation='sigmoid'),\n",
+ " ])\n",
+ "\n",
+ " model.compile(\n",
+ " optimizer='adam',\n",
+ " loss=loss,\n",
+ " metrics=['accuracy']\n",
+ " )\n",
+ " \n",
+ " if weights==-1:\n",
+ " model.fit(X_train,Y_train,epochs=100)\n",
+ " else:\n",
+ " model.fit(X_train,Y_train,epochs=100,class_weight=weights)\n",
+ " \n",
+ " y_preds=model.predict(X_test)\n",
+ " y_preds=np.round(y_preds)\n",
+ " print(\"Classification Report : \\n\",classification_report(Y_test,y_preds))\n",
+ " \n",
+ " return y_preds"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "abe2f946",
+ "metadata": {},
+ "source": [
+ "## Improving the F1 Score using Sampling Techniques"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 45,
+ "id": "22e25f34",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " RowNumber | \n",
+ " CustomerId | \n",
+ " Surname | \n",
+ " CreditScore | \n",
+ " Gender | \n",
+ " Age | \n",
+ " Tenure | \n",
+ " Balance | \n",
+ " NumOfProducts | \n",
+ " HasCrCard | \n",
+ " IsActiveMember | \n",
+ " EstimatedSalary | \n",
+ " Exited | \n",
+ " Geography_France | \n",
+ " Geography_Germany | \n",
+ " Geography_Spain | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 15634602 | \n",
+ " Hargrave | \n",
+ " 0.538 | \n",
+ " 1 | \n",
+ " 0.324324 | \n",
+ " 0.2 | \n",
+ " 0.000000 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0.506735 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 15647311 | \n",
+ " Hill | \n",
+ " 0.516 | \n",
+ " 1 | \n",
+ " 0.310811 | \n",
+ " 0.1 | \n",
+ " 0.334031 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0.562709 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " 2 | \n",
+ " 3 | \n",
+ " 15619304 | \n",
+ " Onio | \n",
+ " 0.304 | \n",
+ " 1 | \n",
+ " 0.324324 | \n",
+ " 0.8 | \n",
+ " 0.636357 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0.569654 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 3 | \n",
+ " 4 | \n",
+ " 15701354 | \n",
+ " Boni | \n",
+ " 0.698 | \n",
+ " 1 | \n",
+ " 0.283784 | \n",
+ " 0.1 | \n",
+ " 0.000000 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0.469120 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 4 | \n",
+ " 5 | \n",
+ " 15737888 | \n",
+ " Mitchell | \n",
+ " 1.000 | \n",
+ " 1 | \n",
+ " 0.337838 | \n",
+ " 0.2 | \n",
+ " 0.500246 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0.395400 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " 9995 | \n",
+ " 9996 | \n",
+ " 15606229 | \n",
+ " Obijiaku | \n",
+ " 0.842 | \n",
+ " 0 | \n",
+ " 0.283784 | \n",
+ " 0.5 | \n",
+ " 0.000000 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0.481341 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 9996 | \n",
+ " 9997 | \n",
+ " 15569892 | \n",
+ " Johnstone | \n",
+ " 0.332 | \n",
+ " 0 | \n",
+ " 0.229730 | \n",
+ " 1.0 | \n",
+ " 0.228657 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0.508490 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 9997 | \n",
+ " 9998 | \n",
+ " 15584532 | \n",
+ " Liu | \n",
+ " 0.718 | \n",
+ " 1 | \n",
+ " 0.243243 | \n",
+ " 0.7 | \n",
+ " 0.000000 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0.210390 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 9998 | \n",
+ " 9999 | \n",
+ " 15682355 | \n",
+ " Sabbatini | \n",
+ " 0.844 | \n",
+ " 0 | \n",
+ " 0.324324 | \n",
+ " 0.3 | \n",
+ " 0.299226 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0.464429 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 9999 | \n",
+ " 10000 | \n",
+ " 15628319 | \n",
+ " Walker | \n",
+ " 0.884 | \n",
+ " 1 | \n",
+ " 0.135135 | \n",
+ " 0.4 | \n",
+ " 0.518708 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0.190914 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
10000 rows × 16 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " RowNumber CustomerId Surname CreditScore Gender Age Tenure \\\n",
+ "0 1 15634602 Hargrave 0.538 1 0.324324 0.2 \n",
+ "1 2 15647311 Hill 0.516 1 0.310811 0.1 \n",
+ "2 3 15619304 Onio 0.304 1 0.324324 0.8 \n",
+ "3 4 15701354 Boni 0.698 1 0.283784 0.1 \n",
+ "4 5 15737888 Mitchell 1.000 1 0.337838 0.2 \n",
+ "... ... ... ... ... ... ... ... \n",
+ "9995 9996 15606229 Obijiaku 0.842 0 0.283784 0.5 \n",
+ "9996 9997 15569892 Johnstone 0.332 0 0.229730 1.0 \n",
+ "9997 9998 15584532 Liu 0.718 1 0.243243 0.7 \n",
+ "9998 9999 15682355 Sabbatini 0.844 0 0.324324 0.3 \n",
+ "9999 10000 15628319 Walker 0.884 1 0.135135 0.4 \n",
+ "\n",
+ " Balance NumOfProducts HasCrCard IsActiveMember EstimatedSalary \\\n",
+ "0 0.000000 0 1 1 0.506735 \n",
+ "1 0.334031 0 0 1 0.562709 \n",
+ "2 0.636357 1 1 0 0.569654 \n",
+ "3 0.000000 1 0 0 0.469120 \n",
+ "4 0.500246 0 1 1 0.395400 \n",
+ "... ... ... ... ... ... \n",
+ "9995 0.000000 1 1 0 0.481341 \n",
+ "9996 0.228657 0 1 1 0.508490 \n",
+ "9997 0.000000 0 0 1 0.210390 \n",
+ "9998 0.299226 1 1 0 0.464429 \n",
+ "9999 0.518708 0 1 0 0.190914 \n",
+ "\n",
+ " Exited Geography_France Geography_Germany Geography_Spain \n",
+ "0 1 1 0 0 \n",
+ "1 0 0 0 1 \n",
+ "2 1 1 0 0 \n",
+ "3 0 1 0 0 \n",
+ "4 0 0 0 1 \n",
+ "... ... ... ... ... \n",
+ "9995 0 1 0 0 \n",
+ "9996 0 1 0 0 \n",
+ "9997 1 1 0 0 \n",
+ "9998 1 0 1 0 \n",
+ "9999 0 1 0 0 \n",
+ "\n",
+ "[10000 rows x 16 columns]"
+ ]
+ },
+ "execution_count": 45,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 46,
+ "id": "ab3c285c",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Exited\n",
+ "0 7963\n",
+ "1 2037\n",
+ "Name: count, dtype: int64"
+ ]
+ },
+ "execution_count": 46,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df['Exited'].value_counts()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "bd44dcf7",
+ "metadata": {},
+ "source": [
+ "### 1st using Under sampling"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 47,
+ "id": "1897185c",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "df_exited_0=df[df['Exited']==0]\n",
+ "df_exited_1=df[df['Exited']==1]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 48,
+ "id": "0c76a83e",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "df_exited_0_under=df_exited_0.sample(n=2037)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 49,
+ "id": "47215e21",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Exited\n",
+ "0 2037\n",
+ "1 2037\n",
+ "Name: count, dtype: int64"
+ ]
+ },
+ "execution_count": 49,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df_new_under=pd.concat([df_exited_0_under,df_exited_1],axis=0)\n",
+ "df_new_under['Exited'].value_counts()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 50,
+ "id": "ffba98b0",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "X=df_new_under.drop(columns=['RowNumber','CustomerId','Surname','Exited'])\n",
+ "Y=df_new_under['Exited']"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 51,
+ "id": "2c5677a0",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from sklearn.model_selection import train_test_split\n",
+ "X_train,X_test,Y_train,Y_test=train_test_split(X,Y,test_size=0.2)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 58,
+ "id": "a6f10879",
+ "metadata": {
+ "scrolled": true
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Epoch 1/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.6105 - loss: 0.6609\n",
+ "Epoch 2/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.6906 - loss: 0.5978\n",
+ "Epoch 3/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7071 - loss: 0.5670\n",
+ "Epoch 4/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7166 - loss: 0.5587\n",
+ "Epoch 5/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7151 - loss: 0.5602\n",
+ "Epoch 6/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7307 - loss: 0.5425\n",
+ "Epoch 7/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7209 - loss: 0.5484\n",
+ "Epoch 8/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7235 - loss: 0.5453\n",
+ "Epoch 9/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 990us/step - accuracy: 0.7230 - loss: 0.5417\n",
+ "Epoch 10/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7245 - loss: 0.5391\n",
+ "Epoch 11/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7215 - loss: 0.5383\n",
+ "Epoch 12/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7306 - loss: 0.5291\n",
+ "Epoch 13/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7315 - loss: 0.5333\n",
+ "Epoch 14/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7341 - loss: 0.5263\n",
+ "Epoch 15/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7371 - loss: 0.5282\n",
+ "Epoch 16/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7384 - loss: 0.5265\n",
+ "Epoch 17/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 959us/step - accuracy: 0.7430 - loss: 0.5123\n",
+ "Epoch 18/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7423 - loss: 0.5210\n",
+ "Epoch 19/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7393 - loss: 0.5249\n",
+ "Epoch 20/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 962us/step - accuracy: 0.7523 - loss: 0.5124\n",
+ "Epoch 21/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 986us/step - accuracy: 0.7443 - loss: 0.5174\n",
+ "Epoch 22/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 993us/step - accuracy: 0.7418 - loss: 0.5219\n",
+ "Epoch 23/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7433 - loss: 0.5145\n",
+ "Epoch 24/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7545 - loss: 0.5075\n",
+ "Epoch 25/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7421 - loss: 0.5180\n",
+ "Epoch 26/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7439 - loss: 0.5127\n",
+ "Epoch 27/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7508 - loss: 0.5097\n",
+ "Epoch 28/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7490 - loss: 0.5090\n",
+ "Epoch 29/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7531 - loss: 0.5019\n",
+ "Epoch 30/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7536 - loss: 0.5066\n",
+ "Epoch 31/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7521 - loss: 0.5020\n",
+ "Epoch 32/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7534 - loss: 0.5059\n",
+ "Epoch 33/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7508 - loss: 0.5034\n",
+ "Epoch 34/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7512 - loss: 0.5012\n",
+ "Epoch 35/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7479 - loss: 0.5124\n",
+ "Epoch 36/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7521 - loss: 0.4978\n",
+ "Epoch 37/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7543 - loss: 0.5042\n",
+ "Epoch 38/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 971us/step - accuracy: 0.7507 - loss: 0.5016\n",
+ "Epoch 39/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7526 - loss: 0.5024\n",
+ "Epoch 40/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7523 - loss: 0.5022\n",
+ "Epoch 41/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7565 - loss: 0.4971\n",
+ "Epoch 42/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7543 - loss: 0.5066\n",
+ "Epoch 43/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7491 - loss: 0.5020\n",
+ "Epoch 44/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7547 - loss: 0.4960\n",
+ "Epoch 45/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7523 - loss: 0.5024\n",
+ "Epoch 46/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7577 - loss: 0.4949\n",
+ "Epoch 47/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7519 - loss: 0.5037\n",
+ "Epoch 48/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7533 - loss: 0.4994\n",
+ "Epoch 49/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7487 - loss: 0.5049\n",
+ "Epoch 50/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7539 - loss: 0.4974\n",
+ "Epoch 51/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7522 - loss: 0.5002\n",
+ "Epoch 52/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7541 - loss: 0.4983\n",
+ "Epoch 53/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7588 - loss: 0.4932\n",
+ "Epoch 54/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7549 - loss: 0.4944\n",
+ "Epoch 55/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7563 - loss: 0.4963\n",
+ "Epoch 56/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7464 - loss: 0.5006\n",
+ "Epoch 57/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7578 - loss: 0.4940\n",
+ "Epoch 58/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7609 - loss: 0.4910\n",
+ "Epoch 59/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7497 - loss: 0.4981\n",
+ "Epoch 60/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7505 - loss: 0.5026\n",
+ "Epoch 61/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7604 - loss: 0.4874\n",
+ "Epoch 62/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7558 - loss: 0.4971\n",
+ "Epoch 63/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 989us/step - accuracy: 0.7548 - loss: 0.4943\n",
+ "Epoch 64/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7586 - loss: 0.4922\n",
+ "Epoch 65/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7616 - loss: 0.4854\n",
+ "Epoch 66/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7621 - loss: 0.4872\n",
+ "Epoch 67/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7557 - loss: 0.4960\n",
+ "Epoch 68/100\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7562 - loss: 0.4941\n",
+ "Epoch 69/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7561 - loss: 0.4937\n",
+ "Epoch 70/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7498 - loss: 0.5007\n",
+ "Epoch 71/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7638 - loss: 0.4855\n",
+ "Epoch 72/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7525 - loss: 0.4912\n",
+ "Epoch 73/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7585 - loss: 0.4922\n",
+ "Epoch 74/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7542 - loss: 0.4958\n",
+ "Epoch 75/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7572 - loss: 0.4926\n",
+ "Epoch 76/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7538 - loss: 0.4971\n",
+ "Epoch 77/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7603 - loss: 0.4869\n",
+ "Epoch 78/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7508 - loss: 0.4976\n",
+ "Epoch 79/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7567 - loss: 0.4892\n",
+ "Epoch 80/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 967us/step - accuracy: 0.7598 - loss: 0.4865\n",
+ "Epoch 81/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7569 - loss: 0.4939\n",
+ "Epoch 82/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7622 - loss: 0.4878\n",
+ "Epoch 83/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7603 - loss: 0.4916\n",
+ "Epoch 84/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7585 - loss: 0.4861\n",
+ "Epoch 85/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7603 - loss: 0.4840\n",
+ "Epoch 86/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7624 - loss: 0.4849\n",
+ "Epoch 87/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7600 - loss: 0.4860\n",
+ "Epoch 88/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7618 - loss: 0.4858\n",
+ "Epoch 89/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7591 - loss: 0.4842\n",
+ "Epoch 90/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7625 - loss: 0.4866\n",
+ "Epoch 91/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7579 - loss: 0.4904\n",
+ "Epoch 92/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7581 - loss: 0.4908\n",
+ "Epoch 93/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7651 - loss: 0.4862\n",
+ "Epoch 94/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7646 - loss: 0.4787\n",
+ "Epoch 95/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7551 - loss: 0.4924\n",
+ "Epoch 96/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7613 - loss: 0.4864\n",
+ "Epoch 97/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7583 - loss: 0.4915\n",
+ "Epoch 98/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7573 - loss: 0.4908\n",
+ "Epoch 99/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7631 - loss: 0.4871\n",
+ "Epoch 100/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 997us/step - accuracy: 0.7612 - loss: 0.4906\n",
+ "\u001b[1m100/100\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step\n",
+ " precision recall f1-score support\n",
+ "\n",
+ " 0 0.76 0.74 0.75 1588\n",
+ " 1 0.75 0.77 0.76 1598\n",
+ "\n",
+ " accuracy 0.75 3186\n",
+ " macro avg 0.75 0.75 0.75 3186\n",
+ "weighted avg 0.75 0.75 0.75 3186\n",
+ "\n",
+ "Classification Report : \n",
+ " None\n"
+ ]
+ }
+ ],
+ "source": [
+ "y_pred=ANN(X_train,Y_train,X_test,Y_test,'binary_crossentropy',-1)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "ec8e7387",
+ "metadata": {},
+ "source": [
+ "### 2nd using Over Sampling"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 59,
+ "id": "33cad1d3",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Exited\n",
+ "0 7963\n",
+ "1 7963\n",
+ "Name: count, dtype: int64"
+ ]
+ },
+ "execution_count": 59,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df_exited_1_over=df_exited_1.sample(7963,replace=True)\n",
+ "df_new_over=pd.concat([df_exited_0,df_exited_1_over],axis=0)\n",
+ "df_new_over['Exited'].value_counts()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 60,
+ "id": "96c6531b",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "X=df_new_over.drop(columns=['RowNumber','CustomerId','Surname','Exited'])\n",
+ "Y=df_new_over['Exited']"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 61,
+ "id": "133fcf76",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "X_train,X_test,Y_train,Y_test=train_test_split(X,Y,test_size=0.2)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 62,
+ "id": "70457fc4",
+ "metadata": {
+ "scrolled": true
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Epoch 1/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.5868 - loss: 0.6665\n",
+ "Epoch 2/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 996us/step - accuracy: 0.6839 - loss: 0.5896\n",
+ "Epoch 3/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7129 - loss: 0.5507\n",
+ "Epoch 4/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7210 - loss: 0.5469\n",
+ "Epoch 5/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7357 - loss: 0.5340\n",
+ "Epoch 6/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7321 - loss: 0.5340\n",
+ "Epoch 7/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7391 - loss: 0.5285\n",
+ "Epoch 8/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 970us/step - accuracy: 0.7347 - loss: 0.5250\n",
+ "Epoch 9/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7366 - loss: 0.5278\n",
+ "Epoch 10/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7389 - loss: 0.5239\n",
+ "Epoch 11/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7415 - loss: 0.5173\n",
+ "Epoch 12/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 995us/step - accuracy: 0.7397 - loss: 0.5161\n",
+ "Epoch 13/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 988us/step - accuracy: 0.7450 - loss: 0.5086\n",
+ "Epoch 14/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7406 - loss: 0.5171\n",
+ "Epoch 15/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7449 - loss: 0.5158\n",
+ "Epoch 16/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7390 - loss: 0.5161\n",
+ "Epoch 17/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7464 - loss: 0.5104\n",
+ "Epoch 18/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7397 - loss: 0.5166\n",
+ "Epoch 19/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7435 - loss: 0.5091\n",
+ "Epoch 20/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7487 - loss: 0.5036\n",
+ "Epoch 21/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 993us/step - accuracy: 0.7451 - loss: 0.5093\n",
+ "Epoch 22/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7436 - loss: 0.5097\n",
+ "Epoch 23/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7492 - loss: 0.5083\n",
+ "Epoch 24/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 975us/step - accuracy: 0.7525 - loss: 0.5020\n",
+ "Epoch 25/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7454 - loss: 0.5097\n",
+ "Epoch 26/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7607 - loss: 0.4936\n",
+ "Epoch 27/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7600 - loss: 0.4967\n",
+ "Epoch 28/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7551 - loss: 0.4956\n",
+ "Epoch 29/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7548 - loss: 0.4991\n",
+ "Epoch 30/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7581 - loss: 0.4969\n",
+ "Epoch 31/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7594 - loss: 0.4947\n",
+ "Epoch 32/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7554 - loss: 0.4950\n",
+ "Epoch 33/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7642 - loss: 0.4859\n",
+ "Epoch 34/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7597 - loss: 0.4904\n",
+ "Epoch 35/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7617 - loss: 0.4908\n",
+ "Epoch 36/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7532 - loss: 0.4950\n",
+ "Epoch 37/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7585 - loss: 0.4984\n",
+ "Epoch 38/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7610 - loss: 0.4916\n",
+ "Epoch 39/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7615 - loss: 0.4930\n",
+ "Epoch 40/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7656 - loss: 0.4892\n",
+ "Epoch 41/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7655 - loss: 0.4857\n",
+ "Epoch 42/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7563 - loss: 0.4924\n",
+ "Epoch 43/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7578 - loss: 0.4941\n",
+ "Epoch 44/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7566 - loss: 0.4927\n",
+ "Epoch 45/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7674 - loss: 0.4845\n",
+ "Epoch 46/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7617 - loss: 0.4910\n",
+ "Epoch 47/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7634 - loss: 0.4850\n",
+ "Epoch 48/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7629 - loss: 0.4876\n",
+ "Epoch 49/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7610 - loss: 0.4871\n",
+ "Epoch 50/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7673 - loss: 0.4815\n",
+ "Epoch 51/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7583 - loss: 0.4923\n",
+ "Epoch 52/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7633 - loss: 0.4850\n",
+ "Epoch 53/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7581 - loss: 0.4914\n",
+ "Epoch 54/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7640 - loss: 0.4871\n",
+ "Epoch 55/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7665 - loss: 0.4853\n",
+ "Epoch 56/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7641 - loss: 0.4869\n",
+ "Epoch 57/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7612 - loss: 0.4890\n",
+ "Epoch 58/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7580 - loss: 0.4925\n",
+ "Epoch 59/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7581 - loss: 0.4900\n",
+ "Epoch 60/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7617 - loss: 0.4895\n",
+ "Epoch 61/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 978us/step - accuracy: 0.7692 - loss: 0.4825\n",
+ "Epoch 62/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7637 - loss: 0.4840\n",
+ "Epoch 63/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7627 - loss: 0.4871\n",
+ "Epoch 64/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7589 - loss: 0.4848\n",
+ "Epoch 65/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 971us/step - accuracy: 0.7570 - loss: 0.4875\n",
+ "Epoch 66/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7661 - loss: 0.4823\n",
+ "Epoch 67/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7588 - loss: 0.4897\n",
+ "Epoch 68/100\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7657 - loss: 0.4824\n",
+ "Epoch 69/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7662 - loss: 0.4889\n",
+ "Epoch 70/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 954us/step - accuracy: 0.7603 - loss: 0.4900\n",
+ "Epoch 71/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 954us/step - accuracy: 0.7702 - loss: 0.4783\n",
+ "Epoch 72/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 992us/step - accuracy: 0.7616 - loss: 0.4927\n",
+ "Epoch 73/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7680 - loss: 0.4793\n",
+ "Epoch 74/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7581 - loss: 0.4863\n",
+ "Epoch 75/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7648 - loss: 0.4880\n",
+ "Epoch 76/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7676 - loss: 0.4837\n",
+ "Epoch 77/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7738 - loss: 0.4784\n",
+ "Epoch 78/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 972us/step - accuracy: 0.7653 - loss: 0.4787\n",
+ "Epoch 79/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7638 - loss: 0.4864\n",
+ "Epoch 80/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7707 - loss: 0.4741\n",
+ "Epoch 81/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7688 - loss: 0.4812\n",
+ "Epoch 82/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7690 - loss: 0.4809\n",
+ "Epoch 83/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7686 - loss: 0.4800\n",
+ "Epoch 84/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7590 - loss: 0.4859\n",
+ "Epoch 85/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7612 - loss: 0.4828\n",
+ "Epoch 86/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7699 - loss: 0.4770\n",
+ "Epoch 87/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 981us/step - accuracy: 0.7672 - loss: 0.4819\n",
+ "Epoch 88/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7612 - loss: 0.4869\n",
+ "Epoch 89/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7609 - loss: 0.4817\n",
+ "Epoch 90/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7622 - loss: 0.4860\n",
+ "Epoch 91/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7604 - loss: 0.4844\n",
+ "Epoch 92/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 950us/step - accuracy: 0.7667 - loss: 0.4809\n",
+ "Epoch 93/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7663 - loss: 0.4758\n",
+ "Epoch 94/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7700 - loss: 0.4765\n",
+ "Epoch 95/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 975us/step - accuracy: 0.7710 - loss: 0.4773\n",
+ "Epoch 96/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7649 - loss: 0.4839\n",
+ "Epoch 97/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7696 - loss: 0.4756\n",
+ "Epoch 98/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7667 - loss: 0.4790\n",
+ "Epoch 99/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7593 - loss: 0.4861\n",
+ "Epoch 100/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 949us/step - accuracy: 0.7653 - loss: 0.4800\n",
+ "\u001b[1m100/100\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step\n",
+ " precision recall f1-score support\n",
+ "\n",
+ " 0 0.74 0.76 0.75 1551\n",
+ " 1 0.77 0.74 0.76 1635\n",
+ "\n",
+ " accuracy 0.75 3186\n",
+ " macro avg 0.75 0.75 0.75 3186\n",
+ "weighted avg 0.75 0.75 0.75 3186\n",
+ "\n",
+ "Classification Report : \n",
+ " None\n"
+ ]
+ }
+ ],
+ "source": [
+ "y_pred=ANN(X_train,Y_train,X_test,Y_test,'binary_crossentropy',-1)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "1b94c81f",
+ "metadata": {},
+ "source": [
+ "### 3rd using SMOTE"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 63,
+ "id": "3d18564f",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from imblearn.over_sampling import SMOTE"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 64,
+ "id": "6eae80cf",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "smote=SMOTE(sampling_strategy='minority')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 65,
+ "id": "5d9c467f",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " RowNumber | \n",
+ " CustomerId | \n",
+ " Surname | \n",
+ " CreditScore | \n",
+ " Gender | \n",
+ " Age | \n",
+ " Tenure | \n",
+ " Balance | \n",
+ " NumOfProducts | \n",
+ " HasCrCard | \n",
+ " IsActiveMember | \n",
+ " EstimatedSalary | \n",
+ " Exited | \n",
+ " Geography_France | \n",
+ " Geography_Germany | \n",
+ " Geography_Spain | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 15634602 | \n",
+ " Hargrave | \n",
+ " 0.538 | \n",
+ " 1 | \n",
+ " 0.324324 | \n",
+ " 0.2 | \n",
+ " 0.000000 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0.506735 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 15647311 | \n",
+ " Hill | \n",
+ " 0.516 | \n",
+ " 1 | \n",
+ " 0.310811 | \n",
+ " 0.1 | \n",
+ " 0.334031 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0.562709 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " 2 | \n",
+ " 3 | \n",
+ " 15619304 | \n",
+ " Onio | \n",
+ " 0.304 | \n",
+ " 1 | \n",
+ " 0.324324 | \n",
+ " 0.8 | \n",
+ " 0.636357 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0.569654 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 3 | \n",
+ " 4 | \n",
+ " 15701354 | \n",
+ " Boni | \n",
+ " 0.698 | \n",
+ " 1 | \n",
+ " 0.283784 | \n",
+ " 0.1 | \n",
+ " 0.000000 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0.469120 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 4 | \n",
+ " 5 | \n",
+ " 15737888 | \n",
+ " Mitchell | \n",
+ " 1.000 | \n",
+ " 1 | \n",
+ " 0.337838 | \n",
+ " 0.2 | \n",
+ " 0.500246 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0.395400 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " 9995 | \n",
+ " 9996 | \n",
+ " 15606229 | \n",
+ " Obijiaku | \n",
+ " 0.842 | \n",
+ " 0 | \n",
+ " 0.283784 | \n",
+ " 0.5 | \n",
+ " 0.000000 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0.481341 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 9996 | \n",
+ " 9997 | \n",
+ " 15569892 | \n",
+ " Johnstone | \n",
+ " 0.332 | \n",
+ " 0 | \n",
+ " 0.229730 | \n",
+ " 1.0 | \n",
+ " 0.228657 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0.508490 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 9997 | \n",
+ " 9998 | \n",
+ " 15584532 | \n",
+ " Liu | \n",
+ " 0.718 | \n",
+ " 1 | \n",
+ " 0.243243 | \n",
+ " 0.7 | \n",
+ " 0.000000 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0.210390 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 9998 | \n",
+ " 9999 | \n",
+ " 15682355 | \n",
+ " Sabbatini | \n",
+ " 0.844 | \n",
+ " 0 | \n",
+ " 0.324324 | \n",
+ " 0.3 | \n",
+ " 0.299226 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0.464429 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 9999 | \n",
+ " 10000 | \n",
+ " 15628319 | \n",
+ " Walker | \n",
+ " 0.884 | \n",
+ " 1 | \n",
+ " 0.135135 | \n",
+ " 0.4 | \n",
+ " 0.518708 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0.190914 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
10000 rows × 16 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " RowNumber CustomerId Surname CreditScore Gender Age Tenure \\\n",
+ "0 1 15634602 Hargrave 0.538 1 0.324324 0.2 \n",
+ "1 2 15647311 Hill 0.516 1 0.310811 0.1 \n",
+ "2 3 15619304 Onio 0.304 1 0.324324 0.8 \n",
+ "3 4 15701354 Boni 0.698 1 0.283784 0.1 \n",
+ "4 5 15737888 Mitchell 1.000 1 0.337838 0.2 \n",
+ "... ... ... ... ... ... ... ... \n",
+ "9995 9996 15606229 Obijiaku 0.842 0 0.283784 0.5 \n",
+ "9996 9997 15569892 Johnstone 0.332 0 0.229730 1.0 \n",
+ "9997 9998 15584532 Liu 0.718 1 0.243243 0.7 \n",
+ "9998 9999 15682355 Sabbatini 0.844 0 0.324324 0.3 \n",
+ "9999 10000 15628319 Walker 0.884 1 0.135135 0.4 \n",
+ "\n",
+ " Balance NumOfProducts HasCrCard IsActiveMember EstimatedSalary \\\n",
+ "0 0.000000 0 1 1 0.506735 \n",
+ "1 0.334031 0 0 1 0.562709 \n",
+ "2 0.636357 1 1 0 0.569654 \n",
+ "3 0.000000 1 0 0 0.469120 \n",
+ "4 0.500246 0 1 1 0.395400 \n",
+ "... ... ... ... ... ... \n",
+ "9995 0.000000 1 1 0 0.481341 \n",
+ "9996 0.228657 0 1 1 0.508490 \n",
+ "9997 0.000000 0 0 1 0.210390 \n",
+ "9998 0.299226 1 1 0 0.464429 \n",
+ "9999 0.518708 0 1 0 0.190914 \n",
+ "\n",
+ " Exited Geography_France Geography_Germany Geography_Spain \n",
+ "0 1 1 0 0 \n",
+ "1 0 0 0 1 \n",
+ "2 1 1 0 0 \n",
+ "3 0 1 0 0 \n",
+ "4 0 0 0 1 \n",
+ "... ... ... ... ... \n",
+ "9995 0 1 0 0 \n",
+ "9996 0 1 0 0 \n",
+ "9997 1 1 0 0 \n",
+ "9998 1 0 1 0 \n",
+ "9999 0 1 0 0 \n",
+ "\n",
+ "[10000 rows x 16 columns]"
+ ]
+ },
+ "execution_count": 65,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 66,
+ "id": "c183b5b0",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "X=df.drop(columns=['RowNumber','CustomerId','Surname','Exited'])\n",
+ "Y=df['Exited']"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 67,
+ "id": "ec6bd5d8",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "X_sm,Y_sm=smote.fit_resample(X,Y)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 68,
+ "id": "0935af14",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Exited\n",
+ "1 7963\n",
+ "0 7963\n",
+ "Name: count, dtype: int64"
+ ]
+ },
+ "execution_count": 68,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "Y_sm.value_counts()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 69,
+ "id": "9b499a47",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "X_train,X_test,Y_train,Y_test=train_test_split(X_sm,Y_sm,test_size=0.2,stratify=Y_sm)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 70,
+ "id": "774dabfc",
+ "metadata": {
+ "scrolled": true
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Epoch 1/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.5786 - loss: 0.6752\n",
+ "Epoch 2/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.6902 - loss: 0.5963\n",
+ "Epoch 3/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7004 - loss: 0.5731\n",
+ "Epoch 4/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7202 - loss: 0.5557\n",
+ "Epoch 5/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 970us/step - accuracy: 0.7274 - loss: 0.5405\n",
+ "Epoch 6/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7241 - loss: 0.5459\n",
+ "Epoch 7/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7347 - loss: 0.5384\n",
+ "Epoch 8/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7355 - loss: 0.5310\n",
+ "Epoch 9/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 996us/step - accuracy: 0.7382 - loss: 0.5222\n",
+ "Epoch 10/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7415 - loss: 0.5298\n",
+ "Epoch 11/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 974us/step - accuracy: 0.7310 - loss: 0.5352\n",
+ "Epoch 12/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 982us/step - accuracy: 0.7415 - loss: 0.5180\n",
+ "Epoch 13/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7445 - loss: 0.5163\n",
+ "Epoch 14/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7391 - loss: 0.5188\n",
+ "Epoch 15/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7399 - loss: 0.5222\n",
+ "Epoch 16/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 993us/step - accuracy: 0.7397 - loss: 0.5211\n",
+ "Epoch 17/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7409 - loss: 0.5185\n",
+ "Epoch 18/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7432 - loss: 0.5149\n",
+ "Epoch 19/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7526 - loss: 0.5092\n",
+ "Epoch 20/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7412 - loss: 0.5203\n",
+ "Epoch 21/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7482 - loss: 0.5100\n",
+ "Epoch 22/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7448 - loss: 0.5132\n",
+ "Epoch 23/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7539 - loss: 0.5019\n",
+ "Epoch 24/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7437 - loss: 0.5078\n",
+ "Epoch 25/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7418 - loss: 0.5176\n",
+ "Epoch 26/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7502 - loss: 0.5027\n",
+ "Epoch 27/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7545 - loss: 0.4977\n",
+ "Epoch 28/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 982us/step - accuracy: 0.7458 - loss: 0.5097\n",
+ "Epoch 29/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7518 - loss: 0.5082\n",
+ "Epoch 30/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7508 - loss: 0.5004\n",
+ "Epoch 31/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7516 - loss: 0.5029\n",
+ "Epoch 32/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7526 - loss: 0.5013\n",
+ "Epoch 33/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7525 - loss: 0.5068\n",
+ "Epoch 34/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7594 - loss: 0.4911\n",
+ "Epoch 35/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7578 - loss: 0.4951\n",
+ "Epoch 36/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7590 - loss: 0.4925\n",
+ "Epoch 37/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7552 - loss: 0.5036\n",
+ "Epoch 38/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7563 - loss: 0.4938\n",
+ "Epoch 39/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7660 - loss: 0.4871\n",
+ "Epoch 40/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7561 - loss: 0.4980\n",
+ "Epoch 41/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7583 - loss: 0.4915\n",
+ "Epoch 42/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7589 - loss: 0.4940\n",
+ "Epoch 43/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7644 - loss: 0.4879\n",
+ "Epoch 44/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7615 - loss: 0.4932\n",
+ "Epoch 45/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7659 - loss: 0.4822\n",
+ "Epoch 46/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7643 - loss: 0.4826\n",
+ "Epoch 47/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7605 - loss: 0.4930\n",
+ "Epoch 48/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 959us/step - accuracy: 0.7581 - loss: 0.4929\n",
+ "Epoch 49/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7667 - loss: 0.4867\n",
+ "Epoch 50/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7570 - loss: 0.4950\n",
+ "Epoch 51/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7603 - loss: 0.4885\n",
+ "Epoch 52/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7633 - loss: 0.4871\n",
+ "Epoch 53/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7659 - loss: 0.4871\n",
+ "Epoch 54/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7642 - loss: 0.4843\n",
+ "Epoch 55/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7602 - loss: 0.4882\n",
+ "Epoch 56/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7669 - loss: 0.4841\n",
+ "Epoch 57/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7547 - loss: 0.4861\n",
+ "Epoch 58/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7602 - loss: 0.4871\n",
+ "Epoch 59/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7593 - loss: 0.4917\n",
+ "Epoch 60/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7645 - loss: 0.4912\n",
+ "Epoch 61/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7634 - loss: 0.4866\n",
+ "Epoch 62/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7720 - loss: 0.4793\n",
+ "Epoch 63/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7675 - loss: 0.4789 \n",
+ "Epoch 64/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7690 - loss: 0.4801\n",
+ "Epoch 65/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7660 - loss: 0.4780\n",
+ "Epoch 66/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7712 - loss: 0.4827\n",
+ "Epoch 67/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7690 - loss: 0.4833\n",
+ "Epoch 68/100\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7637 - loss: 0.4795\n",
+ "Epoch 69/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7687 - loss: 0.4830\n",
+ "Epoch 70/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7593 - loss: 0.4920\n",
+ "Epoch 71/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7664 - loss: 0.4811\n",
+ "Epoch 72/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7651 - loss: 0.4828\n",
+ "Epoch 73/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7708 - loss: 0.4762\n",
+ "Epoch 74/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7657 - loss: 0.4792\n",
+ "Epoch 75/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7663 - loss: 0.4895\n",
+ "Epoch 76/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7686 - loss: 0.4727\n",
+ "Epoch 77/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7668 - loss: 0.4825\n",
+ "Epoch 78/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7635 - loss: 0.4815\n",
+ "Epoch 79/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 957us/step - accuracy: 0.7712 - loss: 0.4712\n",
+ "Epoch 80/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 968us/step - accuracy: 0.7738 - loss: 0.4791\n",
+ "Epoch 81/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 975us/step - accuracy: 0.7662 - loss: 0.4800\n",
+ "Epoch 82/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7669 - loss: 0.4811\n",
+ "Epoch 83/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 954us/step - accuracy: 0.7643 - loss: 0.4789\n",
+ "Epoch 84/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7680 - loss: 0.4770\n",
+ "Epoch 85/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7701 - loss: 0.4791\n",
+ "Epoch 86/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7705 - loss: 0.4755\n",
+ "Epoch 87/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7685 - loss: 0.4787\n",
+ "Epoch 88/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7700 - loss: 0.4769\n",
+ "Epoch 89/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7699 - loss: 0.4816\n",
+ "Epoch 90/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step - accuracy: 0.7737 - loss: 0.4742\n",
+ "Epoch 91/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7677 - loss: 0.4829\n",
+ "Epoch 92/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7647 - loss: 0.4836\n",
+ "Epoch 93/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7638 - loss: 0.4811\n",
+ "Epoch 94/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7716 - loss: 0.4747\n",
+ "Epoch 95/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7677 - loss: 0.4808\n",
+ "Epoch 96/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7712 - loss: 0.4795\n",
+ "Epoch 97/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.7733 - loss: 0.4708\n",
+ "Epoch 98/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7743 - loss: 0.4761\n",
+ "Epoch 99/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7758 - loss: 0.4717\n",
+ "Epoch 100/100\n",
+ "\u001b[1m399/399\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step - accuracy: 0.7806 - loss: 0.4610\n",
+ "\u001b[1m100/100\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step\n",
+ " precision recall f1-score support\n",
+ "\n",
+ " 0 0.75 0.80 0.77 1593\n",
+ " 1 0.78 0.74 0.76 1593\n",
+ "\n",
+ " accuracy 0.77 3186\n",
+ " macro avg 0.77 0.77 0.77 3186\n",
+ "weighted avg 0.77 0.77 0.77 3186\n",
+ "\n",
+ "Classification Report : \n",
+ " None\n"
+ ]
+ }
+ ],
+ "source": [
+ "y_preds=ANN(X_train,Y_train,X_test,Y_test,'binary_crossentropy',-1)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "9449b9d1",
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3 (ipykernel)",
+ "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.11.4"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}