# mohtadaayesha/bank-marketing architecture

> Architecture diagram of the GitHub repository mohtadaayesha/bank-marketing, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-25). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/mohtadaayesha/bank-marketing
- Repository: https://github.com/mohtadaayesha/bank-marketing

## Overview

This repository is a notebook-based bank-marketing classification project. Its principal workflow takes the documented Bank Marketing dataset through inspection, exploration, target preparation and stratified splitting; preprocesses features and trains a class-balanced Logistic Regression model; then evaluates and interprets the model and demonstrates a new-customer prediction. The README documents these stages, but no notebook source excerpts were available, so the graph reflects documented relationships rather than verified implementation details.

Main entry points: [`Bank_Marketing.ipynb`](https://github.com/mohtadaayesha/bank-marketing/blob/main/Bank_Marketing.ipynb) (Feature preprocessing)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_explore["Data exploration"]
  node_inspect["Inspect and quality-check"]
  node_eda["Explore features and target"]
end

subgraph group_prepare["Data preparation"]
  node_encode["Encode subscription target"]
  node_split["Stratified data splits"]
  node_preprocess["Feature preprocessing"]
  node_impute["Impute missing values"]
  node_numeric["Scale numerical features"]
  node_categorical["Encode categorical features"]
end

subgraph group_model["Modeling"]
  node_train["Train balanced Logistic Regression"]
  node_predict["Predict subscription"]
end

subgraph group_results["Results and prediction"]
  node_evaluate["Evaluate test predictions"]
  node_interpret["Interpret coefficients"]
  node_newprediction["New-customer prediction"]
end

node_dataset["Bank Marketing data"]
node_customer(("New customer"))
node_subscription["Yes / no result"]

node_dataset -->|"loads for checks"| node_inspect
node_dataset -->|"explored in notebook"| node_eda
node_dataset -->|"provides target"| node_encode
node_encode -->|"precedes splitting"| node_split
node_split -->|"provides feature sets"| node_preprocess
node_preprocess -->|"applies transformations"| node_impute
node_preprocess -->|"applies transformations"| node_numeric
node_preprocess -->|"applies transformations"| node_categorical
node_preprocess -->|"pipelines with"| node_train
node_train -->|"fits model for"| node_predict
node_predict -->|"supplies test outputs"| node_evaluate
node_train -->|"provides coefficients"| node_interpret
node_customer -->|"provides features"| node_newprediction
node_newprediction -->|"uses trained pipeline"| node_predict
node_newprediction -->|"returns prediction"| node_subscription

click node_inspect "https://github.com/mohtadaayesha/bank-marketing/blob/main/Bank_Marketing.ipynb"
click node_eda "https://github.com/mohtadaayesha/bank-marketing/blob/main/Bank_Marketing.ipynb"
click node_encode "https://github.com/mohtadaayesha/bank-marketing/blob/main/Bank_Marketing.ipynb"
click node_split "https://github.com/mohtadaayesha/bank-marketing/blob/main/Bank_Marketing.ipynb"
click node_preprocess "https://github.com/mohtadaayesha/bank-marketing/blob/main/Bank_Marketing.ipynb"
click node_impute "https://github.com/mohtadaayesha/bank-marketing/blob/main/Bank_Marketing.ipynb"
click node_numeric "https://github.com/mohtadaayesha/bank-marketing/blob/main/Bank_Marketing.ipynb"
click node_categorical "https://github.com/mohtadaayesha/bank-marketing/blob/main/Bank_Marketing.ipynb"
click node_train "https://github.com/mohtadaayesha/bank-marketing/blob/main/Bank_Marketing.ipynb"
click node_predict "https://github.com/mohtadaayesha/bank-marketing/blob/main/Bank_Marketing.ipynb"
click node_evaluate "https://github.com/mohtadaayesha/bank-marketing/blob/main/Bank_Marketing.ipynb"
click node_interpret "https://github.com/mohtadaayesha/bank-marketing/blob/main/Bank_Marketing.ipynb"
click node_newprediction "https://github.com/mohtadaayesha/bank-marketing/blob/main/Bank_Marketing.ipynb"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_inspect,node_eda toneBlue
class node_encode,node_split,node_preprocess,node_impute,node_numeric,node_categorical toneAmber
class node_train,node_predict toneMint
class node_evaluate,node_interpret,node_newprediction toneRose
class node_dataset,node_customer,node_subscription toneIndigo
```

## Components

### Data exploration

- [Inspect and quality-check](https://github.com/mohtadaayesha/bank-marketing/blob/main/Bank_Marketing.ipynb): `Bank_Marketing.ipynb`
- [Explore features and target](https://github.com/mohtadaayesha/bank-marketing/blob/main/Bank_Marketing.ipynb): `Bank_Marketing.ipynb`

### Data preparation

- [Encode subscription target](https://github.com/mohtadaayesha/bank-marketing/blob/main/Bank_Marketing.ipynb): `Bank_Marketing.ipynb`
- [Stratified data splits](https://github.com/mohtadaayesha/bank-marketing/blob/main/Bank_Marketing.ipynb): `Bank_Marketing.ipynb`
- [Feature preprocessing](https://github.com/mohtadaayesha/bank-marketing/blob/main/Bank_Marketing.ipynb): `Bank_Marketing.ipynb`
- [Impute missing values](https://github.com/mohtadaayesha/bank-marketing/blob/main/Bank_Marketing.ipynb): `Bank_Marketing.ipynb`
- [Scale numerical features](https://github.com/mohtadaayesha/bank-marketing/blob/main/Bank_Marketing.ipynb): `Bank_Marketing.ipynb`
- [Encode categorical features](https://github.com/mohtadaayesha/bank-marketing/blob/main/Bank_Marketing.ipynb): `Bank_Marketing.ipynb`

### Modeling

- [Train balanced Logistic Regression](https://github.com/mohtadaayesha/bank-marketing/blob/main/Bank_Marketing.ipynb): `Bank_Marketing.ipynb`
- [Predict subscription](https://github.com/mohtadaayesha/bank-marketing/blob/main/Bank_Marketing.ipynb): `Bank_Marketing.ipynb`

### Results and prediction

- [Evaluate test predictions](https://github.com/mohtadaayesha/bank-marketing/blob/main/Bank_Marketing.ipynb): `Bank_Marketing.ipynb`
- [Interpret coefficients](https://github.com/mohtadaayesha/bank-marketing/blob/main/Bank_Marketing.ipynb): `Bank_Marketing.ipynb`
- [New-customer prediction](https://github.com/mohtadaayesha/bank-marketing/blob/main/Bank_Marketing.ipynb): `Bank_Marketing.ipynb`

### Other components

- **Bank Marketing data**
- **New customer**
- **Yes / no result**

## Connections

- Bank Marketing data → Inspect and quality-check: loads for checks
- Bank Marketing data → Explore features and target: explored in notebook
- Bank Marketing data → Encode subscription target: provides target
- Encode subscription target → Stratified data splits: precedes splitting
- Stratified data splits → Feature preprocessing: provides feature sets
- Feature preprocessing → Impute missing values: applies transformations
- Feature preprocessing → Scale numerical features: applies transformations
- Feature preprocessing → Encode categorical features: applies transformations
- Feature preprocessing → Train balanced Logistic Regression: pipelines with
- Train balanced Logistic Regression → Predict subscription: fits model for
- Predict subscription → Evaluate test predictions: supplies test outputs
- Train balanced Logistic Regression → Interpret coefficients: provides coefficients
- New customer → New-customer prediction: provides features
- New-customer prediction → Predict subscription: uses trained pipeline
- New-customer prediction → Yes / no result: returns prediction
