# mohammedghennai/rfc_based_resume_classifier architecture

> Architecture diagram of the GitHub repository mohammedghennai/rfc_based_resume_classifier, 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/rfc_based_resume_classifier
- Repository: https://github.com/mohammedghennai/rfc_based_resume_classifier

## Overview

This notebook project classifies resume text into job categories. The documented workflow loads resume data, preprocesses and cleans text, explores category and word distributions, trains a Random Forest with grid search, and evaluates it with classification metrics. All implemented stages map to the single notebook; no source excerpts were available, so relationships below rely only on the README and do not imply uninspected implementation details.

Main entry points: [`rfc_based_resume_classifier.ipynb`](https://github.com/mohammedghennai/rfc_based_resume_classifier/blob/main/rfc_based_resume_classifier.ipynb) (Load data)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_data["Resume data"]
  node_loading["Load data"]
  node_preprocess["Text preprocessing"]
  node_cleaning["Data cleaning"]
end

subgraph group_analysis["Data exploration"]
  node_eda["Exploratory analysis"]
end

subgraph group_modeling["Classification"]
  node_training["Random Forest training"]
  node_tuning["Grid search"]
  node_evaluation["Model evaluation"]
  node_metrics["Classification metrics"]
end

node_user(("Analyst"))
node_dataset[("Resume dataset")]

node_user -->|"runs analysis"| node_loading
node_dataset -->|"loads resumes"| node_loading
node_loading -->|"prepares text"| node_preprocess
node_loading -->|"analyzes data"| node_eda
node_preprocess -->|"cleans text"| node_cleaning
node_cleaning -->|"trains on text"| node_training
node_training -->|"tunes parameters"| node_tuning
node_training -->|"evaluates model"| node_evaluation
node_evaluation -->|"reports metrics"| node_metrics

click node_loading "https://github.com/mohammedghennai/rfc_based_resume_classifier/blob/main/rfc_based_resume_classifier.ipynb"
click node_preprocess "https://github.com/mohammedghennai/rfc_based_resume_classifier/blob/main/rfc_based_resume_classifier.ipynb"
click node_cleaning "https://github.com/mohammedghennai/rfc_based_resume_classifier/blob/main/rfc_based_resume_classifier.ipynb"
click node_eda "https://github.com/mohammedghennai/rfc_based_resume_classifier/blob/main/rfc_based_resume_classifier.ipynb"
click node_training "https://github.com/mohammedghennai/rfc_based_resume_classifier/blob/main/rfc_based_resume_classifier.ipynb"
click node_tuning "https://github.com/mohammedghennai/rfc_based_resume_classifier/blob/main/rfc_based_resume_classifier.ipynb"
click node_evaluation "https://github.com/mohammedghennai/rfc_based_resume_classifier/blob/main/rfc_based_resume_classifier.ipynb"
click node_metrics "https://github.com/mohammedghennai/rfc_based_resume_classifier/blob/main/rfc_based_resume_classifier.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_loading,node_preprocess,node_cleaning toneBlue
class node_eda,node_dataset toneAmber
class node_training,node_tuning,node_evaluation,node_metrics toneMint
class node_user toneIndigo
```

## Components

### Resume data

- [Load data](https://github.com/mohammedghennai/rfc_based_resume_classifier/blob/main/rfc_based_resume_classifier.ipynb): `rfc_based_resume_classifier.ipynb`
- [Text preprocessing](https://github.com/mohammedghennai/rfc_based_resume_classifier/blob/main/rfc_based_resume_classifier.ipynb): `rfc_based_resume_classifier.ipynb`
- [Data cleaning](https://github.com/mohammedghennai/rfc_based_resume_classifier/blob/main/rfc_based_resume_classifier.ipynb): `rfc_based_resume_classifier.ipynb`

### Data exploration

- [Exploratory analysis](https://github.com/mohammedghennai/rfc_based_resume_classifier/blob/main/rfc_based_resume_classifier.ipynb): `rfc_based_resume_classifier.ipynb`

### Classification

- [Random Forest training](https://github.com/mohammedghennai/rfc_based_resume_classifier/blob/main/rfc_based_resume_classifier.ipynb): `rfc_based_resume_classifier.ipynb`
- [Grid search](https://github.com/mohammedghennai/rfc_based_resume_classifier/blob/main/rfc_based_resume_classifier.ipynb): `rfc_based_resume_classifier.ipynb`
- [Model evaluation](https://github.com/mohammedghennai/rfc_based_resume_classifier/blob/main/rfc_based_resume_classifier.ipynb): `rfc_based_resume_classifier.ipynb`
- [Classification metrics](https://github.com/mohammedghennai/rfc_based_resume_classifier/blob/main/rfc_based_resume_classifier.ipynb): `rfc_based_resume_classifier.ipynb`

### Other components

- **Analyst**
- **Resume dataset**

## Connections

- Analyst → Load data: runs analysis (evidence: `README.md`)
- Resume dataset → Load data: loads resumes (evidence: `README.md`)
- Load data → Text preprocessing: prepares text (evidence: `README.md`)
- Load data → Exploratory analysis: analyzes data (evidence: `README.md`)
- Text preprocessing → Data cleaning: cleans text (evidence: `README.md`)
- Data cleaning → Random Forest training: trains on text (evidence: `README.md`)
- Random Forest training → Grid search: tunes parameters (evidence: `README.md`)
- Random Forest training → Model evaluation: evaluates model (evidence: `README.md`)
- Model evaluation → Classification metrics: reports metrics (evidence: `README.md`)
