This project aims to develop machine learning models for prostate cancer predictions in Africa.
# Prostate Cancer Machine Learning Model
A modular Python package for developing and evaluating supervised machine learning models for prostate cancer prediction using clinical and molecular biomarkers.
The package was developed as part of a PhD research project investigating molecular markers for prostate cancer in African men. It implements a reproducible machine learning workflow including data preprocessing, nested cross-validation, hyperparameter tuning, model evaluation, explainable artificial intelligence (XAI), visualization, and result export.
---
## Features
* Modular and object-oriented architecture
* Clinical, molecular, and combined feature modelling
* Nested stratified cross-validation
* Hyperparameter optimization using GridSearchCV
* Bootstrap confidence intervals for ROC AUC
* Comprehensive performance metrics
* ROC and calibration curve visualization
* Explainability using SHAP
* Permutation and tree-based feature importance
* Export of predictions and evaluation metrics
* Easily extensible for additional datasets and models
---
## Machine Learning Models
The package currently supports:
* Logistic Regression
* Decision Tree
* Random Forest
* Extra Trees
* Support Vector Machine (SVM)
* Extreme Gradient Boosting (XGBoost)
---
## Project Structure
```text
Prostate-Cancer-ML-model/
│
├── data/
│ └── ROCdata2.xlsx
│
├── src/
│ ├── __init__.py
│ ├── bootstrap.py
│ ├── config.py
│ ├── dataset.py
│ ├── explainer.py
│ ├── exporter.py
│ ├── metrics.py
│ ├── models.py
│ ├── nested_cv.py
│ ├── pipeline.py
│ ├── preprocess.py
│ ├── utils.py
│ └── visualization.py
│
├── main.py
├── requirements.txt
├── README.md
└── LICENSE
```
---
## Installation
Clone the repository:
```bash
git clone
github.com
```
Move into the project directory:
```bash
cd Prostate-Cancer-ML-model
```
Install the required packages:
```bash
pip install -r requirements.txt
```
---
## Required …