01 Overview
The problem
Machine learning is rarely “train a model and report the score”. Real data is messy, features are weak, and without rigorous validation results are misleading.
How do we move from messy raw data to a trustworthy, explainable and reproducible machine learning solution?
Raw data → EDA → Cleaning → Feature engineering → Model selection → Validation → Insight
CA1 — Exploration & preprocessing
Univariate and multivariate EDA, missing-value strategies, type conversion and date parsing, outlier detection and distribution analysis. What is in the data, and what must be fixed?
CA2 — Features & baselines
Feature creation and transformation, interactions, categorical encoding and pipeline-style preprocessing, compared against logistic regression and tree baselines with cross-validation.
CA3 — Tuning & evaluation
Grid and randomised search, validation and learning curves, ROC AUC, precision/recall and confusion matrices, bias–variance analysis and hold-out testing. Is the model real, or fitting noise?
CA4 — Pipelines & ensembles
Ensemble methods, full scikit-learn pipelines, feature importance and model persistence with joblib — structure that is reproducible and deployment-ready.
CA5 — End-to-end case study
Everything combined: problem definition, preparation, feature engineering, model selection, final evaluation and clear recommendations.
What I learned
- Data quality beats model complexity
- Feature engineering changes outcomes
- Validation is non-negotiable
- Reproducibility is professionalism
- Communication is part of the solution
Tech stack
- Python
- pandas
- NumPy
- scikit-learn
- Matplotlib
- Seaborn
- joblib
- Jupyter
Metrics
- 5 – Coursework assignments
- EDA → Deploy – Full lifecycle
- CV – Cross-validated selection
- ROC AUC – Metric-driven evaluation