# himanshu-97-cloud/cancer-risk-prediction-ml architecture

> Architecture diagram of the GitHub repository himanshu-97-cloud/cancer-risk-prediction-ml, 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/himanshu-97-cloud/cancer-risk-prediction-ml
- Repository: https://github.com/himanshu-97-cloud/cancer-risk-prediction-ml

## Overview

This repository is a notebook-based machine-learning project for predicting cancer risk from patient health and lifestyle data. Its documented workflow runs from dataset exploration and cleaning through feature scaling, model comparison, imbalance handling, tuning, and final model selection. The README identifies RandomOverSampler, GridSearchCV, and AdaBoost as the best pipeline and reports final metrics. The notebook source was not sampled, so stage-level links follow the documented workflow rather than verified code calls.

Main entry points: [`notebook/Cancer_Risk_Prediction.ipynb`](https://github.com/himanshu-97-cloud/cancer-risk-prediction-ml/blob/main/notebook/Cancer_Risk_Prediction.ipynb) (Imbalance methods), [`data/cancer_dataset.csv`](https://github.com/himanshu-97-cloud/cancer-risk-prediction-ml/blob/main/data/cancer_dataset.csv) (Cancer dataset)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_prep["Data preparation"]
  node_dataset[("Cancer dataset<br/>[cancer_dataset.csv]")]
  node_eda["Exploratory analysis"]
  node_cleaning["Data cleaning"]
  node_scaling["Feature scaling"]
end

subgraph group_experiments["Model experiments"]
  node_comparison["Model comparison"]
  node_models["12 classifiers"]
  node_imbalance["Imbalance methods"]
  node_smote["SMOTE"]
  node_random_over["RandomOverSampler"]
  node_adasyn["ADASYN"]
end

subgraph group_selection["Selection and results"]
  node_tuning["GridSearchCV tuning"]
  node_adaboost["AdaBoost selection"]
  node_metrics["Final metrics"]
end

node_analyst(("Analyst"))

node_analyst -->|"runs notebook"| node_eda
node_dataset -->|"provides data"| node_eda
node_eda -->|"informs"| node_cleaning
node_cleaning -->|"prepares data"| node_scaling
node_scaling -->|"feeds"| node_comparison
node_comparison -->|"evaluates"| node_models
node_comparison -->|"compares"| node_imbalance
node_imbalance -->|"includes"| node_smote
node_imbalance -->|"includes"| node_random_over
node_imbalance -->|"includes"| node_adasyn
node_random_over -->|"best technique"| node_tuning
node_tuning -->|"selects"| node_adaboost
node_adaboost -->|"yields"| node_metrics

click node_dataset "https://github.com/himanshu-97-cloud/cancer-risk-prediction-ml/blob/main/data/cancer_dataset.csv"
click node_eda "https://github.com/himanshu-97-cloud/cancer-risk-prediction-ml/blob/main/notebook/Cancer_Risk_Prediction.ipynb"
click node_cleaning "https://github.com/himanshu-97-cloud/cancer-risk-prediction-ml/blob/main/notebook/Cancer_Risk_Prediction.ipynb"
click node_scaling "https://github.com/himanshu-97-cloud/cancer-risk-prediction-ml/blob/main/notebook/Cancer_Risk_Prediction.ipynb"
click node_comparison "https://github.com/himanshu-97-cloud/cancer-risk-prediction-ml/blob/main/notebook/Cancer_Risk_Prediction.ipynb"
click node_models "https://github.com/himanshu-97-cloud/cancer-risk-prediction-ml/blob/main/notebook/Cancer_Risk_Prediction.ipynb"
click node_imbalance "https://github.com/himanshu-97-cloud/cancer-risk-prediction-ml/blob/main/notebook/Cancer_Risk_Prediction.ipynb"
click node_smote "https://github.com/himanshu-97-cloud/cancer-risk-prediction-ml/blob/main/notebook/Cancer_Risk_Prediction.ipynb"
click node_random_over "https://github.com/himanshu-97-cloud/cancer-risk-prediction-ml/blob/main/notebook/Cancer_Risk_Prediction.ipynb"
click node_adasyn "https://github.com/himanshu-97-cloud/cancer-risk-prediction-ml/blob/main/notebook/Cancer_Risk_Prediction.ipynb"
click node_tuning "https://github.com/himanshu-97-cloud/cancer-risk-prediction-ml/blob/main/notebook/Cancer_Risk_Prediction.ipynb"
click node_adaboost "https://github.com/himanshu-97-cloud/cancer-risk-prediction-ml/blob/main/notebook/Cancer_Risk_Prediction.ipynb"
click node_metrics "https://github.com/himanshu-97-cloud/cancer-risk-prediction-ml/blob/main/notebook/Cancer_Risk_Prediction.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_dataset,node_eda,node_cleaning,node_scaling toneBlue
class node_comparison,node_models,node_imbalance,node_smote,node_random_over,node_adasyn toneAmber
class node_tuning,node_adaboost,node_metrics toneMint
class node_analyst toneIndigo
```

## Components

### Data preparation

- [Cancer dataset](https://github.com/himanshu-97-cloud/cancer-risk-prediction-ml/blob/main/data/cancer_dataset.csv): `data/cancer_dataset.csv`
- [Exploratory analysis](https://github.com/himanshu-97-cloud/cancer-risk-prediction-ml/blob/main/notebook/Cancer_Risk_Prediction.ipynb): `notebook/Cancer_Risk_Prediction.ipynb`
- [Data cleaning](https://github.com/himanshu-97-cloud/cancer-risk-prediction-ml/blob/main/notebook/Cancer_Risk_Prediction.ipynb): `notebook/Cancer_Risk_Prediction.ipynb`
- [Feature scaling](https://github.com/himanshu-97-cloud/cancer-risk-prediction-ml/blob/main/notebook/Cancer_Risk_Prediction.ipynb): `notebook/Cancer_Risk_Prediction.ipynb`

### Model experiments

- [Model comparison](https://github.com/himanshu-97-cloud/cancer-risk-prediction-ml/blob/main/notebook/Cancer_Risk_Prediction.ipynb): `notebook/Cancer_Risk_Prediction.ipynb`
- [12 classifiers](https://github.com/himanshu-97-cloud/cancer-risk-prediction-ml/blob/main/notebook/Cancer_Risk_Prediction.ipynb): `notebook/Cancer_Risk_Prediction.ipynb`
- [Imbalance methods](https://github.com/himanshu-97-cloud/cancer-risk-prediction-ml/blob/main/notebook/Cancer_Risk_Prediction.ipynb): `notebook/Cancer_Risk_Prediction.ipynb`
- [SMOTE](https://github.com/himanshu-97-cloud/cancer-risk-prediction-ml/blob/main/notebook/Cancer_Risk_Prediction.ipynb): `notebook/Cancer_Risk_Prediction.ipynb`
- [RandomOverSampler](https://github.com/himanshu-97-cloud/cancer-risk-prediction-ml/blob/main/notebook/Cancer_Risk_Prediction.ipynb): `notebook/Cancer_Risk_Prediction.ipynb`
- [ADASYN](https://github.com/himanshu-97-cloud/cancer-risk-prediction-ml/blob/main/notebook/Cancer_Risk_Prediction.ipynb): `notebook/Cancer_Risk_Prediction.ipynb`

### Selection and results

- [GridSearchCV tuning](https://github.com/himanshu-97-cloud/cancer-risk-prediction-ml/blob/main/notebook/Cancer_Risk_Prediction.ipynb): `notebook/Cancer_Risk_Prediction.ipynb`
- [AdaBoost selection](https://github.com/himanshu-97-cloud/cancer-risk-prediction-ml/blob/main/notebook/Cancer_Risk_Prediction.ipynb): `notebook/Cancer_Risk_Prediction.ipynb`
- [Final metrics](https://github.com/himanshu-97-cloud/cancer-risk-prediction-ml/blob/main/notebook/Cancer_Risk_Prediction.ipynb): `notebook/Cancer_Risk_Prediction.ipynb`

### Other components

- **Analyst**

## Connections

- Analyst → Exploratory analysis: runs notebook
- Cancer dataset → Exploratory analysis: provides data
- Exploratory analysis → Data cleaning: informs
- Data cleaning → Feature scaling: prepares data
- Feature scaling → Model comparison: feeds
- Model comparison → 12 classifiers: evaluates
- Model comparison → Imbalance methods: compares
- Imbalance methods → SMOTE: includes
- Imbalance methods → RandomOverSampler: includes
- Imbalance methods → ADASYN: includes
- RandomOverSampler → GridSearchCV tuning: best technique
- GridSearchCV tuning → AdaBoost selection: selects
- AdaBoost selection → Final metrics: yields
