open to opportunities · abuja, nigeria

Adejare
Adelugba.

ML Engineer & Data Scientist

I build machine-learning systems for messy, real-world data — and I document what didn't work.

// SYSTEM FLOW ARCHITECTURE interactive nodes
DATA
MODELS
SYSTEMS
RESULTS
// the thesis, in twelve lines
cancer_fusion.py — pytorch
class CancerFusionModel(nn.Module):
    """Mammogram + clinical record → diagnosis."""
    def __init__(self):
        super().__init__()
        self.img  = MedCLIP(frozen=True)
        self.tab  = TabNet(clinical_dim=23)
        self.head = nn.Linear(512 + 64, 2)

    def forward(self, x_img, x_tab):
        z = torch.cat([self.img(x_img),
                       self.tab(x_tab)], dim=1)
        return self.head(z)  # early fusion
[ SELECTED WORK ]

Case studies.

// three builds with architecture pipelines & receipts
// medical-imaging · multimodal fusion

Multimodal Breast Cancer Detection

Early fusion of MedCLIP mammogram embeddings with TabNet clinical record features — beating single-modality baselines on real, imbalanced clinical data.

MODEL PIPELINE ARCHITECTURE hover nodes for technical specs
Input A Ultrasound
Medical imaging scan input preprocessed & normalized for encoder.
Encoder MedCLIP
Frozen domain-specific vision encoder extracting 512-dim visual embeddings.
Encoder TabNet
Learns sparse 64-dim tabular feature representations from patient records.
Fusion Concat Head
Concatenates [512d + 64d] representation into single joint classifier head.
87.1% roc_auc
accuracy: 82.7%
pytorch · medclip · tabnet · early fusion read case & honest section →
// data-infrastructure · automation

Nigeria Electoral Data Infrastructure

Resilient nationwide polling unit extraction pipeline spanning all 36 states, validated with 99.9% consistency against official records.

ETL DATA PIPELINE resilient collection & validation
Sources 36 States
Portals across all 36 states containing raw polling unit PDF forms & HTML tables.
Scraper Selenium
Headless browser pool with automatic retries, proxy rotation, and session recovery.
Clean Validation
Deduplication scripts, vote tally integrity checks, and schema enforcement.
Store PostgreSQL
Indexed relational database holding over 500,000 clean, structured records.
500K+ records collected
99.9% accuracy vs official
python · selenium · postgresql · pandas read case →
// computer-vision · model-benchmark

Brain Tumor Classification Benchmark

Comparative research evaluating Vision Transformer (ViT) against DINOv2 self-supervised foundation representations with Grad-CAM interpretability inspection.

DINOv2 (Self-Supervised ViT) ★ 93.8%
Standard Vision Transformer (ViT) 91.4%
GRAD-CAM INSPECTION DINOv2 demonstrated superior tumor boundary localization without focusing on background scan artifacts.
vit · dinov2 · pytorch · grad-cam read case →
[ RESEARCH NOTEBOOK ]

Experiment Lab.

// documenting what didn't work — engineering dead ends
EXP_LOG_01 // MULTIMODAL FUSION FAILED: LATE FUSION

Late Fusion (Logit Averaging) capped early

Averaging per-modality logit probabilities underperformed early fusion by ~4 AUC points because image and clinical modalities could not interact during representation learning.

EXP_LOG_02 // FOUNDATION MODELS FAILED: FULL UNFREEZE OVERFIT

Unfreezing all MedCLIP weights diverged validation loss

A small medical dataset quickly ruined pretrained representation spaces when fine-tuned end-to-end. Freezing the MedCLIP encoder produced stable, superior generalization.

EXP_LOG_03 // METRICS & LOSS SHIPPED: CLASS-WEIGHTED ROC-AUC

Accuracy lied under heavy class imbalance

Initial models predicted the majority class ('benign') for almost all cases, showing high accuracy but zero clinical utility. Shifted model selection strictly to ROC-AUC and weighted loss.

[ WHAT I WORK WITH ]

Capabilities.

// verified tools & technologies
// ml-ai
pytorch scikit-learn cnns & vits dinov2 medclip tabnet grad-cam
// data-engineering
postgresql selenium pandas etl pipelines data validation
// automation
python scripting fastapi docker scheduled jobs
// tools
git & github linux jupyter mlflow
SYSTEM_STACK
├── PyTorch // Deep learning, Vision Transformers, Early Fusion
├── PostgreSQL & Selenium // Scraping engine, relational storage, 500k+ records
├── FastAPI & Docker // Service deployment & containerized execution
└── Linux & Python // Automation scripts & scheduled background processing