# mohammedghennai/spam-emails-classification-approaches architecture

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

- Interactive diagram: https://gitdiagram.com/mohammedghennai/spam-emails-classification-approaches
- Repository: https://github.com/mohammedghennai/spam-emails-classification-approaches

## Overview

This repository is a collection of notebook-based approaches to spam email classification. A user’s broad workflow is to explore a notebook implementing an approach; filenames identify several model families, but the README does not describe notebook execution, data flow, or how the CSV files are used. With no source excerpts, those relationships are left unspecified.

Main entry points: [`LSTM_1.ipynb`](https://github.com/mohammedghennai/spam-emails-classification-approaches/blob/main/LSTM_1.ipynb) (LSTM experiment), [`RiadLSTM.ipynb`](https://github.com/mohammedghennai/spam-emails-classification-approaches/blob/main/RiadLSTM.ipynb) (Riad LSTM), [`mail_spam_RNN.ipynb`](https://github.com/mohammedghennai/spam-emails-classification-approaches/blob/main/mail_spam_RNN.ipynb) (Mail spam RNN), [`XGboost_implementation.ipynb`](https://github.com/mohammedghennai/spam-emails-classification-approaches/blob/main/XGboost_implementation.ipynb) (XGBoost approach)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_recurrent["Recurrent models"]
  node_lstm1["LSTM experiment<br/>[LSTM_1.ipynb]"]
  node_riad_lstm["Riad LSTM<br/>[RiadLSTM.ipynb]"]
  node_mail_rnn["Mail spam RNN"]
end

subgraph group_other_models["Other approaches"]
  node_xgboost["XGBoost approach"]
  node_bert["BERT classification"]
  node_riad_models["Riad models<br/>[RiadModels.ipynb]"]
  node_spam_classifier["Spam ham classifier"]
end

subgraph group_data["CSV files"]
  node_spam_dataset["Spam ham dataset"]
  node_other_csv["Additional CSV<br/>[xx.csv]"]
end

node_user(("Explorer"))

node_user -->|"explores"| node_lstm1
node_user -->|"explores"| node_riad_lstm
node_user -->|"explores"| node_mail_rnn
node_user -->|"explores"| node_xgboost
node_user -->|"explores"| node_bert
node_user -->|"explores"| node_riad_models
node_user -->|"explores"| node_spam_classifier

click node_lstm1 "https://github.com/mohammedghennai/spam-emails-classification-approaches/blob/main/LSTM_1.ipynb"
click node_riad_lstm "https://github.com/mohammedghennai/spam-emails-classification-approaches/blob/main/RiadLSTM.ipynb"
click node_mail_rnn "https://github.com/mohammedghennai/spam-emails-classification-approaches/blob/main/mail_spam_RNN.ipynb"
click node_xgboost "https://github.com/mohammedghennai/spam-emails-classification-approaches/blob/main/XGboost_implementation.ipynb"
click node_bert "https://github.com/mohammedghennai/spam-emails-classification-approaches/blob/main/bert_nlp_classification.ipynb"
click node_riad_models "https://github.com/mohammedghennai/spam-emails-classification-approaches/blob/main/RiadModels.ipynb"
click node_spam_classifier "https://github.com/mohammedghennai/spam-emails-classification-approaches/blob/main/spam-mail-classifier.ipynb"
click node_spam_dataset "https://github.com/mohammedghennai/spam-emails-classification-approaches/blob/main/spam_ham_dataset.csv"
click node_other_csv "https://github.com/mohammedghennai/spam-emails-classification-approaches/blob/main/xx.csv"

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_lstm1,node_riad_lstm,node_mail_rnn toneBlue
class node_xgboost,node_bert,node_riad_models,node_spam_classifier toneAmber
class node_spam_dataset,node_other_csv toneMint
class node_user toneIndigo
```

## Components

### Recurrent models

- [LSTM experiment](https://github.com/mohammedghennai/spam-emails-classification-approaches/blob/main/LSTM_1.ipynb): `LSTM_1.ipynb`
- [Riad LSTM](https://github.com/mohammedghennai/spam-emails-classification-approaches/blob/main/RiadLSTM.ipynb): `RiadLSTM.ipynb`
- [Mail spam RNN](https://github.com/mohammedghennai/spam-emails-classification-approaches/blob/main/mail_spam_RNN.ipynb): `mail_spam_RNN.ipynb`

### Other approaches

- [XGBoost approach](https://github.com/mohammedghennai/spam-emails-classification-approaches/blob/main/XGboost_implementation.ipynb): `XGboost_implementation.ipynb`
- [BERT classification](https://github.com/mohammedghennai/spam-emails-classification-approaches/blob/main/bert_nlp_classification.ipynb): `bert_nlp_classification.ipynb`
- [Riad models](https://github.com/mohammedghennai/spam-emails-classification-approaches/blob/main/RiadModels.ipynb): `RiadModels.ipynb`
- [Spam ham classifier](https://github.com/mohammedghennai/spam-emails-classification-approaches/blob/main/spam-mail-classifier.ipynb): `spam-mail-classifier.ipynb`

### CSV files

- [Spam ham dataset](https://github.com/mohammedghennai/spam-emails-classification-approaches/blob/main/spam_ham_dataset.csv): `spam_ham_dataset.csv`
- [Additional CSV](https://github.com/mohammedghennai/spam-emails-classification-approaches/blob/main/xx.csv): `xx.csv`

### Other components

- **Explorer**

## Connections

- Explorer → LSTM experiment: explores (evidence: `README.md`)
- Explorer → Riad LSTM: explores (evidence: `README.md`)
- Explorer → Mail spam RNN: explores (evidence: `README.md`)
- Explorer → XGBoost approach: explores (evidence: `README.md`)
- Explorer → BERT classification: explores (evidence: `README.md`)
- Explorer → Riad models: explores (evidence: `README.md`)
- Explorer → Spam ham classifier: explores (evidence: `README.md`)
