{"id":22385187,"url":"https://github.com/jasontanx/deep-learning-bank-deposit","last_synced_at":"2026-06-29T18:01:55.401Z","repository":{"id":164059103,"uuid":"597753028","full_name":"jasontanx/deep-learning-bank-deposit","owner":"jasontanx","description":"A bank deposit prediction (deep learning) project from my MSc Data Science course","archived":false,"fork":false,"pushed_at":"2023-02-07T14:51:19.000Z","size":1265,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-01T02:19:54.410Z","etag":null,"topics":["bank-marketing","data-science","deep-learning"],"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/jasontanx.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":"2023-02-05T14:41:58.000Z","updated_at":"2023-02-05T15:10:31.000Z","dependencies_parsed_at":"2023-07-15T06:02:31.071Z","dependency_job_id":null,"html_url":"https://github.com/jasontanx/deep-learning-bank-deposit","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/jasontanx%2Fdeep-learning-bank-deposit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jasontanx%2Fdeep-learning-bank-deposit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jasontanx%2Fdeep-learning-bank-deposit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jasontanx%2Fdeep-learning-bank-deposit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jasontanx","download_url":"https://codeload.github.com/jasontanx/deep-learning-bank-deposit/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245728745,"owners_count":20662745,"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":["bank-marketing","data-science","deep-learning"],"created_at":"2024-12-05T01:22:02.539Z","updated_at":"2026-06-29T18:01:50.363Z","avatar_url":"https://github.com/jasontanx.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# deep-learning-bank-deposit: Bank Marketing 🏦\n\nTopic: **Development of An Enhanced Deep Learning Model to Predict Client's Intention to Subscribe to the Bank's Term Deposit**\n\nNo | Dataset | Information\n--- | --- | --- \n1 | URL | https://www.kaggle.com/datasets/prakharrathi25/banking-dataset-marketing-targets?select=train.csv\n2 | Dataset Name | Portuguese Bank Direct Marketing \n3 | File Type | csv file\n4 | Observation | 45,211\n5 | Features | 17\n6 | Data label | “Yes” referred to bank clients successfully subscribing to the term deposit. “No” referred to bank clients that rejected the subscription.\n\n# Introduction\n## A brief overview into the project domain\n- Marketing functions have always been playing a central role in the financial industry, especially in the banking sector\n- Retail banks often used direct marketing as a telemarketing strategy to contact potential customers and sell their products\n- Crucial for retail banks to ensure that they are targeting groups with a high chance of success\n\n## What more could be done?\n- Data analysis. Understand the consumers needs and preferences!\n- Leverage on deep learning techniques to make better predictions\n\n## What is the problem statement of the project?\n- Retail banks urgently need a reliable and accurate machine learning model as a competitive advantage to help them predict customer intention to subscribe to term deposits\n- Offerings of financial products like providing “term deposits” slightly vary from the other retail banks. In other words, every bank offerings are almost identical)\n\n## Aims \u0026 Objectives (What do I aim to achive?) 🌟\n**The Aims**\n- The overall aim of this project is to enhance retail banks’ marketing effectiveness and reduce marketing costs through the development of a reliable deep learning machine learning model to accurately predict bank clients’ possibilities in subscribing to bank term deposit. \n\n**The Objectives**\n- To identify features that play a major role in affecting the bank clients’ intention to subscribe to the bank term deposit. \n- To develop a reliable deep learning technique and predict bank clients’ intention to subscribe to a financial product - bank term deposit.\n- To evaluate the performance of the deep learning models with the evaluation metrics benchmarked by past studies.\n\n# Initial Data Exploration \u0026 Exploratory Data Analysis (EDA)\n- Finding out the following: \n  - What is the data shape? \n  - Are there any missing values? \n  - How many categorical / numerical variables are there?\n  - What is the dependent variable, how's the distribution? \n  - Are there any class imbalance issue? \n  - and many more...!\n- EDA --\u003e Univariate Analysis \u0026 Bivariate Analysis\n\n# Data Pre-Processing\n![git_5_dl_pre-process](https://user-images.githubusercontent.com/116934441/216932602-7027758a-9ba6-4247-b911-c63c1e620f30.png)\n\n- Correlation Analysis\n- Label Encoding\n- One Hot Encoding\n  - [Label vs. One-Hot Encoding Short Explaination on Kaggle](https://www.kaggle.com/getting-started/187540)\n- Data Partitioning\n- Class Re-Sampling\n- Data Normalisation\n- Feature Selection\n\n# Modelling\n## Models Developed\n- 1 Baseline Model\n- 4 ANN Model\n- 2 RNN Model\n- 1 LSTM Model\n\n## Proposed Deep Learning Model Flowchart \n![git_7_ann_flow_dl](https://user-images.githubusercontent.com/116934441/217275836-c7187894-b789-437c-b155-70ea8a8b35bc.png)\n\n## Hyperparameters Involved\n- Learning Rate ✅\n- Epoch ✅\n- Dropout ✅\n- Batch Size ✅\n\n# Performance Evaluation\n![git_6_perform_eval)dl](https://user-images.githubusercontent.com/116934441/216936051-bd8b7058-385c-460f-baaa-5db28bd8267f.png)\n\n## Critical Analysis\n- Among all the models developed, the highest accuracy of 90.29% ✅ was achieved by model 4 \n- Class imbalance issue was resolved with the application of the SMOTE technique\n  - [What is SMOTE technique?](https://towardsdatascience.com/smote-fdce2f605729)\n- Some evaluation metrics carry more weight as compared to others\n- Focus of the retail bank should be on correctly predicting the bank clients that would subscribe to the deposits \n- Hence, high sensitivity or TPR will be much more important\n  - Banks prefer to correctly predict clients that would most likely purchase their term deposits\n  - Banks stand to lose out more in terms of the sales opportunity if highly potential clients are missed out by the model \n  - On the other hand, banks could afford to wrongly identifying not interested clients as highly likely to purchase\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjasontanx%2Fdeep-learning-bank-deposit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjasontanx%2Fdeep-learning-bank-deposit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjasontanx%2Fdeep-learning-bank-deposit/lists"}