{"id":19553905,"url":"https://github.com/blankscreen-exe/data-mining-lab","last_synced_at":"2025-02-26T07:27:52.493Z","repository":{"id":100746024,"uuid":"430204047","full_name":"Blankscreen-exe/Data-Mining-Lab","owner":"Blankscreen-exe","description":"Course Code: CS626, MCS Batch-2019 (Final Year) Evening","archived":false,"fork":false,"pushed_at":"2025-01-16T18:12:05.000Z","size":19338,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-16T19:25:04.274Z","etag":null,"topics":["data-visualization","datamining","datamining-algorithms","datascience"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Blankscreen-exe.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-11-20T20:35:17.000Z","updated_at":"2025-01-16T18:12:06.000Z","dependencies_parsed_at":"2023-06-09T12:30:34.034Z","dependency_job_id":null,"html_url":"https://github.com/Blankscreen-exe/Data-Mining-Lab","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Blankscreen-exe%2FData-Mining-Lab","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Blankscreen-exe%2FData-Mining-Lab/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Blankscreen-exe%2FData-Mining-Lab/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Blankscreen-exe%2FData-Mining-Lab/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Blankscreen-exe","download_url":"https://codeload.github.com/Blankscreen-exe/Data-Mining-Lab/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240810415,"owners_count":19861251,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["data-visualization","datamining","datamining-algorithms","datascience"],"created_at":"2024-11-11T04:25:11.113Z","updated_at":"2025-02-26T07:27:52.466Z","avatar_url":"https://github.com/Blankscreen-exe.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Data-Mining-Lab\nCourse Code: CS626\n\nCourse Supervisor: Dr. Tahseen Ahmed jilani\n\n_Department of Computer Science_\n\n_University of Karachi_\n\n### Data Source:\nYou can find the data source on [Kaggle.com](https://www.kaggle.com/imakash3011/customer-personality-analysis?select=marketing_campaign.csv)\n\n### Project Details:\nProject details and description will be found in the documentation present in this repository\n\n![preview](./docs/preview.png)\n\n# Experiment\n\n**Objectives:**\n\n1. Predict the customer's response to marketting offers.\n2. Perform Clustering Techniques to categorize the customer base.\n\n------------------\n\n#### Contents:\n\n1. __Data OverView \u0026 Preprocessing__\n    - [Checking for Null Values](#Checking-for-Null-Values)\n    - [Checking Duplicate Values](#Checking-Duplicate-Values)\n    - [Looking at Uniques values](#Looking-at-Uniques-values)\n    - [Some More Tweaking](#Some-More-Tweaking)\n    - [Checking for Outliers](#Checking-for-Outliers)\n    - [Final Pre-Processsed Dataset](#Final-Pre-Processsed-Dataset)\n2. __Exploratory Data Analysis__\n    - [Univariate Analysis](#Univariate-Analysis)\n    - [Bivariate Analysis](#Bivariate-Analysis)\n    - [Multivariate Analysis](#Multivariate-Analysis)\n3. __Feature Selection \u0026 Dimensionality Reduction__\n    - [Preparing Sample for Prediction Models](#Preparing-Sample-for-Prediction-Models)\n    - [Feature Selection by Random Forest](#Feature-Selection-by-Random-Forest)\n    - [PCA Transformation](#PCA-Transformation)\n4. __Supervised Predictions__\n    - [Preparing Data For Classification Models](#Preparing-Data-For-Classification-Models)\n    - [Logistic Regression](#Logistic-Regression)\n    - [Boosting Tree](#Boosting-Tree)\n    - [SVM](#SVM)\n    - [Neural Networks](#Neural-Networks)\n    - [Performance Comparison Among All 4 Models](#Performance-Comparison-Among-All-4-Models)\n    - [Final Model Performance](#Final-Model-Performance)\n5. __Un-Supervised Predictions__\n    - [Feature Engineering and Clustering](#Feature-Engineering-and-Clustering)\n    - [K-Means](#K-Means)\n    - [Gaussian Mixture Model](#Gaussian-Mixture-Model)\n6. __Summary__\n    - [1_ Customer-Related Summary](#1_-Customer-Related-Summary)\n    - [2_ Supervised Prediction Summary](#2_-Supervised-Prediction-Summary)\n    - [3_ Unsupervised Prediction Summary](#3_-Unsupervised-Prediction-Summary)\n\n----\n\n\n```python\n#importing required modules\n\nimport pandas as pd\nimport numpy as np\nimport matplotlib.pyplot as plt\nimport matplotlib.dates as mdates\nimport seaborn as sns\nimport scipy\nfrom scipy.stats.mstats import winsorize\nimport random\nimport math\nfrom tqdm import tqdm\n\nfrom sklearn import preprocessing\nfrom sklearn.metrics import matthews_corrcoef\nfrom sklearn.metrics import accuracy_score\nfrom sklearn.metrics import confusion_matrix\nfrom sklearn.metrics import classification_report\nfrom sklearn.model_selection import train_test_split\nfrom sklearn.ensemble import RandomForestClassifier\nfrom sklearn.tree import DecisionTreeClassifier\nfrom sklearn.model_selection import cross_val_score\nfrom sklearn.model_selection import KFold\nfrom sklearn.linear_model import LogisticRegression\nfrom sklearn.kernel_ridge import KernelRidge\nfrom sklearn.ensemble import AdaBoostClassifier\nfrom sklearn.metrics import fbeta_score, make_scorer\nfrom sklearn import svm\n\nimport plotly.graph_objects as go\nimport plotly.express as px\nimport plotly.figure_factory as ff\n%matplotlib inline\n```\n\n## 1. Data OverView \u0026 Preprocessing\n\n\n```python\n# Had to use '\\t' separator, since all the rows were merged into one column cell.\nSample = pd.read_csv('marketing_campaign.csv',sep='\\t')\nSample.head()\n```\n\n\n\n\n\u003cdiv\u003e\n\n\u003ctable border=\"1\" class=\"dataframe\"\u003e\n  \u003cthead\u003e\n    \u003ctr style=\"text-align: right;\"\u003e\n      \u003cth\u003e\u003c/th\u003e\n      \u003cth\u003eID\u003c/th\u003e\n      \u003cth\u003eYear_Birth\u003c/th\u003e\n      \u003cth\u003eEducation\u003c/th\u003e\n      \u003cth\u003eMarital_Status\u003c/th\u003e\n      \u003cth\u003eIncome\u003c/th\u003e\n      \u003cth\u003eKidhome\u003c/th\u003e\n      \u003cth\u003eTeenhome\u003c/th\u003e\n      \u003cth\u003eDt_Customer\u003c/th\u003e\n      \u003cth\u003eRecency\u003c/th\u003e\n      \u003cth\u003eMntWines\u003c/th\u003e\n      \u003cth\u003e...\u003c/th\u003e\n      \u003cth\u003eNumWebVisitsMonth\u003c/th\u003e\n      \u003cth\u003eAcceptedCmp3\u003c/th\u003e\n      \u003cth\u003eAcceptedCmp4\u003c/th\u003e\n      \u003cth\u003eAcceptedCmp5\u003c/th\u003e\n      \u003cth\u003eAcceptedCmp1\u003c/th\u003e\n      \u003cth\u003eAcceptedCmp2\u003c/th\u003e\n      \u003cth\u003eComplain\u003c/th\u003e\n      \u003cth\u003eZ_CostContact\u003c/th\u003e\n      \u003cth\u003eZ_Revenue\u003c/th\u003e\n      \u003cth\u003eResponse\u003c/th\u003e\n    \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003cth\u003e0\u003c/th\u003e\n      \u003ctd\u003e5524\u003c/td\u003e\n      \u003ctd\u003e1957\u003c/td\u003e\n      \u003ctd\u003eGraduation\u003c/td\u003e\n      \u003ctd\u003eSingle\u003c/td\u003e\n      \u003ctd\u003e58138.0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e04-09-2012\u003c/td\u003e\n      \u003ctd\u003e58\u003c/td\u003e\n      \u003ctd\u003e635\u003c/td\u003e\n      \u003ctd\u003e...\u003c/td\u003e\n      \u003ctd\u003e7\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e3\u003c/td\u003e\n      \u003ctd\u003e11\u003c/td\u003e\n      \u003ctd\u003e1\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003e1\u003c/th\u003e\n      \u003ctd\u003e2174\u003c/td\u003e\n      \u003ctd\u003e1954\u003c/td\u003e\n      \u003ctd\u003eGraduation\u003c/td\u003e\n      \u003ctd\u003eSingle\u003c/td\u003e\n      \u003ctd\u003e46344.0\u003c/td\u003e\n      \u003ctd\u003e1\u003c/td\u003e\n      \u003ctd\u003e1\u003c/td\u003e\n      \u003ctd\u003e08-03-2014\u003c/td\u003e\n      \u003ctd\u003e38\u003c/td\u003e\n      \u003ctd\u003e11\u003c/td\u003e\n      \u003ctd\u003e...\u003c/td\u003e\n      \u003ctd\u003e5\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e3\u003c/td\u003e\n      \u003ctd\u003e11\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003e2\u003c/th\u003e\n      \u003ctd\u003e4141\u003c/td\u003e\n      \u003ctd\u003e1965\u003c/td\u003e\n      \u003ctd\u003eGraduation\u003c/td\u003e\n      \u003ctd\u003eTogether\u003c/td\u003e\n      \u003ctd\u003e71613.0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e21-08-2013\u003c/td\u003e\n      \u003ctd\u003e26\u003c/td\u003e\n      \u003ctd\u003e426\u003c/td\u003e\n      \u003ctd\u003e...\u003c/td\u003e\n      \u003ctd\u003e4\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e3\u003c/td\u003e\n      \u003ctd\u003e11\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003e3\u003c/th\u003e\n      \u003ctd\u003e6182\u003c/td\u003e\n      \u003ctd\u003e1984\u003c/td\u003e\n      \u003ctd\u003eGraduation\u003c/td\u003e\n      \u003ctd\u003eTogether\u003c/td\u003e\n      \u003ctd\u003e26646.0\u003c/td\u003e\n      \u003ctd\u003e1\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e10-02-2014\u003c/td\u003e\n      \u003ctd\u003e26\u003c/td\u003e\n      \u003ctd\u003e11\u003c/td\u003e\n      \u003ctd\u003e...\u003c/td\u003e\n      \u003ctd\u003e6\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e3\u003c/td\u003e\n      \u003ctd\u003e11\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003e4\u003c/th\u003e\n      \u003ctd\u003e5324\u003c/td\u003e\n      \u003ctd\u003e1981\u003c/td\u003e\n      \u003ctd\u003ePhD\u003c/td\u003e\n      \u003ctd\u003eMarried\u003c/td\u003e\n      \u003ctd\u003e58293.0\u003c/td\u003e\n      \u003ctd\u003e1\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e19-01-2014\u003c/td\u003e\n      \u003ctd\u003e94\u003c/td\u003e\n      \u003ctd\u003e173\u003c/td\u003e\n      \u003ctd\u003e...\u003c/td\u003e\n      \u003ctd\u003e5\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e3\u003c/td\u003e\n      \u003ctd\u003e11\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003e5 rows × 29 columns\u003c/p\u003e\n\u003c/div\u003e\n\n\n\n\n```python\n# Listing the columns' names\nSample.info()\n```\n\n    \u003cclass 'pandas.core.frame.DataFrame'\u003e\n    RangeIndex: 2240 entries, 0 to 2239\n    Data columns (total 29 columns):\n     #   Column               Non-Null Count  Dtype  \n    ---  ------               --------------  -----  \n     0   ID                   2240 non-null   int64  \n     1   Year_Birth           2240 non-null   int64  \n     2   Education            2240 non-null   object \n     3   Marital_Status       2240 non-null   object \n     4   Income               2216 non-null   float64\n     5   Kidhome              2240 non-null   int64  \n     6   Teenhome             2240 non-null   int64  \n     7   Dt_Customer          2240 non-null   object \n     8   Recency              2240 non-null   int64  \n     9   MntWines             2240 non-null   int64  \n     10  MntFruits            2240 non-null   int64  \n     11  MntMeatProducts      2240 non-null   int64  \n     12  MntFishProducts      2240 non-null   int64  \n     13  MntSweetProducts     2240 non-null   int64  \n     14  MntGoldProds         2240 non-null   int64  \n     15  NumDealsPurchases    2240 non-null   int64  \n     16  NumWebPurchases      2240 non-null   int64  \n     17  NumCatalogPurchases  2240 non-null   int64  \n     18  NumStorePurchases    2240 non-null   int64  \n     19  NumWebVisitsMonth    2240 non-null   int64  \n     20  AcceptedCmp3         2240 non-null   int64  \n     21  AcceptedCmp4         2240 non-null   int64  \n     22  AcceptedCmp5         2240 non-null   int64  \n     23  AcceptedCmp1         2240 non-null   int64  \n     24  AcceptedCmp2         2240 non-null   int64  \n     25  Complain             2240 non-null   int64  \n     26  Z_CostContact        2240 non-null   int64  \n     27  Z_Revenue            2240 non-null   int64  \n     28  Response             2240 non-null   int64  \n    dtypes: float64(1), int64(25), object(3)\n    memory usage: 507.6+ KB\n    \n\n**COMMENT:** *we mostly have integer data types. Discrete methods might become necessary.*\n\n### Checking for Null Values\n\n\n```python\n# Checking for Null Values\nSample.isna().sum()\n```\n\n\n\n\n    ID                      0\n    Year_Birth              0\n    Education               0\n    Marital_Status          0\n    Income                 24\n    Kidhome                 0\n    Teenhome                0\n    Dt_Customer             0\n    Recency                 0\n    MntWines                0\n    MntFruits               0\n    MntMeatProducts         0\n    MntFishProducts         0\n    MntSweetProducts        0\n    MntGoldProds            0\n    NumDealsPurchases       0\n    NumWebPurchases         0\n    NumCatalogPurchases     0\n    NumStorePurchases       0\n    NumWebVisitsMonth       0\n    AcceptedCmp3            0\n    AcceptedCmp4            0\n    AcceptedCmp5            0\n    AcceptedCmp1            0\n    AcceptedCmp2            0\n    Complain                0\n    Z_CostContact           0\n    Z_Revenue               0\n    Response                0\n    dtype: int64\n\n\n\n**COMMENT:** *Filling up the Null values with average (generic normalization method). Only Income column was affected, therefore we mostly have original data.*\n\n\n```python\nSample['Income'].fillna(np.mean(Sample['Income']), inplace=True)\n\n# converting currency type for better evaluation.\nSample['Income'] = Sample['Income'] / 1000\n\n# Just for confirmation of Null value removal\nfor i in Sample.isna().sum():\n    if i != 0:\n        print(i)\nelse:\n    print(\"Filling Null spaces Successful!\")\n```\n\n    Filling Null spaces Successful!\n    \n\n### Checking Duplicate Values\n\n\n```python\nSample.duplicated().sum()\n```\n\n\n\n\n    0\n\n\n\n**COMMENT:** *No duplicates were found*\n\n### Looking at Uniques values\n\n\n```python\npd.DataFrame(Sample.nunique()).sort_values(0).rename( {0: 'Unique Values'}, axis=1)\n```\n\n\n\n\n\u003cdiv\u003e\n\u003cstyle scoped\u003e\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n\u003c/style\u003e\n\u003ctable border=\"1\" class=\"dataframe\"\u003e\n  \u003cthead\u003e\n    \u003ctr style=\"text-align: right;\"\u003e\n      \u003cth\u003e\u003c/th\u003e\n      \u003cth\u003eUnique Values\u003c/th\u003e\n    \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003cth\u003eZ_Revenue\u003c/th\u003e\n      \u003ctd\u003e1\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003eZ_CostContact\u003c/th\u003e\n      \u003ctd\u003e1\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003eResponse\u003c/th\u003e\n      \u003ctd\u003e2\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003eAcceptedCmp3\u003c/th\u003e\n      \u003ctd\u003e2\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003eAcceptedCmp4\u003c/th\u003e\n      \u003ctd\u003e2\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003eAcceptedCmp2\u003c/th\u003e\n      \u003ctd\u003e2\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003eComplain\u003c/th\u003e\n      \u003ctd\u003e2\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003eAcceptedCmp1\u003c/th\u003e\n      \u003ctd\u003e2\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003eAcceptedCmp5\u003c/th\u003e\n      \u003ctd\u003e2\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003eKidhome\u003c/th\u003e\n      \u003ctd\u003e3\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003eTeenhome\u003c/th\u003e\n      \u003ctd\u003e3\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003eEducation\u003c/th\u003e\n      \u003ctd\u003e5\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003eMarital_Status\u003c/th\u003e\n      \u003ctd\u003e8\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003eNumCatalogPurchases\u003c/th\u003e\n      \u003ctd\u003e14\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003eNumStorePurchases\u003c/th\u003e\n      \u003ctd\u003e14\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003eNumDealsPurchases\u003c/th\u003e\n      \u003ctd\u003e15\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003eNumWebPurchases\u003c/th\u003e\n      \u003ctd\u003e15\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003eNumWebVisitsMonth\u003c/th\u003e\n      \u003ctd\u003e16\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003eYear_Birth\u003c/th\u003e\n      \u003ctd\u003e59\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003eRecency\u003c/th\u003e\n      \u003ctd\u003e100\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003eMntFruits\u003c/th\u003e\n      \u003ctd\u003e158\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003eMntSweetProducts\u003c/th\u003e\n      \u003ctd\u003e177\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003eMntFishProducts\u003c/th\u003e\n      \u003ctd\u003e182\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003eMntGoldProds\u003c/th\u003e\n      \u003ctd\u003e213\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003eMntMeatProducts\u003c/th\u003e\n      \u003ctd\u003e558\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003eDt_Customer\u003c/th\u003e\n      \u003ctd\u003e663\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003eMntWines\u003c/th\u003e\n      \u003ctd\u003e776\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003eIncome\u003c/th\u003e\n      \u003ctd\u003e1975\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003eID\u003c/th\u003e\n      \u003ctd\u003e2240\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/div\u003e\n\n\n\n**COMMENT:** \n- *Z_Revenue and Z_CostContact have only single values for all entries, therefore we will remove those columns*\n- *Other entries are good to go. Except for ID and Dt_Customer, they won't be necessary in our analysis*\n\n\n```python\n# Dropping the \"Z_Revenue\" and \"Z_CostContact\" columns\nSample.drop(['Z_CostContact', 'Z_Revenue'], axis=1, inplace=True)\n\n# Also dropping \"ID\" and \"Dt_Customer\", since they are not useful in our processing.\nSample.drop(['ID', 'Dt_Customer'], axis=1, inplace=True) \n```\n\n### Some More Tweaking\n\n\n```python\n# Converting \"Year_Birth\" to \"Age\"\nSample['Age'] = 2021 - Sample.Year_Birth.to_numpy()\nSample.drop('Year_Birth', axis=1, inplace=True)\n```\n\n\n```python\nSample['Marital_Status'].value_counts()\n```\n\n\n\n\n    Married     864\n    Together    580\n    Single      480\n    Divorced    232\n    Widow        77\n    Alone         3\n    YOLO          2\n    Absurd        2\n    Name: Marital_Status, dtype: int64\n\n\n\n**COMMENT:** *This categorization is not good, since many factors suggest that **Alone, YOLO, Absurd** should be regrouped into **Single***\n\n\n```python\n# Re-grouping \"Marital_Status\" Column\nSample['Marital_Status'] = Sample['Marital_Status'].replace(['Alone','YOLO','Absurd'],'Single')\n```\n\n\n```python\nSample['Education'].value_counts()\n```\n\n\n\n\n    Graduation    1127\n    PhD            486\n    Master         370\n    2n Cycle       203\n    Basic           54\n    Name: Education, dtype: int64\n\n\n\n**COMMENT:** *This categorization shows too many unnecessary groups. For example, **2n-Cycle** is equivalent to **Masters***\n\n\n```python\nSample['Education'].replace(['2n Cycle', 'Graduation'], ['Master', 'Bachelor'], inplace=True)\n```\n\n### Checking for Outliers\n\n\n```python\n# using box plot to visualize outliers in numerial fields of the dataset\n\nn = Sample.select_dtypes(include=np.number).columns.tolist()\nbins=10\nj=1\nfig = plt.figure(figsize = (20, 30))\nfor i in n:\n    plt.subplot(7,4,j)\n    plt.boxplot(Sample[i])\n    j=j+1\n    plt.xlabel(i)\nplt.show()\n```\n\n\n    \n![png](images/output_28_0.png)\n    \n\n\n**COMMENT:** *Since we are sure about outliers in \"Age\" and \"Income\" pose unnecessary plots, therefore we can remove them. As for other fields, we are not sure, therefore we wil let them be.*\n\n\n```python\nSample.drop(Sample[(Sample['Income']\u003e200)|(Sample['Age']\u003e100)].index,inplace=True)\n```\n\n### Final Pre-Processsed Dataset\n\n\n```python\nSample.head()\n```\n\n\n\n\n\u003cdiv\u003e\n\u003cstyle scoped\u003e\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n\u003c/style\u003e\n\u003ctable border=\"1\" class=\"dataframe\"\u003e\n  \u003cthead\u003e\n    \u003ctr style=\"text-align: right;\"\u003e\n      \u003cth\u003e\u003c/th\u003e\n      \u003cth\u003eEducation\u003c/th\u003e\n      \u003cth\u003eMarital_Status\u003c/th\u003e\n      \u003cth\u003eIncome\u003c/th\u003e\n      \u003cth\u003eKidhome\u003c/th\u003e\n      \u003cth\u003eTeenhome\u003c/th\u003e\n      \u003cth\u003eRecency\u003c/th\u003e\n      \u003cth\u003eMntWines\u003c/th\u003e\n      \u003cth\u003eMntFruits\u003c/th\u003e\n      \u003cth\u003eMntMeatProducts\u003c/th\u003e\n      \u003cth\u003eMntFishProducts\u003c/th\u003e\n      \u003cth\u003e...\u003c/th\u003e\n      \u003cth\u003eNumStorePurchases\u003c/th\u003e\n      \u003cth\u003eNumWebVisitsMonth\u003c/th\u003e\n      \u003cth\u003eAcceptedCmp3\u003c/th\u003e\n      \u003cth\u003eAcceptedCmp4\u003c/th\u003e\n      \u003cth\u003eAcceptedCmp5\u003c/th\u003e\n      \u003cth\u003eAcceptedCmp1\u003c/th\u003e\n      \u003cth\u003eAcceptedCmp2\u003c/th\u003e\n      \u003cth\u003eComplain\u003c/th\u003e\n      \u003cth\u003eResponse\u003c/th\u003e\n      \u003cth\u003eAge\u003c/th\u003e\n    \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003cth\u003e0\u003c/th\u003e\n      \u003ctd\u003eBachelor\u003c/td\u003e\n      \u003ctd\u003eSingle\u003c/td\u003e\n      \u003ctd\u003e58.138\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e58\u003c/td\u003e\n      \u003ctd\u003e635\u003c/td\u003e\n      \u003ctd\u003e88\u003c/td\u003e\n      \u003ctd\u003e546\u003c/td\u003e\n      \u003ctd\u003e172\u003c/td\u003e\n      \u003ctd\u003e...\u003c/td\u003e\n      \u003ctd\u003e4\u003c/td\u003e\n      \u003ctd\u003e7\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e1\u003c/td\u003e\n      \u003ctd\u003e64\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003e1\u003c/th\u003e\n      \u003ctd\u003eBachelor\u003c/td\u003e\n      \u003ctd\u003eSingle\u003c/td\u003e\n      \u003ctd\u003e46.344\u003c/td\u003e\n      \u003ctd\u003e1\u003c/td\u003e\n      \u003ctd\u003e1\u003c/td\u003e\n      \u003ctd\u003e38\u003c/td\u003e\n      \u003ctd\u003e11\u003c/td\u003e\n      \u003ctd\u003e1\u003c/td\u003e\n      \u003ctd\u003e6\u003c/td\u003e\n      \u003ctd\u003e2\u003c/td\u003e\n      \u003ctd\u003e...\u003c/td\u003e\n      \u003ctd\u003e2\u003c/td\u003e\n      \u003ctd\u003e5\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e67\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003e2\u003c/th\u003e\n      \u003ctd\u003eBachelor\u003c/td\u003e\n      \u003ctd\u003eTogether\u003c/td\u003e\n      \u003ctd\u003e71.613\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e26\u003c/td\u003e\n      \u003ctd\u003e426\u003c/td\u003e\n      \u003ctd\u003e49\u003c/td\u003e\n      \u003ctd\u003e127\u003c/td\u003e\n      \u003ctd\u003e111\u003c/td\u003e\n      \u003ctd\u003e...\u003c/td\u003e\n      \u003ctd\u003e10\u003c/td\u003e\n      \u003ctd\u003e4\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e56\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003e3\u003c/th\u003e\n      \u003ctd\u003eBachelor\u003c/td\u003e\n      \u003ctd\u003eTogether\u003c/td\u003e\n      \u003ctd\u003e26.646\u003c/td\u003e\n      \u003ctd\u003e1\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e26\u003c/td\u003e\n      \u003ctd\u003e11\u003c/td\u003e\n      \u003ctd\u003e4\u003c/td\u003e\n      \u003ctd\u003e20\u003c/td\u003e\n      \u003ctd\u003e10\u003c/td\u003e\n      \u003ctd\u003e...\u003c/td\u003e\n      \u003ctd\u003e4\u003c/td\u003e\n      \u003ctd\u003e6\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e37\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003e4\u003c/th\u003e\n      \u003ctd\u003ePhD\u003c/td\u003e\n      \u003ctd\u003eMarried\u003c/td\u003e\n      \u003ctd\u003e58.293\u003c/td\u003e\n      \u003ctd\u003e1\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e94\u003c/td\u003e\n      \u003ctd\u003e173\u003c/td\u003e\n      \u003ctd\u003e43\u003c/td\u003e\n      \u003ctd\u003e118\u003c/td\u003e\n      \u003ctd\u003e46\u003c/td\u003e\n      \u003ctd\u003e...\u003c/td\u003e\n      \u003ctd\u003e6\u003c/td\u003e\n      \u003ctd\u003e5\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e0\u003c/td\u003e\n      \u003ctd\u003e40\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003e5 rows × 25 columns\u003c/p\u003e\n\u003c/div\u003e\n\n\n\n\n-----\n\n## 2. Exploratory Data Analysis\n\n### Univariate Analysis\n\nWe are mainly looking at each variable separately in order to derive insights from it. \n\n\n```python\n# Marital Status and Education Levels in a pie chart\nc_count = Sample.groupby(\"Marital_Status\").count()['Age']\nlabel = Sample.groupby('Marital_Status').count()['Age'].index\nfig, ax = plt.subplots(1, 2, figsize = (10, 12))\nax[0].pie(c_count, labels=label, colors=sns.color_palette('pastel')[0:5], autopct='%1.2f%%',radius=2,explode=[0.07,0.07,0.07,0.07,0.07])\nax[0].set_title('Maritial Status', y=-0.6)\n\nc_count = Sample.groupby(\"Education\").count()['Age']\nlabel = Sample.groupby('Education').count()['Age'].index\nax[1].pie(c_count, labels=label, colors=sns.color_palette('pastel')[0:5], autopct='%1.2f%%',radius=2,explode=[0.07,0.07,0.07,0.07])\nax[1].set_title('Education Level', y=-0.6)\nplt.subplots_adjust(wspace = 1.5, hspace =0)\nplt.show()\n```\n\n\n    \n![png](images/output_35_0.png)\n    \n\n\n**COMMENT:** *We have more Married Couples or Bachelors Degree holders as our customers. Approx. 39% and 50% respectively.*\n\n\n```python\n# Age\nplt.figure(figsize=(20, 6))\nplt.title('Age distribution')\nax = sns.histplot(Sample['Age'].sort_values(), bins=56, color='skyblue')\nsns.rugplot(data=Sample['Age'], height=.05)\nplt.xticks(np.linspace(Sample['Age'].min(), Sample['Age'].max(), 56, dtype=int, endpoint = True))\nplt.show()\n```\n\n\n    \n![png](images/output_37_0.png)\n    \n\n\n**COMMENT:** *Most of our customers are people among the age of 45-60 years*\n\n\n```python\n# Home with kids and Home with Teens\nplt.figure(figsize=(15,5))\nplt.subplot(121)\nsns.histplot(data=Sample, x='Kidhome', stat=\"count\", discrete=True)\nplt.xticks([0, 1, 2])\n\nplt.subplot(122)\nsns.histplot(data=Sample, x='Teenhome', stat=\"count\",discrete=True)\nplt.xticks([0, 1, 2])\nplt.show()\n\n```\n\n\n    \n![png](images/output_39_0.png)\n    \n\n\n**COMMENT:** *A very small group of people have about either 2 kids or 2 Teens in their home. Other types of customers are significantly large.*\n\n\n```python\n# Response dist. and Income Range\nplt.figure(figsize=(15,5))\n\nplt.subplot(121)\nsns.histplot(data=Sample, x='Response', stat=\"count\", discrete=True)\nplt.xticks([0, 1])\n\nplt.subplot(122)\n# Income Range\nsns.kdeplot(data=Sample, x=\"Income\", shade=True, log_scale=True)\nplt.show()\n```\n\n\n    \n![png](images/output_41_0.png)\n    \n\n\n**COMMENT:** \n    \n   - *This shows a very bad situation. The last campaign was **mostly rejected***\n    \n   - *Income of most people range from 10,000 to 100,000 units*\n   \n-----\n\n### Bivariate Analysis\n\nHere we are performing a comparative analysis of how the variables relate together to each other\n\n\n```python\n# Let's see if \"Education\" level have any impact on the \"Responses\" we got.\nplt.figure(figsize=(15,5))\nplt.subplot(121)\nsns.histplot(data=Sample, x=\"Education\", hue=\"Response\", multiple=\"stack\", stat=\"count\",color='skyblue')\n\n# Now we will look for relations among \"Marital Status\" and \"Responses\"\nplt.subplot(122)\nsns.histplot(data=Sample, x=\"Marital_Status\", hue=\"Response\",stat=\"count\", multiple=\"stack\", color='skyblue')\nplt.show()\n```\n\n\n    \n![png](images/output_44_0.png)\n    \n\n\n**COMMENT:** \n- *Left figure; people having low education levels were not in the least interested in this campaign.*\n- *Right figure; Single people were more likely to accept our offers*\n\n\n```python\n# Let's see if \"Homw with kids\" level have any impact on the \"Responses\" we got.\nplt.figure(figsize=(15,5))\nplt.subplot(121)\nsns.histplot(data=Sample, x=\"Kidhome\", hue=\"Response\", multiple=\"stack\", stat=\"count\", discrete=True)\nplt.xticks([0, 1, 2])\n\n# Now we will look for relations among \"Home with teens\" and \"Responses\"\nplt.subplot(122)\nsns.histplot(data=Sample, x=\"Teenhome\", hue=\"Response\", multiple=\"stack\", stat=\"count\", discrete=True)\nplt.xticks([0, 1, 2])\nplt.show()\n```\n\n\n    \n![png](images/output_46_0.png)\n    \n\n\n**COMMENT:** *People with no kids or teens at home were more interested in our campaign*\n\n\n```python\n# Let's see if \"Income\" has any impact on the \"Responses\", \"Marital Status\", \"Education\", \"Kid Home\".\nplt.figure(figsize=(15,10))\nplt.subplot(221)\nsns.kdeplot(\n   data=Sample, x=\"Income\", hue=\"Response\", log_scale= True,\n   fill=True, common_norm=False,\n   alpha=.5, linewidth=0,\n)\nplt.gca().axes.get_yaxis().set_visible(False) # Set y invisible\nplt.xlabel('Income')\n\n# segment by Marital_Status\nplt.subplot(222)\nsns.kdeplot(\n   data=Sample, x=\"Income\", hue=\"Marital_Status\", log_scale= True,\n   fill=True, common_norm=False, palette=\"crest\",\n   alpha=.5, linewidth=0,\n)\nplt.gca().axes.get_yaxis().set_visible(False) \n\n# segment by Education\nplt.subplot(223)\nsns.kdeplot(\n   data=Sample, x=\"Income\", hue=\"Education\", log_scale= True,\n   fill=True, common_norm=False, palette=\"crest\",\n   alpha=.5, linewidth=0,\n)\nplt.gca().axes.get_yaxis().set_visible(False) \n\n# segment by Kidhome\nplt.subplot(224)\nsns.kdeplot(\n   data=Sample, x=\"Income\", hue=\"Kidhome\", log_scale= True,\n   fill=True, common_norm=False, palette=\"crest\",\n   alpha=.5, linewidth=0,\n)\nplt.gca().axes.get_yaxis().set_visible(False)\n```\n\n\n    \n![png](images/output_48_0.png)\n    \n\n\n**COMMENT:**\n    \n   - *People with more Income are more likely to accept our offers. We can say that people with income 14-15,000 or less don't seem that much interested.* \n   - *Different Marital Status does not seem to be the cause of positive or negative response to our marketing campaign.*\n   - *People having lower level of education have less income. Those Bachelors, Masters or Ph.D degrees do not have clear difference between their incomes.*\n   - *Those who do not have kids at home have higher income.*\n\n----\n\n### Multivariate Analysis\n\nHere we are going to compare multiple variables to see if they any relations.\n\n\n```python\n# Re-stating variable types\npd.DataFrame(Sample.nunique()).sort_values(0).rename( {0: 'Unique Values'}, axis=1)\n```\n\n\n\n\n\u003cdiv\u003e\n\u003cstyle scoped\u003e\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n\u003c/style\u003e\n\u003ctable border=\"1\" class=\"dataframe\"\u003e\n  \u003cthead\u003e\n    \u003ctr style=\"text-align: right;\"\u003e\n      \u003cth\u003e\u003c/th\u003e\n      \u003cth\u003eUnique Values\u003c/th\u003e\n    \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003cth\u003eComplain\u003c/th\u003e\n      \u003ctd\u003e2\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003eAcceptedCmp2\u003c/th\u003e\n      \u003ctd\u003e2\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003eAcceptedCmp1\u003c/th\u003e\n      \u003ctd\u003e2\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003eAcceptedCmp5\u003c/th\u003e\n      \u003ctd\u003e2\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003eAcceptedCmp4\u003c/th\u003e\n      \u003ctd\u003e2\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003eAcceptedCmp3\u003c/th\u003e\n      \u003ctd\u003e2\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003eResponse\u003c/th\u003e\n      \u003ctd\u003e2\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003eKidhome\u003c/th\u003e\n      \u003ctd\u003e3\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003eTeenhome\u003c/th\u003e\n      \u003ctd\u003e3\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003eEducation\u003c/th\u003e\n      \u003ctd\u003e4\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003eMarital_Status\u003c/th\u003e\n      \u003ctd\u003e5\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003eNumStorePurchases\u003c/th\u003e\n      \u003ctd\u003e14\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003eNumCatalogPurchases\u003c/th\u003e\n      \u003ctd\u003e14\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003eNumDealsPurchases\u003c/th\u003e\n      \u003ctd\u003e15\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003eNumWebPurchases\u003c/th\u003e\n      \u003ctd\u003e15\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003eNumWebVisitsMonth\u003c/th\u003e\n      \u003ctd\u003e16\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003eAge\u003c/th\u003e\n      \u003ctd\u003e56\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003eRecency\u003c/th\u003e\n      \u003ctd\u003e100\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003eMntFruits\u003c/th\u003e\n      \u003ctd\u003e158\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003eMntSweetProducts\u003c/th\u003e\n      \u003ctd\u003e177\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003eMntFishProducts\u003c/th\u003e\n      \u003ctd\u003e182\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003eMntGoldProds\u003c/th\u003e\n      \u003ctd\u003e213\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003eMntMeatProducts\u003c/th\u003e\n      \u003ctd\u003e557\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003eMntWines\u003c/th\u003e\n      \u003ctd\u003e775\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth\u003eIncome\u003c/th\u003e\n      \u003ctd\u003e1971\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/div\u003e\n\n\n\n\n```python\n# looking for linear trends between numerical values\nNUMERICAL_FEATURES = ['Age', 'Recency', 'MntFruits', \n                      'MntSweetProducts', 'MntFishProducts', 'MntGoldProds', \n                      'MntMeatProducts', 'MntWines', 'Income']\n\nsns.pairplot(data=Sample[NUMERICAL_FEATURES], \n             kind='scatter', plot_kws={'alpha':0.4})\nplt.show()\n```\n\n\n    \n![png](images/output_52_0.png)\n    \n\n\n\n```python\n# Heat map among all numerical variables\ncor = Sample.corr()\nplt.figure(figsize = (27,26))\nsns.heatmap(cor, annot = True, cmap = 'coolwarm')\nplt.show()\n```\n\n\n    \n![png](images/output_53_0.png)\n    \n\n\n**COMMENT:** *We found no linear relationships between the numerical variables*\n\n----\n----\n\n## 3. Feature Selection \u0026 Dimensionality Reduction\n\n### Preparing Sample for Prediction Models\n\n\n```python\n# Converting Education with scale numerals\ndf_cluster = Sample.copy() # saving for clustering \n\nSample['Education'] = Sample['Education'].replace(['Basic'], 0)\nSample['Education'] = Sample['Education'].replace(['Bachelor'], 1)\nSample['Education'] = Sample['Education'].replace(['Master'], 2)\nSample['Education'] = Sample['Education'].replace(['PhD'], 3) \n\n# Change Marital_Status to dummies\nSample = pd.get_dummies(Sample)\nSample.info()\n```\n\n    \u003cclass 'pandas.core.frame.DataFrame'\u003e\n    Int64Index: 2236 entries, 0 to 2239\n    Data columns (total 29 columns):\n     #   Column                   Non-Null Count  Dtype  \n    ---  ------                   --------------  -----  \n     0   Education                2236 non-null   int64  \n     1   Income                   2236 non-null   float64\n     2   Kidhome                  2236 non-null   int64  \n     3   Teenhome                 2236 non-null   int64  \n     4   Recency                  2236 non-null   int64  \n     5   MntWines                 2236 non-null   int64  \n     6   MntFruits                2236 non-null   int64  \n     7   MntMeatProducts          2236 non-null   int64  \n     8   MntFishProducts          2236 non-null   int64  \n     9   MntSweetProducts         2236 non-null   int64  \n     10  MntGoldProds             2236 non-null   int64  \n     11  NumDealsPurchases        2236 non-null   int64  \n     12  NumWebPurchases          2236 non-null   int64  \n     13  NumCatalogPurchases      2236 non-null   int64  \n     14  NumStorePurchases        2236 non-null   int64  \n     15  NumWebVisitsMonth        2236 non-null   int64  \n     16  AcceptedCmp3             2236 non-null   int64  \n     17  AcceptedCmp4             2236 non-null   int64  \n     18  AcceptedCmp5             2236 non-null   int64  \n     19  AcceptedCmp1             2236 non-null   int64  \n     20  AcceptedCmp2             2236 non-null   int64  \n     21  Complain                 2236 non-null   int64  \n     22  Response                 2236 non-null   int64  \n     23  Age                      2236 non-null   int64  \n     24  Marital_Status_Divorced  2236 non-null   uint8  \n     25  Marital_Status_Married   2236 non-null   uint8  \n     26  Marital_Status_Single    2236 non-null   uint8  \n     27  Marital_Status_Together  2236 non-null   uint8  \n     28  Marital_Status_Widow     2236 non-null   uint8  \n    dtypes: float64(1), int64(23), uint8(5)\n    memory usage: 447.6 KB\n    \n\n---\n\n### Feature Selection by Random Forest\n\n\n```python\n# Using Random Forest to gain an insight on Feature Importance\nclf = RandomForestClassifier()\nclf.fit(Sample.drop('Response', axis=1), Sample['Response'])\n\nplt.style.use('seaborn-whitegrid')\nimportance = clf.feature_importances_\nimportance = pd.DataFrame(importance, index=Sample.drop('Response', axis=1).columns, columns=[\"Importance\"])\nimportance.sort_values(by='Importance', ascending=True).plot(kind='barh', figsize=(20,len(importance)/2));\n```\n\n\n    \n![png](images/output_59_0.png)\n    \n\n\n\n```python\n# Choosing Features (Keep 90% Importance ratio)\nfeature_nums = 18\nascend_import = importance.sort_values(by='Importance', ascending=False)\nall_info = ascend_import['Importance'].iloc[:feature_nums].sum()\nall_choose_features = list(ascend_import.iloc[:feature_nums].index)\n\nfor i in range(len(all_choose_features)):\n    if i%2==0:\n        print(all_choose_features[i]+'   ;   ', end=\"\")\n    else:\n        print(all_choose_features[i])\n\nprint('\\n\\nImportance Raio: ', all_info)\n```\n\n    Recency   ;   MntWines\n    Income   ;   MntMeatProducts\n    MntGoldProds   ;   Age\n    AcceptedCmp3   ;   MntSweetProducts\n    AcceptedCmp5   ;   MntFruits\n    MntFishProducts   ;   NumWebVisitsMonth\n    NumStorePurchases   ;   NumCatalogPurchases\n    NumWebPurchases   ;   NumDealsPurchases\n    AcceptedCmp1   ;   Education\n    \n    \n    Importance Raio:  0.9097738142686715\n    \n\n---\n\n### PCA Transformation\n\n\n```python\nfrom sklearn.decomposition import PCA\n# Calculating PCA for both datasets, and graphing the Variance for each feature, per dataset\nstd_scale = preprocessing.StandardScaler().fit(Sample.drop('Response', axis=1))\nX = std_scale.transform(Sample.drop('Response', axis=1))\n\npca1 = PCA(0.90, whiten=True) # Keep 90% information\nfit1 = pca1.fit(X)\n\n# Graphing the variance per feature\nplt.style.use('seaborn-whitegrid')\nplt.figure(figsize=(25,7)) \nplt.xlabel('PCA Feature')\nplt.ylabel('Variance')\nplt.title('PCA for Whole Dataset')\nplt.bar(range(0, fit1.explained_variance_ratio_.size), fit1.explained_variance_ratio_);\n\n# Get pca transformed data\npca_data = pca1.transform(X)\npca_data = np.array(pca_data)\nprint('PCA data shape: ', pca_data.shape)\n```\n\n    PCA data shape:  (2236, 19)\n    \n\n\n    \n![png](images/output_62_1.png)\n    \n\n\n\n```python\n# Stores performances of models\nperf_df_lst = [None, None, None] \n```\n\n\n```python\n# Data sourse encoding\n# 0 --\u003e Raw Data\n# 1 --\u003e Selected Features\n# 2 --\u003e PCA\n\n# Choose dataset\ndataset_num = 1\n\n# 0: Raw Data; 1: Feature Selection Data; 2: PCA Data\nall_datasets = [Sample.drop('Response', axis=1).values, Sample[all_choose_features].values, pca_data]\n\n# Choose data\nfinal_data = all_datasets[dataset_num]\n\n```\n\n---\n---\n\n## 4. Supervised Predictions\n\n### Preparing Data For Classification Models\n\n\n```python\n# Split the dataset\nfrom imblearn.over_sampling import SMOTE\nfrom collections import  Counter\n\nx_train = final_data[:2000]\ny_train = Sample['Response'].values[:2000]\nx_test = final_data[2000:]\ny_test = Sample['Response'].values[2000:]\n\nprint('Train: ', len(x_train))\nprint('Test: ',  len(x_test))\nprint('N/P Sample: ', Counter(y_train))\n\n# SMOTE Samples\nsm = SMOTE(random_state=2)\nx_train, y_train = sm.fit_resample(x_train, y_train.ravel())\n\nprint('Train: ', len(x_train))\nprint('Test: ',  len(x_test))\nprint('N/P Sample: ', Counter(y_train))\n\n# MCC scorer function\nmcc_scorer = make_scorer(matthews_corrcoef)\n```\n\n    Train:  2000\n    Test:  236\n    N/P Sample:  Counter({0: 1698, 1: 302})\n    Train:  3396\n    Test:  236\n    N/P Sample:  Counter({1: 1698, 0: 1698})\n    \n\n---\n\n### Logistic Regression\n\n\n```python\nLR = LogisticRegression()\n\n# K-Fold Validation\nkfold = 8\n\n# ACC Score\nLR_cv_results_acc = cross_val_score(LR, x_train, y_train, cv=kfold, scoring='accuracy')   \nmsg = \"%s k-fold ACC: %f (%f)\" % ('LR', LR_cv_results_acc.mean(), LR_cv_results_acc.std())\nprint(msg)\n\n# MCC Score\nLR_cv_results_mcc = cross_val_score(LR, x_train, y_train, cv=kfold, scoring=mcc_scorer)   \nmsg = \"%s k-fold MCC: %f (%f)\" % ('LR', LR_cv_results_mcc.mean(), LR_cv_results_mcc.std())\nprint(msg)\n```\n\n    C:\\Users\\D4Rk_C4K3\\anaconda3\\lib\\site-packages\\sklearn\\linear_model\\_logistic.py:763: ConvergenceWarning: lbfgs failed to converge (status=1):\n    STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n    \n    Increase the number of iterations (max_iter) or scale the data as shown in:\n        https://scikit-learn.org/stable/modules/preprocessing.html\n    Please also refer to the documentation for alternative solver options:\n        https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n      n_iter_i = _check_optimize_result(\n    C:\\Users\\D4Rk_C4K3\\anaconda3\\lib\\site-packages\\sklearn\\linear_model\\_logistic.py:763: ConvergenceWarning: lbfgs failed to converge (status=1):\n    STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n    \n    Increase the number of iterations (max_iter) or scale the data as shown in:\n        https://scikit-learn.org/stable/modules/preprocessing.html\n    Please also refer to the documentation for alternative solver options:\n        https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n      n_iter_i = _check_optimize_result(\n    C:\\Users\\D4Rk_C4K3\\anaconda3\\lib\\site-packages\\sklearn\\linear_model\\_logistic.py:763: ConvergenceWarning: lbfgs failed to converge (status=1):\n    STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n    \n    Increase the number of iterations (max_iter) or scale the data as shown in:\n        https://scikit-learn.org/stable/modules/preprocessing.html\n    Please also refer to the documentation for alternative solver options:\n        https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n      n_iter_i = _check_optimize_result(\n    C:\\Users\\D4Rk_C4K3\\anaconda3\\lib\\site-packages\\sklearn\\linear_model\\_logistic.py:763: ConvergenceWarning: lbfgs failed to converge (status=1):\n    STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n    \n    Increase the number of iterations (max_iter) or scale the data as shown in:\n        https://scikit-learn.org/stable/modules/preprocessing.html\n    Please also refer to the documentation for alternative solver options:\n        https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n      n_iter_i = _check_optimize_result(\n    C:\\Users\\D4Rk_C4K3\\anaconda3\\lib\\site-packages\\sklearn\\linear_model\\_logistic.py:763: ConvergenceWarning: lbfgs failed to converge (status=1):\n    STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n    \n    Increase the number of iterations (max_iter) or scale the data as shown in:\n        https://scikit-learn.org/stable/modules/preprocessing.html\n    Please also refer to the documentation for alternative solver options:\n        https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n      n_iter_i = _check_optimize_result(\n    C:\\Users\\D4Rk_C4K3\\anaconda3\\lib\\site-packages\\sklearn\\linear_model\\_logistic.py:763: ConvergenceWarning: lbfgs failed to converge (status=1):\n    STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n    \n    Increase the number of iterations (max_iter) or scale the data as shown in:\n        https://scikit-learn.org/stable/modules/preprocessing.html\n    Please also refer to the documentation for alternative solver options:\n        https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n      n_iter_i = _check_optimize_result(\n    C:\\Users\\D4Rk_C4K3\\anaconda3\\lib\\site-packages\\sklearn\\linear_model\\_logistic.py:763: ConvergenceWarning: lbfgs failed to converge (status=1):\n    STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n    \n    Increase the number of iterations (max_iter) or scale the data as shown in:\n        https://scikit-learn.org/stable/modules/preprocessing.html\n    Please also refer to the documentation for alternative solver options:\n        https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n      n_iter_i = _check_optimize_result(\n    C:\\Users\\D4Rk_C4K3\\anaconda3\\lib\\site-packages\\sklearn\\linear_model\\_logistic.py:763: ConvergenceWarning: lbfgs failed to converge (status=1):\n    STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n    \n    Increase the number of iterations (max_iter) or scale the data as shown in:\n        https://scikit-learn.org/stable/modules/preprocessing.html\n    Please also refer to the documentation for alternative solver options:\n        https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n      n_iter_i = _check_optimize_result(\n    C:\\Users\\D4Rk_C4K3\\anaconda3\\lib\\site-packages\\sklearn\\linear_model\\_logistic.py:763: ConvergenceWarning: lbfgs failed to converge (status=1):\n    STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n    \n    Increase the number of iterations (max_iter) or scale the data as shown in:\n        https://scikit-learn.org/stable/modules/preprocessing.html\n    Please also refer to the documentation for alternative solver options:\n        https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n      n_iter_i = _check_optimize_result(\n    C:\\Users\\D4Rk_C4K3\\anaconda3\\lib\\site-packages\\sklearn\\linear_model\\_logistic.py:763: ConvergenceWarning: lbfgs failed to converge (status=1):\n    STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n    \n    Increase the number of iterations (max_iter) or scale the data as shown in:\n        https://scikit-learn.org/stable/modules/preprocessing.html\n    Please also refer to the documentation for alternative solver options:\n        https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n      n_iter_i = _check_optimize_result(\n    \n\n    LR k-fold ACC: 0.750893 (0.017630)\n    \n\n    C:\\Users\\D4Rk_C4K3\\anaconda3\\lib\\site-packages\\sklearn\\linear_model\\_logistic.py:763: ConvergenceWarning: lbfgs failed to converge (status=1):\n    STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n    \n    Increase the number of iterations (max_iter) or scale the data as shown in:\n        https://scikit-learn.org/stable/modules/preprocessing.html\n    Please also refer to the documentation for alternative solver options:\n        https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n      n_iter_i = _check_optimize_result(\n    C:\\Users\\D4Rk_C4K3\\anaconda3\\lib\\site-packages\\sklearn\\linear_model\\_logistic.py:763: ConvergenceWarning: lbfgs failed to converge (status=1):\n    STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n    \n    Increase the number of iterations (max_iter) or scale the data as shown in:\n        https://scikit-learn.org/stable/modules/preprocessing.html\n    Please also refer to the documentation for alternative solver options:\n        https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n      n_iter_i = _check_optimize_result(\n    C:\\Users\\D4Rk_C4K3\\anaconda3\\lib\\site-packages\\sklearn\\linear_model\\_logistic.py:763: ConvergenceWarning: lbfgs failed to converge (status=1):\n    STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n    \n    Increase the number of iterations (max_iter) or scale the data as shown in:\n        https://scikit-learn.org/stable/modules/preprocessing.html\n    Please also refer to the documentation for alternative solver options:\n        https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n      n_iter_i = _check_optimize_result(\n    C:\\Users\\D4Rk_C4K3\\anaconda3\\lib\\site-packages\\sklearn\\linear_model\\_logistic.py:763: ConvergenceWarning: lbfgs failed to converge (status=1):\n    STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n    \n    Increase the number of iterations (max_iter) or scale the data as shown in:\n        https://scikit-learn.org/stable/modules/preprocessing.html\n    Please also refer to the documentation for alternative solver options:\n        https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n      n_iter_i = _check_optimize_result(\n    \n\n    LR k-fold MCC: 0.502319 (0.035211)\n    \n\n    C:\\Users\\D4Rk_C4K3\\anaconda3\\lib\\site-packages\\sklearn\\linear_model\\_logistic.py:763: ConvergenceWarning: lbfgs failed to converge (status=1):\n    STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n    \n    Increase the number of iterations (max_iter) or scale the data as shown in:\n        https://scikit-learn.org/stable/modules/preprocessing.html\n    Please also refer to the documentation for alternative solver options:\n        https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n      n_iter_i = _check_optimize_result(\n    C:\\Users\\D4Rk_C4K3\\anaconda3\\lib\\site-packages\\sklearn\\linear_model\\_logistic.py:763: ConvergenceWarning: lbfgs failed to converge (status=1):\n    STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n    \n    Increase the number of iterations (max_iter) or scale the data as shown in:\n        https://scikit-learn.org/stable/modules/preprocessing.html\n    Please also refer to the documentation for alternative solver options:\n        https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n      n_iter_i = _check_optimize_result(\n    \n\n\u003cp\u003e\u003cb\u003eOUTPUT\u003e\u003e\u003c/b\u003eLR k-fold ACC: 0.749420 (0.015291)\u003c/p\u003e\n\u003cp\u003e\u003cb\u003eOUTPUT\u003e\u003e\u003c/b\u003eLR k-fold MCC: 0.499386 (0.030593)\u003c/p\u003e\n\n---\n\n### Boosting Tree\n\n\n```python\n# Validation for Boosting Tree\nclf = AdaBoostClassifier(base_estimator=DecisionTreeClassifier(max_depth=2), n_estimators=160, random_state=1)  \n# ACC Score\nBT_cv_results_acc = cross_val_score(clf, x_train, y_train, cv=kfold, scoring='accuracy')   \nmsg = \"k-fold ACC: %f (%f)\" % (BT_cv_results_acc.mean(), BT_cv_results_acc.std())\nprint(msg)\n\n# MCC Score\nBT_cv_results_mcc = cross_val_score(clf, x_train, y_train, cv=kfold, scoring=mcc_scorer)   \nmsg = \"k-fold MCC: %f (%f)\" % (BT_cv_results_mcc.mean(), BT_cv_results_mcc.std())\nprint(msg)\n```\n\n    k-fold ACC: 0.903476 (0.098889)\n    k-fold MCC: 0.819825 (0.173745)\n    \n\n---\n\n### SVM\n\n\n```python\nSVM=svm.SVC(kernel = 'rbf', C = 10, gamma = 0.01)\n\n# ACC Score\nsvm_cv_results_acc = cross_val_score(SVM, x_train, y_train, cv=kfold, scoring='accuracy')   \nmsg = \"k-fold ACC: %f (%f)\" % (svm_cv_results_acc.mean(), svm_cv_results_acc.std())\nprint(msg)\n\n# MCC Score\nsvm_cv_results_mcc = cross_val_score(SVM, x_train, y_train, cv=kfold, scoring=mcc_scorer)   \nmsg = \"k-fold MCC: %f (%f)\" % (svm_cv_results_mcc.mean(), svm_cv_results_mcc.std())\nprint(msg)\n```\n\n    k-fold ACC: 0.802105 (0.023620)\n    k-fold MCC: 0.644576 (0.039894)\n    \n\n---\n\n### Neural Networks\n\n\n```python\n# import modules\nfrom keras import models\nfrom keras import layers\n\nx_nn = x_train\ny_nn = y_train\n```\n\n\n```python\n# Define the K-fold Cross Validator\nkfold_obj = KFold(n_splits=kfold, shuffle=True)\nepochs = 150\nbatch_size = 64\nacc_per_fold = []\nmcc_per_fold = []\n\n# K-fold Cross Validation model evaluation\nfold_no = 1\nfor train, test in kfold_obj.split(x_nn, y_nn):\n    \n    model = models.Sequential()\n    # Only use shallow Neural Network\n    model.add(layers.Dense(32, activation='relu'))\n    model.add(layers.Dense(1, activation='sigmoid'))\n    model.compile(optimizer='rmsprop', loss='binary_crossentropy', metrics=['accuracy'])\n\n    # Generate a print\n    print('------------------------------------------------------------------------')\n    print(f'Training for fold {fold_no} ...')\n    \n    # Fit data to model\n    history = model.fit(x_nn[train], y_nn[train].reshape(-1, 1),\n              batch_size=64,\n              epochs=100)\n\n    # Generate generalization metrics\n    predictions = model.predict(x_nn[test])\n    \n    for i in range(len(predictions)):\n        if predictions[i] \u003e=0.5:\n            predictions[i] = 1\n        else:\n            predictions[i] = 0\n            \n    acc_per_fold.append(accuracy_score(predictions, y_nn[test]))\n    mcc_per_fold.append(matthews_corrcoef(predictions, y_nn[test]))\n\n    # Increase fold number\n    fold_no = fold_no + 1\n\n```\n\n    ------------------------------------------------------------------------\n    Training for fold 1 ...\n    Epoch 1/100\n    47/47 [==============================] - 1s 1ms/step - loss: 14.7443 - accuracy: 0.5150\n    Epoch 2/100\n    47/47 [==============================] - 0s 1ms/step - loss: 5.0344 - accuracy: 0.5914\n    Epoch 3/100\n    47/47 [==============================] - 0s 1ms/step - loss: 3.0739 - accuracy: 0.6473\n    Epoch 4/100\n    47/47 [==============================] - 0s 1ms/step - loss: 2.2507 - accuracy: 0.6695\n    Epoch 5/100\n    47/47 [==============================] - 0s 1ms/step - loss: 1.8620 - accuracy: 0.6846\n    Epoch 6/100\n    47/47 [==============================] - 0s 1ms/step - loss: 1.5295 - accuracy: 0.6974\n    Epoch 7/100\n    47/47 [==============================] - 0s 2ms/step - loss: 1.5116 - accuracy: 0.6860\n    Epoch 8/100\n    47/47 [==============================] - 0s 1ms/step - loss: 1.3697 - accuracy: 0.7031\n    Epoch 9/100\n    47/47 [==============================] - 0s 1ms/step - loss: 1.2780 - accuracy: 0.7072\n    Epoch 10/100\n    47/47 [==============================] - 0s 1ms/step - loss: 1.2435 - accuracy: 0.7196\n    Epoch 11/100\n    47/47 [==============================] - 0s 1ms/step - loss: 1.1951 - accuracy: 0.7183\n    Epoch 12/100\n    47/47 [==============================] - 0s 1ms/step - loss: 1.1365 - accuracy: 0.7264\n    Epoch 13/100\n    47/47 [==============================] - 0s 1ms/step - loss: 1.1171 - accuracy: 0.7210\n    Epoch 14/100\n    47/47 [==============================] - 0s 1ms/step - loss: 1.1885 - accuracy: 0.7280\n    Epoch 15/100\n    47/47 [==============================] - 0s 1ms/step - loss: 1.1463 - accuracy: 0.7189\n    Epoch 16/100\n    47/47 [==============================] - 0s 1ms/step - loss: 1.0773 - accuracy: 0.7304\n    Epoch 17/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.9812 - accuracy: 0.7408\n    Epoch 18/100\n    47/47 [==============================] - 0s 999us/step - loss: 1.0379 - accuracy: 0.7341\n    Epoch 19/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.9865 - accuracy: 0.7513\n    Epoch 20/100\n    47/47 [==============================] - 0s 978us/step - loss: 0.9898 - accuracy: 0.7368\n    Epoch 21/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.9581 - accuracy: 0.7489\n    Epoch 22/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.9547 - accuracy: 0.7492\n    Epoch 23/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.9477 - accuracy: 0.7573\n    Epoch 24/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.9834 - accuracy: 0.7391\n    Epoch 25/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.9715 - accuracy: 0.7472\n    Epoch 26/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.9398 - accuracy: 0.7452\n    Epoch 27/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.8465 - accuracy: 0.7610\n    Epoch 28/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.9573 - accuracy: 0.7381\n    Epoch 29/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.8786 - accuracy: 0.7694\n    Epoch 30/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.8935 - accuracy: 0.7540\n    Epoch 31/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.8247 - accuracy: 0.7711\n    Epoch 32/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.8897 - accuracy: 0.7580\n    Epoch 33/100\n    47/47 [==============================] - 0s 978us/step - loss: 0.8743 - accuracy: 0.7556\n    Epoch 34/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.8854 - accuracy: 0.7529\n    Epoch 35/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.8520 - accuracy: 0.7684\n    Epoch 36/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.8483 - accuracy: 0.7604\n    Epoch 37/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.8179 - accuracy: 0.7765\n    Epoch 38/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.8731 - accuracy: 0.7688\n    Epoch 39/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.7984 - accuracy: 0.7698\n    Epoch 40/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.8754 - accuracy: 0.7614\n    Epoch 41/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.7177 - accuracy: 0.7876\n    Epoch 42/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.8563 - accuracy: 0.7600\n    Epoch 43/100\n    47/47 [==============================] - 0s 999us/step - loss: 0.8097 - accuracy: 0.7708\n    Epoch 44/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.7812 - accuracy: 0.7829\n    Epoch 45/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.8258 - accuracy: 0.7691\n    Epoch 46/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.8157 - accuracy: 0.7772\n    Epoch 47/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.7862 - accuracy: 0.7765\n    Epoch 48/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.8348 - accuracy: 0.7738\n    Epoch 49/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.7472 - accuracy: 0.7826\n    Epoch 50/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.7795 - accuracy: 0.7839\n    Epoch 51/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.7589 - accuracy: 0.7795\n    Epoch 52/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.7744 - accuracy: 0.7799\n    Epoch 53/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.7907 - accuracy: 0.7762\n    Epoch 54/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.7384 - accuracy: 0.7960\n    Epoch 55/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.7836 - accuracy: 0.7859\n    Epoch 56/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.7453 - accuracy: 0.7782\n    Epoch 57/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.7499 - accuracy: 0.7893\n    Epoch 58/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.7824 - accuracy: 0.7856\n    Epoch 59/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.7963 - accuracy: 0.7789\n    Epoch 60/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.7697 - accuracy: 0.7856\n    Epoch 61/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.7260 - accuracy: 0.7896\n    Epoch 62/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.7739 - accuracy: 0.7883\n    Epoch 63/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6969 - accuracy: 0.7886\n    Epoch 64/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.7688 - accuracy: 0.7805\n    Epoch 65/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.7668 - accuracy: 0.7846\n    Epoch 66/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.7163 - accuracy: 0.7910\n    Epoch 67/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.7695 - accuracy: 0.7822\n    Epoch 68/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.7634 - accuracy: 0.7819\n    Epoch 69/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6730 - accuracy: 0.8011\n    Epoch 70/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.7333 - accuracy: 0.7923\n    Epoch 71/100\n    47/47 [==============================] - 0s 2ms/step - loss: 0.7284 - accuracy: 0.7954\n    Epoch 72/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.7717 - accuracy: 0.7859\n    Epoch 73/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.7246 - accuracy: 0.8004\n    Epoch 74/100\n    47/47 [==============================] - 0s 2ms/step - loss: 0.7051 - accuracy: 0.8021\n    Epoch 75/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.7574 - accuracy: 0.7900\n    Epoch 76/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.7083 - accuracy: 0.7991\n    Epoch 77/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.7286 - accuracy: 0.8014\n    Epoch 78/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6732 - accuracy: 0.8034\n    Epoch 79/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6969 - accuracy: 0.8075\n    Epoch 80/100\n    47/47 [==============================] - 0s 2ms/step - loss: 0.7141 - accuracy: 0.7997\n    Epoch 81/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6954 - accuracy: 0.8075\n    Epoch 82/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.7570 - accuracy: 0.7923\n    Epoch 83/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6240 - accuracy: 0.8078\n    Epoch 84/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.7433 - accuracy: 0.8095\n    Epoch 85/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.7100 - accuracy: 0.8021\n    Epoch 86/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6757 - accuracy: 0.8061\n    Epoch 87/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.7369 - accuracy: 0.7984\n    Epoch 88/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6973 - accuracy: 0.8018\n    Epoch 89/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6682 - accuracy: 0.8075\n    Epoch 90/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6953 - accuracy: 0.8092\n    Epoch 91/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6747 - accuracy: 0.8129\n    Epoch 92/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6476 - accuracy: 0.8112\n    Epoch 93/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6639 - accuracy: 0.8102\n    Epoch 94/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.7606 - accuracy: 0.7883\n    Epoch 95/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6458 - accuracy: 0.8031\n    Epoch 96/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6512 - accuracy: 0.8055\n    Epoch 97/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6951 - accuracy: 0.8125\n    Epoch 98/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6170 - accuracy: 0.8162\n    Epoch 99/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6618 - accuracy: 0.8189\n    Epoch 100/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6749 - accuracy: 0.8018\n    ------------------------------------------------------------------------\n    Training for fold 2 ...\n    Epoch 1/100\n    47/47 [==============================] - 1s 978us/step - loss: 4.3806 - accuracy: 0.5540\n    Epoch 2/100\n    47/47 [==============================] - 0s 956us/step - loss: 2.1046 - accuracy: 0.6318\n    Epoch 3/100\n    47/47 [==============================] - 0s 1ms/step - loss: 1.4318 - accuracy: 0.6479\n    Epoch 4/100\n    47/47 [==============================] - 0s 1ms/step - loss: 1.1510 - accuracy: 0.6624\n    Epoch 5/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.9356 - accuracy: 0.6839\n    Epoch 6/100\n    47/47 [==============================] - 0s 999us/step - loss: 0.9172 - accuracy: 0.6951\n    Epoch 7/100\n    47/47 [==============================] - 0s 999us/step - loss: 0.8125 - accuracy: 0.7062\n    Epoch 8/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.7715 - accuracy: 0.7223\n    Epoch 9/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.7082 - accuracy: 0.7280\n    Epoch 10/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6704 - accuracy: 0.7334\n    Epoch 11/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6859 - accuracy: 0.7385\n    Epoch 12/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6281 - accuracy: 0.7395\n    Epoch 13/100\n    47/47 [==============================] - ETA: 0s - loss: 0.6104 - accuracy: 0.75 - 0s 1ms/step - loss: 0.6137 - accuracy: 0.7556\n    Epoch 14/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5945 - accuracy: 0.7540\n    Epoch 15/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5890 - accuracy: 0.7694\n    Epoch 16/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6035 - accuracy: 0.7684\n    Epoch 17/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5805 - accuracy: 0.7684\n    Epoch 18/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5599 - accuracy: 0.7752\n    Epoch 19/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5796 - accuracy: 0.7644\n    Epoch 20/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5541 - accuracy: 0.7785\n    Epoch 21/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5578 - accuracy: 0.7809\n    Epoch 22/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5530 - accuracy: 0.7782\n    Epoch 23/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5274 - accuracy: 0.7856\n    Epoch 24/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5028 - accuracy: 0.7906\n    Epoch 25/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5357 - accuracy: 0.7893\n    Epoch 26/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5084 - accuracy: 0.7977\n    Epoch 27/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5311 - accuracy: 0.7883\n    Epoch 28/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5142 - accuracy: 0.8011\n    Epoch 29/100\n    47/47 [==============================] - 0s 934us/step - loss: 0.5258 - accuracy: 0.7964\n    Epoch 30/100\n    47/47 [==============================] - 0s 913us/step - loss: 0.5024 - accuracy: 0.7970\n    Epoch 31/100\n    47/47 [==============================] - 0s 999us/step - loss: 0.4893 - accuracy: 0.8034\n    Epoch 32/100\n    47/47 [==============================] - 0s 956us/step - loss: 0.4985 - accuracy: 0.8014\n    Epoch 33/100\n    47/47 [==============================] - 0s 956us/step - loss: 0.5052 - accuracy: 0.7893\n    Epoch 34/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4715 - accuracy: 0.8068\n    Epoch 35/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4602 - accuracy: 0.8135\n    Epoch 36/100\n    47/47 [==============================] - 0s 934us/step - loss: 0.5203 - accuracy: 0.8004\n    Epoch 37/100\n    47/47 [==============================] - 0s 999us/step - loss: 0.5298 - accuracy: 0.8007\n    Epoch 38/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4733 - accuracy: 0.8075\n    Epoch 39/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4757 - accuracy: 0.8092\n    Epoch 40/100\n    47/47 [==============================] - 0s 978us/step - loss: 0.4918 - accuracy: 0.8105\n    Epoch 41/100\n    47/47 [==============================] - 0s 978us/step - loss: 0.4490 - accuracy: 0.8182\n    Epoch 42/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4816 - accuracy: 0.8095\n    Epoch 43/100\n    47/47 [==============================] - 0s 978us/step - loss: 0.4687 - accuracy: 0.8199\n    Epoch 44/100\n    47/47 [==============================] - 0s 912us/step - loss: 0.5016 - accuracy: 0.8048\n    Epoch 45/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4398 - accuracy: 0.8236\n    Epoch 46/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4694 - accuracy: 0.8092\n    Epoch 47/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4966 - accuracy: 0.8004\n    Epoch 48/100\n    47/47 [==============================] - 0s 978us/step - loss: 0.4511 - accuracy: 0.8230\n    Epoch 49/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4907 - accuracy: 0.8142\n    Epoch 50/100\n    47/47 [==============================] - 0s 978us/step - loss: 0.4565 - accuracy: 0.8152\n    Epoch 51/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4746 - accuracy: 0.8182\n    Epoch 52/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4593 - accuracy: 0.8176\n    Epoch 53/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4497 - accuracy: 0.8270\n    Epoch 54/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4462 - accuracy: 0.8250\n    Epoch 55/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4431 - accuracy: 0.8246\n    Epoch 56/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4476 - accuracy: 0.8216\n    Epoch 57/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4246 - accuracy: 0.8189\n    Epoch 58/100\n    47/47 [==============================] - 0s 934us/step - loss: 0.4275 - accuracy: 0.8314\n    Epoch 59/100\n    47/47 [==============================] - 0s 956us/step - loss: 0.4543 - accuracy: 0.8240\n    Epoch 60/100\n    47/47 [==============================] - 0s 999us/step - loss: 0.4713 - accuracy: 0.8061\n    Epoch 61/100\n    47/47 [==============================] - 0s 956us/step - loss: 0.4487 - accuracy: 0.8294\n    Epoch 62/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4507 - accuracy: 0.8182\n    Epoch 63/100\n    47/47 [==============================] - 0s 999us/step - loss: 0.4336 - accuracy: 0.8223\n    Epoch 64/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4404 - accuracy: 0.8216\n    Epoch 65/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4347 - accuracy: 0.8230\n    Epoch 66/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4416 - accuracy: 0.8246\n    Epoch 67/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4514 - accuracy: 0.8216\n    Epoch 68/100\n    47/47 [==============================] - 0s 999us/step - loss: 0.4281 - accuracy: 0.8314\n    Epoch 69/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4531 - accuracy: 0.8223\n    Epoch 70/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4152 - accuracy: 0.8324\n    Epoch 71/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4336 - accuracy: 0.8324\n    Epoch 72/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4387 - accuracy: 0.8327\n    Epoch 73/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4531 - accuracy: 0.8263\n    Epoch 74/100\n    47/47 [==============================] - 0s 956us/step - loss: 0.4300 - accuracy: 0.8371\n    Epoch 75/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4156 - accuracy: 0.8337\n    Epoch 76/100\n    47/47 [==============================] - 0s 978us/step - loss: 0.4268 - accuracy: 0.8324\n    Epoch 77/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4462 - accuracy: 0.8223\n    Epoch 78/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4412 - accuracy: 0.8243\n    Epoch 79/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4042 - accuracy: 0.8442\n    Epoch 80/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4363 - accuracy: 0.8294\n    Epoch 81/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4279 - accuracy: 0.8277\n    Epoch 82/100\n    47/47 [==============================] - 0s 934us/step - loss: 0.4178 - accuracy: 0.8485\n    Epoch 83/100\n    47/47 [==============================] - 0s 1000us/step - loss: 0.4161 - accuracy: 0.8337\n    Epoch 84/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4493 - accuracy: 0.8304\n    Epoch 85/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4169 - accuracy: 0.8260\n    Epoch 86/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4083 - accuracy: 0.8421\n    Epoch 87/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4303 - accuracy: 0.8458\n    Epoch 88/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4408 - accuracy: 0.8320\n    Epoch 89/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4176 - accuracy: 0.8384\n    Epoch 90/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.3922 - accuracy: 0.8469\n    Epoch 91/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4155 - accuracy: 0.8428\n    Epoch 92/100\n    47/47 [==============================] - 0s 2ms/step - loss: 0.4061 - accuracy: 0.8388\n    Epoch 93/100\n    47/47 [==============================] - 0s 2ms/step - loss: 0.4195 - accuracy: 0.8445\n    Epoch 94/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4073 - accuracy: 0.8435\n    Epoch 95/100\n    47/47 [==============================] - 0s 2ms/step - loss: 0.4115 - accuracy: 0.8398\n    Epoch 96/100\n    47/47 [==============================] - 0s 2ms/step - loss: 0.4461 - accuracy: 0.8280\n    Epoch 97/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4135 - accuracy: 0.8371\n    Epoch 98/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4219 - accuracy: 0.8411\n    Epoch 99/100\n    47/47 [==============================] - 0s 2ms/step - loss: 0.4153 - accuracy: 0.8374\n    Epoch 100/100\n    47/47 [==============================] - 0s 2ms/step - loss: 0.4134 - accuracy: 0.8374\n    ------------------------------------------------------------------------\n    Training for fold 3 ...\n    Epoch 1/100\n    47/47 [==============================] - 1s 1ms/step - loss: 5.8383 - accuracy: 0.5523\n    Epoch 2/100\n    47/47 [==============================] - 0s 1ms/step - loss: 2.3424 - accuracy: 0.6341\n    Epoch 3/100\n    47/47 [==============================] - 0s 1ms/step - loss: 1.5177 - accuracy: 0.6459\n    Epoch 4/100\n    47/47 [==============================] - 0s 1ms/step - loss: 1.2274 - accuracy: 0.6590\n    Epoch 5/100\n    47/47 [==============================] - 0s 978us/step - loss: 1.1577 - accuracy: 0.6819\n    Epoch 6/100\n    47/47 [==============================] - 0s 1ms/step - loss: 1.0207 - accuracy: 0.6967\n    Epoch 7/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.9979 - accuracy: 0.6998\n    Epoch 8/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.9120 - accuracy: 0.7126\n    Epoch 9/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.8612 - accuracy: 0.7189\n    Epoch 10/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.8473 - accuracy: 0.7264\n    Epoch 11/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.8195 - accuracy: 0.7317\n    Epoch 12/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.8001 - accuracy: 0.7375\n    Epoch 13/100\n    47/47 [==============================] - 0s 956us/step - loss: 0.7797 - accuracy: 0.7378\n    Epoch 14/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.7295 - accuracy: 0.7395\n    Epoch 15/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.7197 - accuracy: 0.7546\n    Epoch 16/100\n    47/47 [==============================] - 0s 956us/step - loss: 0.7227 - accuracy: 0.7492\n    Epoch 17/100\n    47/47 [==============================] - 0s 934us/step - loss: 0.6953 - accuracy: 0.7550\n    Epoch 18/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6662 - accuracy: 0.7550\n    Epoch 19/100\n    47/47 [==============================] - 0s 2ms/step - loss: 0.6877 - accuracy: 0.7580\n    Epoch 20/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6857 - accuracy: 0.7476\n    Epoch 21/100\n    47/47 [==============================] - 0s 999us/step - loss: 0.6706 - accuracy: 0.7536\n    Epoch 22/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6530 - accuracy: 0.7583\n    Epoch 23/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6461 - accuracy: 0.7728\n    Epoch 24/100\n    47/47 [==============================] - 0s 999us/step - loss: 0.6464 - accuracy: 0.7597\n    Epoch 25/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6301 - accuracy: 0.7624\n    Epoch 26/100\n    47/47 [==============================] - 0s 2ms/step - loss: 0.6630 - accuracy: 0.7725\n    Epoch 27/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5932 - accuracy: 0.7785\n    Epoch 28/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6081 - accuracy: 0.7728\n    Epoch 29/100\n    47/47 [==============================] - 0s 999us/step - loss: 0.6017 - accuracy: 0.7738\n    Epoch 30/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6124 - accuracy: 0.7779\n    Epoch 31/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5681 - accuracy: 0.7937\n    Epoch 32/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6062 - accuracy: 0.7795\n    Epoch 33/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5817 - accuracy: 0.7816\n    Epoch 34/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5675 - accuracy: 0.7890\n    Epoch 35/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6193 - accuracy: 0.7839\n    Epoch 36/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5758 - accuracy: 0.7768\n    Epoch 37/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5754 - accuracy: 0.7802\n    Epoch 38/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5666 - accuracy: 0.7913\n    Epoch 39/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5717 - accuracy: 0.7906\n    Epoch 40/100\n    47/47 [==============================] - 0s 978us/step - loss: 0.5687 - accuracy: 0.7863\n    Epoch 41/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5666 - accuracy: 0.7893\n    Epoch 42/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5683 - accuracy: 0.7960\n    Epoch 43/100\n    47/47 [==============================] - 0s 913us/step - loss: 0.5641 - accuracy: 0.7933\n    Epoch 44/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5439 - accuracy: 0.8004\n    Epoch 45/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5920 - accuracy: 0.7863\n    Epoch 46/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5629 - accuracy: 0.7970\n    Epoch 47/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5574 - accuracy: 0.7980\n    Epoch 48/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5629 - accuracy: 0.7859\n    Epoch 49/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5459 - accuracy: 0.7994\n    Epoch 50/100\n    47/47 [==============================] - 0s 999us/step - loss: 0.5325 - accuracy: 0.8024\n    Epoch 51/100\n    47/47 [==============================] - 0s 913us/step - loss: 0.5386 - accuracy: 0.7991\n    Epoch 52/100\n    47/47 [==============================] - 0s 934us/step - loss: 0.5201 - accuracy: 0.8007\n    Epoch 53/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5178 - accuracy: 0.8034\n    Epoch 54/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5127 - accuracy: 0.8139\n    Epoch 55/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5472 - accuracy: 0.7933\n    Epoch 56/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5420 - accuracy: 0.7994\n    Epoch 57/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4740 - accuracy: 0.8159\n    Epoch 58/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5826 - accuracy: 0.8001\n    Epoch 59/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5207 - accuracy: 0.8044\n    Epoch 60/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5429 - accuracy: 0.8081\n    Epoch 61/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5102 - accuracy: 0.8102\n    Epoch 62/100\n    47/47 [==============================] - 0s 956us/step - loss: 0.5331 - accuracy: 0.8159\n    Epoch 63/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5056 - accuracy: 0.8152\n    Epoch 64/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5256 - accuracy: 0.8001\n    Epoch 65/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4929 - accuracy: 0.8095\n    Epoch 66/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5587 - accuracy: 0.7980\n    Epoch 67/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4815 - accuracy: 0.8172\n    Epoch 68/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5136 - accuracy: 0.8095\n    Epoch 69/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5189 - accuracy: 0.8145\n    Epoch 70/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5016 - accuracy: 0.8166\n    Epoch 71/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5018 - accuracy: 0.8176\n    Epoch 72/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5048 - accuracy: 0.8115\n    Epoch 73/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5167 - accuracy: 0.8115\n    Epoch 74/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5097 - accuracy: 0.8092\n    Epoch 75/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5022 - accuracy: 0.8152\n    Epoch 76/100\n    47/47 [==============================] - 0s 978us/step - loss: 0.4904 - accuracy: 0.8156\n    Epoch 77/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4918 - accuracy: 0.8125\n    Epoch 78/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4868 - accuracy: 0.8206\n    Epoch 79/100\n    47/47 [==============================] - 0s 999us/step - loss: 0.4981 - accuracy: 0.8176\n    Epoch 80/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5056 - accuracy: 0.8085\n    Epoch 81/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5025 - accuracy: 0.8108\n    Epoch 82/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5274 - accuracy: 0.8034\n    Epoch 83/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4852 - accuracy: 0.8166\n    Epoch 84/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4675 - accuracy: 0.8297\n    Epoch 85/100\n    47/47 [==============================] - 0s 978us/step - loss: 0.4943 - accuracy: 0.8156\n    Epoch 86/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4828 - accuracy: 0.8270\n    Epoch 87/100\n    47/47 [==============================] - 0s 999us/step - loss: 0.4784 - accuracy: 0.8169\n    Epoch 88/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4886 - accuracy: 0.8125\n    Epoch 89/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4946 - accuracy: 0.8162\n    Epoch 90/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4954 - accuracy: 0.8118\n    Epoch 91/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4670 - accuracy: 0.8219\n    Epoch 92/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5127 - accuracy: 0.8129\n    Epoch 93/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4565 - accuracy: 0.8206\n    Epoch 94/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4783 - accuracy: 0.8236\n    Epoch 95/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4732 - accuracy: 0.8156\n    Epoch 96/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4910 - accuracy: 0.8078\n    Epoch 97/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4649 - accuracy: 0.8256\n    Epoch 98/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4720 - accuracy: 0.8145\n    Epoch 99/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4894 - accuracy: 0.8216\n    Epoch 100/100\n    47/47 [==============================] - 0s 999us/step - loss: 0.4861 - accuracy: 0.8253\n    ------------------------------------------------------------------------\n    Training for fold 4 ...\n    Epoch 1/100\n    47/47 [==============================] - 1s 1ms/step - loss: 7.6412 - accuracy: 0.5510\n    Epoch 2/100\n    47/47 [==============================] - 0s 999us/step - loss: 3.3996 - accuracy: 0.6109\n    Epoch 3/100\n    47/47 [==============================] - 0s 1ms/step - loss: 1.9571 - accuracy: 0.6452\n    Epoch 4/100\n    47/47 [==============================] - 0s 999us/step - loss: 1.4268 - accuracy: 0.6701\n    Epoch 5/100\n    47/47 [==============================] - 0s 1ms/step - loss: 1.2891 - accuracy: 0.6769\n    Epoch 6/100\n    47/47 [==============================] - 0s 999us/step - loss: 1.0999 - accuracy: 0.7028\n    Epoch 7/100\n    47/47 [==============================] - 0s 1ms/step - loss: 1.0694 - accuracy: 0.7011\n    Epoch 8/100\n    47/47 [==============================] - 0s 1ms/step - loss: 1.0431 - accuracy: 0.7018\n    Epoch 9/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.9327 - accuracy: 0.7210\n    Epoch 10/100\n    47/47 [==============================] - 0s 2ms/step - loss: 0.9099 - accuracy: 0.7227\n    Epoch 11/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.8939 - accuracy: 0.7301\n    Epoch 12/100\n    47/47 [==============================] - 0s 999us/step - loss: 0.8222 - accuracy: 0.7425\n    Epoch 13/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.8229 - accuracy: 0.7459\n    Epoch 14/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.8119 - accuracy: 0.7459\n    Epoch 15/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.7969 - accuracy: 0.7402\n    Epoch 16/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.7958 - accuracy: 0.7415\n    Epoch 17/100\n    47/47 [==============================] - 0s 956us/step - loss: 0.7861 - accuracy: 0.7536\n    Epoch 18/100\n    47/47 [==============================] - 0s 956us/step - loss: 0.7550 - accuracy: 0.7486\n    Epoch 19/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.7156 - accuracy: 0.7600\n    Epoch 20/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.7406 - accuracy: 0.7614\n    Epoch 21/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.7234 - accuracy: 0.7553: 0s - loss: 0.7234 - accuracy: 0.75\n    Epoch 22/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6955 - accuracy: 0.7664\n    Epoch 23/100\n    47/47 [==============================] - 0s 934us/step - loss: 0.6972 - accuracy: 0.7627\n    Epoch 24/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6867 - accuracy: 0.7607\n    Epoch 25/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6878 - accuracy: 0.7617\n    Epoch 26/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.7157 - accuracy: 0.7634\n    Epoch 27/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6141 - accuracy: 0.7802\n    Epoch 28/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6980 - accuracy: 0.7691\n    Epoch 29/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6341 - accuracy: 0.7657\n    Epoch 30/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6411 - accuracy: 0.7853\n    Epoch 31/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6674 - accuracy: 0.7718\n    Epoch 32/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.7129 - accuracy: 0.7641\n    Epoch 33/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6139 - accuracy: 0.7802\n    Epoch 34/100\n    47/47 [==============================] - 0s 934us/step - loss: 0.6420 - accuracy: 0.7832\n    Epoch 35/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6637 - accuracy: 0.7728\n    Epoch 36/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6152 - accuracy: 0.7910\n    Epoch 37/100\n    47/47 [==============================] - 0s 999us/step - loss: 0.6614 - accuracy: 0.7718\n    Epoch 38/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6555 - accuracy: 0.7802\n    Epoch 39/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5914 - accuracy: 0.7812\n    Epoch 40/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6543 - accuracy: 0.7758\n    Epoch 41/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6284 - accuracy: 0.7832\n    Epoch 42/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6382 - accuracy: 0.7799\n    Epoch 43/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6135 - accuracy: 0.7822\n    Epoch 44/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6137 - accuracy: 0.7839\n    Epoch 45/100\n    47/47 [==============================] - 0s 934us/step - loss: 0.5912 - accuracy: 0.7930\n    Epoch 46/100\n    47/47 [==============================] - 0s 999us/step - loss: 0.6350 - accuracy: 0.7795\n    Epoch 47/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6426 - accuracy: 0.7789\n    Epoch 48/100\n    47/47 [==============================] - 0s 978us/step - loss: 0.5363 - accuracy: 0.8065\n    Epoch 49/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6796 - accuracy: 0.7742\n    Epoch 50/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6126 - accuracy: 0.7842\n    Epoch 51/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5876 - accuracy: 0.7906\n    Epoch 52/100\n    47/47 [==============================] - 0s 912us/step - loss: 0.6208 - accuracy: 0.7829\n    Epoch 53/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5663 - accuracy: 0.7943\n    Epoch 54/100\n    47/47 [==============================] - 0s 978us/step - loss: 0.5642 - accuracy: 0.8065\n    Epoch 55/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5562 - accuracy: 0.8034\n    Epoch 56/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5752 - accuracy: 0.8028\n    Epoch 57/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5654 - accuracy: 0.7974\n    Epoch 58/100\n    47/47 [==============================] - 0s 978us/step - loss: 0.6252 - accuracy: 0.7974\n    Epoch 59/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5547 - accuracy: 0.8001\n    Epoch 60/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6113 - accuracy: 0.7900\n    Epoch 61/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5885 - accuracy: 0.7933\n    Epoch 62/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5439 - accuracy: 0.8105\n    Epoch 63/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5594 - accuracy: 0.8085\n    Epoch 64/100\n    47/47 [==============================] - 0s 978us/step - loss: 0.5796 - accuracy: 0.8001\n    Epoch 65/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5992 - accuracy: 0.8004\n    Epoch 66/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5658 - accuracy: 0.7980\n    Epoch 67/100\n    47/47 [==============================] - 0s 999us/step - loss: 0.5938 - accuracy: 0.7947\n    Epoch 68/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5602 - accuracy: 0.8038\n    Epoch 69/100\n    47/47 [==============================] - 0s 999us/step - loss: 0.5690 - accuracy: 0.7984\n    Epoch 70/100\n    47/47 [==============================] - 0s 999us/step - loss: 0.5394 - accuracy: 0.8028\n    Epoch 71/100\n    47/47 [==============================] - 0s 934us/step - loss: 0.5976 - accuracy: 0.8024\n    Epoch 72/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5601 - accuracy: 0.8065\n    Epoch 73/100\n    47/47 [==============================] - 0s 999us/step - loss: 0.5598 - accuracy: 0.8034\n    Epoch 74/100\n    47/47 [==============================] - 0s 934us/step - loss: 0.5803 - accuracy: 0.8092\n    Epoch 75/100\n    47/47 [==============================] - 0s 999us/step - loss: 0.5403 - accuracy: 0.8189\n    Epoch 76/100\n    47/47 [==============================] - 0s 956us/step - loss: 0.5764 - accuracy: 0.8014\n    Epoch 77/100\n    47/47 [==============================] - 0s 978us/step - loss: 0.5279 - accuracy: 0.8122\n    Epoch 78/100\n    47/47 [==============================] - 0s 956us/step - loss: 0.5179 - accuracy: 0.8156\n    Epoch 79/100\n    47/47 [==============================] - 0s 999us/step - loss: 0.5650 - accuracy: 0.8034\n    Epoch 80/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5283 - accuracy: 0.8149\n    Epoch 81/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5628 - accuracy: 0.8048\n    Epoch 82/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5347 - accuracy: 0.8149\n    Epoch 83/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5798 - accuracy: 0.8007\n    Epoch 84/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5245 - accuracy: 0.8162\n    Epoch 85/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5400 - accuracy: 0.8145\n    Epoch 86/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5434 - accuracy: 0.8139\n    Epoch 87/100\n    47/47 [==============================] - 0s 934us/step - loss: 0.5230 - accuracy: 0.8145\n    Epoch 88/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5322 - accuracy: 0.8152\n    Epoch 89/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5290 - accuracy: 0.8216\n    Epoch 90/100\n    47/47 [==============================] - 0s 999us/step - loss: 0.5526 - accuracy: 0.8108\n    Epoch 91/100\n    47/47 [==============================] - 0s 934us/step - loss: 0.5760 - accuracy: 0.8092\n    Epoch 92/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5270 - accuracy: 0.8135\n    Epoch 93/100\n    47/47 [==============================] - 0s 913us/step - loss: 0.5271 - accuracy: 0.8199\n    Epoch 94/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5064 - accuracy: 0.8182\n    Epoch 95/100\n    47/47 [==============================] - 0s 978us/step - loss: 0.5598 - accuracy: 0.8095\n    Epoch 96/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5615 - accuracy: 0.8081\n    Epoch 97/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5005 - accuracy: 0.8139\n    Epoch 98/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5045 - accuracy: 0.8236\n    Epoch 99/100\n    47/47 [==============================] - 0s 934us/step - loss: 0.4957 - accuracy: 0.8294\n    Epoch 100/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5254 - accuracy: 0.8179\n    ------------------------------------------------------------------------\n    Training for fold 5 ...\n    Epoch 1/100\n    47/47 [==============================] - 1s 978us/step - loss: 14.9073 - accuracy: 0.4095\n    Epoch 2/100\n    47/47 [==============================] - 0s 1ms/step - loss: 3.8147 - accuracy: 0.4990\n    Epoch 3/100\n    47/47 [==============================] - 0s 1ms/step - loss: 2.0952 - accuracy: 0.5511\n    Epoch 4/100\n    47/47 [==============================] - 0s 1ms/step - loss: 1.4645 - accuracy: 0.6036\n    Epoch 5/100\n    47/47 [==============================] - 0s 1ms/step - loss: 1.2158 - accuracy: 0.6423\n    Epoch 6/100\n    47/47 [==============================] - 0s 1ms/step - loss: 1.0493 - accuracy: 0.6669\n    Epoch 7/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.9792 - accuracy: 0.6817\n    Epoch 8/100\n    47/47 [==============================] - 0s 934us/step - loss: 0.8948 - accuracy: 0.6962\n    Epoch 9/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.8687 - accuracy: 0.7046\n    Epoch 10/100\n    47/47 [==============================] - 0s 956us/step - loss: 0.8181 - accuracy: 0.7201\n    Epoch 11/100\n    47/47 [==============================] - 0s 999us/step - loss: 0.7998 - accuracy: 0.7295\n    Epoch 12/100\n    47/47 [==============================] - 0s 956us/step - loss: 0.8257 - accuracy: 0.7184\n    Epoch 13/100\n    47/47 [==============================] - 0s 999us/step - loss: 0.7834 - accuracy: 0.7332\n    Epoch 14/100\n    47/47 [==============================] - 0s 934us/step - loss: 0.7753 - accuracy: 0.7325\n    Epoch 15/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.7064 - accuracy: 0.7470\n    Epoch 16/100\n    47/47 [==============================] - 0s 934us/step - loss: 0.8075 - accuracy: 0.7318\n    Epoch 17/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.7270 - accuracy: 0.7483\n    Epoch 18/100\n    47/47 [==============================] - 0s 934us/step - loss: 0.7297 - accuracy: 0.7527\n    Epoch 19/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6969 - accuracy: 0.7453\n    Epoch 20/100\n    47/47 [==============================] - 0s 999us/step - loss: 0.7207 - accuracy: 0.7513\n    Epoch 21/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6533 - accuracy: 0.7651\n    Epoch 22/100\n    47/47 [==============================] - 0s 913us/step - loss: 0.7033 - accuracy: 0.7645\n    Epoch 23/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6993 - accuracy: 0.7571\n    Epoch 24/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.7054 - accuracy: 0.7608\n    Epoch 25/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6307 - accuracy: 0.7695\n    Epoch 26/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6609 - accuracy: 0.7688\n    Epoch 27/100\n    47/47 [==============================] - 0s 978us/step - loss: 0.6256 - accuracy: 0.7746\n    Epoch 28/100\n    47/47 [==============================] - 0s 978us/step - loss: 0.6557 - accuracy: 0.7719\n    Epoch 29/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6510 - accuracy: 0.7769\n    Epoch 30/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6841 - accuracy: 0.7688\n    Epoch 31/100\n    47/47 [==============================] - 0s 913us/step - loss: 0.6115 - accuracy: 0.7742\n    Epoch 32/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6445 - accuracy: 0.7705\n    Epoch 33/100\n    47/47 [==============================] - 0s 956us/step - loss: 0.5861 - accuracy: 0.7900\n    Epoch 34/100\n    47/47 [==============================] - ETA: 0s - loss: 0.5856 - accuracy: 0.81 - 0s 1ms/step - loss: 0.6471 - accuracy: 0.7789\n    Epoch 35/100\n    47/47 [==============================] - 0s 978us/step - loss: 0.6367 - accuracy: 0.7732\n    Epoch 36/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6419 - accuracy: 0.7766\n    Epoch 37/100\n    47/47 [==============================] - 0s 934us/step - loss: 0.5980 - accuracy: 0.7921\n    Epoch 38/100\n    47/47 [==============================] - 0s 999us/step - loss: 0.6136 - accuracy: 0.7867\n    Epoch 39/100\n    47/47 [==============================] - 0s 978us/step - loss: 0.5909 - accuracy: 0.7857\n    Epoch 40/100\n    47/47 [==============================] - 0s 913us/step - loss: 0.5844 - accuracy: 0.7988\n    Epoch 41/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6201 - accuracy: 0.7900\n    Epoch 42/100\n    47/47 [==============================] - 0s 2ms/step - loss: 0.5940 - accuracy: 0.7803\n    Epoch 43/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.6070 - accuracy: 0.7884\n    Epoch 44/100\n    47/47 [==============================] - 0s 2ms/step - loss: 0.5597 - accuracy: 0.8008\n    Epoch 45/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5993 - accuracy: 0.7904\n    Epoch 46/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5479 - accuracy: 0.8059\n    Epoch 47/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5335 - accuracy: 0.7985\n    Epoch 48/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5805 - accuracy: 0.7988\n    Epoch 49/100\n    47/47 [==============================] - 0s 2ms/step - loss: 0.5519 - accuracy: 0.7981\n    Epoch 50/100\n    47/47 [==============================] - 0s 2ms/step - loss: 0.6055 - accuracy: 0.7998\n    Epoch 51/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5494 - accuracy: 0.7978\n    Epoch 52/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5600 - accuracy: 0.7974\n    Epoch 53/100\n    47/47 [==============================] - 0s 2ms/step - loss: 0.5329 - accuracy: 0.8122\n    Epoch 54/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5465 - accuracy: 0.8038\n    Epoch 55/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5619 - accuracy: 0.8045\n    Epoch 56/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5365 - accuracy: 0.8102\n    Epoch 57/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5848 - accuracy: 0.7964\n    Epoch 58/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5489 - accuracy: 0.8092\n    Epoch 59/100\n    47/47 [==============================] - 0s 2ms/step - loss: 0.5119 - accuracy: 0.8092\n    Epoch 60/100\n    47/47 [==============================] - 0s 2ms/step - loss: 0.5492 - accuracy: 0.8022\n    Epoch 61/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5258 - accuracy: 0.8082\n    Epoch 62/100\n    47/47 [==============================] - 0s 2ms/step - loss: 0.5350 - accuracy: 0.8146\n    Epoch 63/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5460 - accuracy: 0.8085\n    Epoch 64/100\n    47/47 [==============================] - 0s 2ms/step - loss: 0.5123 - accuracy: 0.8173\n    Epoch 65/100\n    47/47 [==============================] - 0s 2ms/step - loss: 0.5300 - accuracy: 0.8119\n    Epoch 66/100\n    47/47 [==============================] - 0s 2ms/step - loss: 0.5278 - accuracy: 0.8102\n    Epoch 67/100\n    47/47 [==============================] - 0s 2ms/step - loss: 0.5291 - accuracy: 0.8116\n    Epoch 68/100\n    47/47 [==============================] - 0s 2ms/step - loss: 0.5385 - accuracy: 0.8210\n    Epoch 69/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4963 - accuracy: 0.8230\n    Epoch 70/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5398 - accuracy: 0.8052\n    Epoch 71/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5465 - accuracy: 0.8116\n    Epoch 72/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5415 - accuracy: 0.8082\n    Epoch 73/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5221 - accuracy: 0.8136\n    Epoch 74/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5398 - accuracy: 0.8079\n    Epoch 75/100\n    47/47 [==============================] - 0s 2ms/step - loss: 0.4747 - accuracy: 0.8274\n    Epoch 76/100\n    47/47 [==============================] - 0s 2ms/step - loss: 0.5321 - accuracy: 0.8079\n    Epoch 77/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4785 - accuracy: 0.8324\n    Epoch 78/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5028 - accuracy: 0.8136\n    Epoch 79/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5272 - accuracy: 0.8166\n    Epoch 80/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4766 - accuracy: 0.8321\n    Epoch 81/100\n    47/47 [==============================] - 0s 999us/step - loss: 0.5462 - accuracy: 0.8136\n    Epoch 82/100\n    47/47 [==============================] - 0s 891us/step - loss: 0.4726 - accuracy: 0.8271\n    Epoch 83/100\n    47/47 [==============================] - 0s 934us/step - loss: 0.5114 - accuracy: 0.8183\n    Epoch 84/100\n    47/47 [==============================] - 0s 978us/step - loss: 0.4994 - accuracy: 0.8254\n    Epoch 85/100\n    47/47 [==============================] - 0s 978us/step - loss: 0.4902 - accuracy: 0.8311\n    Epoch 86/100\n    47/47 [==============================] - 0s 999us/step - loss: 0.5145 - accuracy: 0.8200\n    Epoch 87/100\n    47/47 [==============================] - 0s 978us/step - loss: 0.4885 - accuracy: 0.8294\n    Epoch 88/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4887 - accuracy: 0.8220\n    Epoch 89/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5066 - accuracy: 0.8294\n    Epoch 90/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4869 - accuracy: 0.8240\n    Epoch 91/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4511 - accuracy: 0.8331\n    Epoch 92/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5053 - accuracy: 0.8200\n    Epoch 93/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.5083 - accuracy: 0.8297\n    Epoch 94/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4995 - accuracy: 0.8193\n    Epoch 95/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4999 - accuracy: 0.8247\n    Epoch 96/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4994 - accuracy: 0.8163\n    Epoch 97/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4966 - accuracy: 0.8234\n    Epoch 98/100\n    47/47 [==============================] - 0s 956us/step - loss: 0.4639 - accuracy: 0.8297\n    Epoch 99/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4956 - accuracy: 0.8260\n    Epoch 100/100\n    47/47 [==============================] - 0s 1ms/step - loss: 0.4795 - accuracy: 0.8318\n    ------------------------------------------------------------------------\n    Training for fold 6 ...\n    Epoch 1/100\n   ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblankscreen-exe%2Fdata-mining-lab","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fblankscreen-exe%2Fdata-mining-lab","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblankscreen-exe%2Fdata-mining-lab/lists"}