Week 10–11: Supervised Learning: Classification (Days 58-70)
Introduction
Supervised classification is easy to learn in fragments: one notebook for decision trees, another for random forests, a third for fraud with SMOTE, then KNN and SVM in isolation. Each lesson works. None of them answer the question backend engineers actually face: how do these algorithms live together behind one API, one evaluation contract, and one product surface?
Week 10–11: Supervised Learning — Classification (Days 58–70) closes that gap. Eight core lesson days (trees through SVM) are ported into a self-contained Python package, wrapped by a classical ML engine that composes real workflows—fraud training, model comparison, registry persistence—and exposed through a dual-layer FastAPI backend plus an optional React dashboard.
Days 66–70 remain review and practice in the broader curriculum; the integrated runtime focuses on Days 58–65 as the executable foundation. Original
day58/–day65/folders in the parent repo stay read-only references. The integrated project is what you ship, test, and extend.This article explains the system shape: what each concept contributes, where it lives in code, and how to build the same architecture yourself.
System Overview
The integrated project (week_10_11_aiml_integrated_project) uses four cooperating layers:
LayerResponsibilityDomain modulesPorted lesson code (day58_* … day65_*)—trees, forests, fraud, KNN, SVMComposition engineclassical_ml_engine—unified metrics, fraud pipeline, lab compare, model registryAPI layerFastAPI on port 8000—learning routes + product routesProduct UIReact (Vite) on port 3000—Fraud Center, Model Comparison Lab, curriculum dashboard
Dual API surfaces:
Learning (
/api/v1/week1011/dayNN/...) — call one day’s logic in isolation for teaching and debugging.Product (
/api/v1/risk/...) — composed workflows that mirror how a risk or analytics service would behave.
Dependency rule: classical_ml_engine imports day modules and thin JSON wrappers in week1011_apis.py. Day modules never import the engine. That keeps lessons portable and prevents circular coupling.
week_10_11_aiml_integrated_project/
├── packages/week1011_python/src/week1011_python/
│ ├── day58_decision_trees_scratch.py
│ ├── day59_decision_trees_sklearn.py
│ ├── day60_random_forests.py
│ ├── day61_fraud_detection.py
│ ├── day62_knn_scratch.py
│ ├── day63_knn_sklearn.py
│ ├── day64_svm_scratch.py
│ ├── day65_svm_sklearn.py
│ ├── week1011_apis.py
│ └── classical_ml_engine/
├── backend/app/ # FastAPI routes, schemas, middleware
├── frontend/src/ # React pages + API client
├── tests/
└── scripts/ # setup.sh, start.sh, stop.shArchitecture Diagram
Github Link:
https://github.com/sysdr/aiml-p/tree/main/week_10_11_aiml_integrated_project



